Feature/otel optimisation #51
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 | |
workflow_dispatch: | |
jobs: | |
validation: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: [ | |
'8.1', | |
'8.2' | |
] | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: mbstring, intl, pdo_mysql | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- 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 | |
composer install --optimize-autoloader | |
- name: Codeception tests | |
run: | | |
if [[ ${{ matrix.php-version }} == '8.1' ]]; then | |
vendor/bin/codecept build | |
XDEBUG_MODE=coverage vendor/bin/codecept run --coverage-xml | |
else | |
composer test | |
fi | |
- name: Code Coverage Report | |
if: success() && matrix.php-version == '8.1' | |
uses: codecov/codecov-action@v1 | |
- name: PHPStan checks | |
run: composer phpstan | |
- name: CodeStyle checks | |
run: composer cs-check | |
prefer-lowest: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: [ | |
'8.1' | |
] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: mbstring, intl, pdo_mysql | |
- name: Get Composer 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 prefer-lowest | |
run: composer update --prefer-dist --no-interaction --prefer-lowest --prefer-stable -o | |
- name: Codecept run test | |
run: composer test |