Skip to content

Commit

Permalink
Update CI workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
DmytroKlymanSpryker committed Dec 12, 2023
1 parent c421b0f commit 6cb4ffa
Showing 1 changed file with 111 additions and 93 deletions.
204 changes: 111 additions & 93 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -98,84 +110,90 @@ 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
strategy:
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

0 comments on commit 6cb4ffa

Please sign in to comment.