v2.1 #99
Workflow file for this run
This file contains hidden or 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] | |
| jobs: | |
| tests: | |
| name: YaEtl CI (PHP ${{ matrix.php-versions }} / console ${{ matrix.console-versions }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| php-versions: [ '8.4', '8.3', '8.2', '8.1', '8.0' ] | |
| console-versions: ['7.2', '7.1', '7.0', '6.4', '6.3', '6.2', '6.1', '6.0', '5.4', '5.3', '5.2', '5.1', '5.0'] | |
| exclude: | |
| - php-versions: 8.1 | |
| console-versions: 7.2 | |
| - php-versions: 8.1 | |
| console-versions: 7.1 | |
| - php-versions: 8.1 | |
| console-versions: 7.0 | |
| - php-versions: 8.0 | |
| console-versions: 7.2 | |
| - php-versions: 8.0 | |
| console-versions: 7.1 | |
| - php-versions: 8.0 | |
| console-versions: 7.0 | |
| - php-versions: 8.0 | |
| console-versions: 6.4 | |
| - php-versions: 8.0 | |
| console-versions: 6.3 | |
| - php-versions: 8.0 | |
| console-versions: 6.2 | |
| - php-versions: 8.0 | |
| console-versions: 6.1 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php-versions }} | |
| extensions: mbstring, dom, fileinfo, gmp, bcmath | |
| - name: Get composer cache directory | |
| id: composer-cache | |
| run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
| - name: Cache composer dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ steps.composer-cache.outputs.dir }} | |
| key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
| restore-keys: ${{ runner.os }}-composer- | |
| - name: Remove composer.lock | |
| run: rm -f composer.lock | |
| - name: Detect Orchestra compatibility with console ${{ matrix.console-versions }} | |
| id: orchestra-compat | |
| run: | | |
| if [[ " 8.0 8.1 " =~ " ${{ matrix.php-versions }} " ]]; then | |
| if [[ " 7.0 7.1 7.2 " =~ " ${{ matrix.console-versions }} " ]]; then | |
| echo 'compat=0' >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| fi | |
| if [[ " 8.3 8.4 " =~ " ${{ matrix.php-versions }} " ]]; then | |
| if [[ " 6.2 6.1 6.0 5.4 5.3 5.2 5.1 5.0 " =~ " ${{ matrix.console-versions }} " ]]; then | |
| echo 'compat=0' >> $GITHUB_OUTPUT | |
| exit 0 | |
| fi | |
| fi | |
| echo 'compat=1' >> $GITHUB_OUTPUT | |
| shell: bash | |
| - name: Remove Orchestra if incompatible with console ${{ matrix.console-versions }} | |
| run: composer remove "orchestra/testbench" --dev --no-update | |
| if: ${{ steps.orchestra-compat.outputs.compat == 0 }} | |
| - name: Remove php-cs-fixer dependency | |
| run: composer remove "friendsofphp/php-cs-fixer" --dev --no-update | |
| - name: Install Symfony console ${{ matrix.console-versions }} | |
| run: composer require "symfony/console:^${{ matrix.console-versions }}" --dev --no-update | |
| - name: Disable Composer audit | |
| run: composer config --global audit.block-insecure false | |
| - name: Install Composer dependencies | |
| run: composer install --no-progress --prefer-dist --optimize-autoloader | |
| env: | |
| COMPOSER_NO_AUDIT: 1 | |
| - name: Lib test with phpunit | |
| run: vendor/bin/phpunit --testsuite Lib | |
| - name: Laravel test with phpunit | |
| run: vendor/bin/phpunit --testsuite Laravel | |
| if: ${{ steps.orchestra-compat.outputs.compat == 1 }} | |