Skip to content

v2.1

v2.1 #99

Workflow file for this run

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 }}