diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94d084e8..93da6155 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,42 +14,48 @@ jobs: fail-fast: false matrix: php-version: [ - '7.4', - '8.2', + '7.4', + '8.2', ] steps: - - name: Checkout - uses: actions/checkout@v2 + - 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: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + extensions: mbstring, intl, pdo_mysql - - name: Validate composer.json and composer.lock - run: composer validate + - name: Validate composer.json and composer.lock + run: composer validate - - name: Get Composer Cache Directory - id: composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" + - 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 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 install --prefer-dist --no-interaction --optimize-autoloader + - name: Composer install + run: | + composer --version + if [[ ${{ matrix.php-version }} == '8.2' ]]; 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: Check PHP for syntax errors - run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) + - name: Check PHP for syntax errors + run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) - - name: PHPStan checks - run: composer stan + - name: PHPStan checks + run: composer stan cs-check: runs-on: ubuntu-20.04 @@ -83,7 +89,13 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Composer install - run: composer install --prefer-dist --no-interaction --optimize-autoloader + run: | + composer --version + if [[ ${{ matrix.php-version }} == '8.2' ]]; 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: CodeStyle checks run: composer cs-check @@ -98,38 +110,38 @@ jobs: ] steps: - - name: Checkout - uses: actions/checkout@v2 + - 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: 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: 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 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 require spryker-sdk/composer-prefer-lowest package - run: composer require --dev spryker-sdk/composer-prefer-lowest + - name: Composer require spryker-sdk/composer-prefer-lowest package + run: composer require --dev spryker-sdk/composer-prefer-lowest - - name: Composer prefer-lowest - run: composer update --prefer-dist --no-interaction --prefer-lowest --prefer-stable -o + - name: Composer prefer-lowest + run: composer update --prefer-dist --no-interaction --prefer-lowest --prefer-stable -o - - name: Check PHP for syntax errors - run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) + - name: Check PHP for syntax errors + run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) - - name: Validate prefer lowest - run: vendor/bin/validate-prefer-lowest -m + - name: Validate prefer lowest + run: vendor/bin/validate-prefer-lowest -m tests: runs-on: ubuntu-20.04 @@ -137,45 +149,51 @@ jobs: fail-fast: false matrix: php-version: [ - '7.4', - '8.2', + '7.4', + '8.2', ] 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: Validate composer.json and composer.lock - run: composer validate - - - 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 install - run: composer install --prefer-dist --no-interaction --optimize-autoloader - - - name: Run tests - run: | - if [[ ${{ matrix.php-version }} == '7.4' ]]; then - XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover coverage.xml - else - composer test - fi - - - name: Code Coverage Report - if: success() && matrix.php-version == '7.4' - uses: codecov/codecov-action@v1 + - 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: Validate composer.json and composer.lock + run: composer validate + + - 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 install + run: | + composer --version + if [[ ${{ matrix.php-version }} == '8.2' ]]; 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: Run tests + run: | + if [[ ${{ matrix.php-version }} == '7.4' ]]; then + XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover coverage.xml + else + composer test + fi + + - name: Code Coverage Report + if: success() && matrix.php-version == '7.4' + uses: codecov/codecov-action@v1