Merge pull request #325 from spryker-sdk/feature/frw-8801/master-adde… #1245
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
validation: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: [ | |
'8.1', | |
'8.2', | |
'8.3' | |
] | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: mbstring, intl | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Composer validate | |
run: composer validate | |
- name: Composer get cache directory | |
id: composer-cache | |
run: | | |
echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Composer cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Composer install | |
run: | | |
composer --version | |
if [[ ${{ matrix.php-version }} == '8.2' || ${{ matrix.php-version }} == '8.3' ]]; then | |
composer update laminas/laminas-servicemanager laminas/laminas-stdlib laminas/laminas-filter --prefer-stable --optimize-autoloader | |
else | |
composer install --prefer-dist --no-interaction --optimize-autoloader | |
fi | |
- name: PHPStan checks | |
run: composer stan | |
- name: CodeStyle checks | |
run: composer cs-check | |
- name: Run tests | |
run: | | |
if [[ ${{ matrix.php-version }} == '8.1' ]]; then | |
XDEBUG_MODE=coverage vendor/bin/phpunit tests/ --coverage-clover coverage.xml | |
else | |
composer tests | |
fi | |
- name: Code Coverage Report | |
if: success() && matrix.php-version == '8.1' | |
uses: codecov/codecov-action@v1 | |
automerge: | |
runs-on: ubuntu-latest | |
if: ${{ success() && github.event_name == 'pull_request' }} | |
needs: [ validation ] | |
steps: | |
# https://github.com/marketplace/actions/list-files-in-pull-request | |
- uses: ankitjain28may/list-files-in-pr@v1.0 | |
id: list-files | |
with: | |
githubToken: ${{ secrets.PAT }} | |
outputFormat: 'space-delimited' | |
# https://github.com/marketplace/actions/merge-pull-requests-automerge-action | |
- id: automerge | |
if: ${{ steps.list-files.outputs.pullRequestFiles == 'composer.lock' }} | |
name: automerge | |
uses: "pascalgn/automerge-action@v0.15.6" | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
MERGE_LABELS: "composer dependencies" | |
MERGE_METHOD: "squash" | |
MERGE_COMMIT_MESSAGE: "pull-request-title" | |
MERGE_FORKS: "false" | |
MERGE_RETRIES: "3" | |
MERGE_RETRY_SLEEP: "10000" | |
MERGE_REQUIRED_APPROVALS: "0" | |
UPDATE_LABELS: "" | |
UPDATE_METHOD: "merge" | |
PULL_REQUEST: ${{ github.event.pull_request.number }} |