Do not check for feature, add fallback #1618
Workflow file for this run
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: PHP | |
on: | |
push: | |
pull_request: | |
# Do not run when only tests are updated | |
paths-ignore: | |
- 'tests/UI/**' | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
php-cs-fixer: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
name: PHP CS Fixer | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.0 | |
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@v3 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer Directory | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Validate composer config | |
run: composer validate --strict | |
- name: Composer Install | |
run: composer install --ansi --prefer-dist --no-interaction --no-progress | |
- name: Run PHPCSFixer | |
run: ./vendor/bin/php-cs-fixer fix --dry-run --diff | |
- name: Run ergebnis/composer-normalize | |
run: composer normalize --dry-run --no-check-lock | |
phpstan: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
name: PHP Static Analysis | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php: [ '7.2', '7.3', '7.4', '8.0', '8.1' ] | |
fail-fast: false | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.0' | |
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv, simplexml | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@v3 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer Directory | |
uses: actions/cache@v3 | |
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 --ansi --prefer-dist --no-interaction --no-progress | |
rm composer.lock | |
composer config platform.php ${{ matrix.php }} | |
- name: Run phpstan | |
run: ./vendor/bin/phpstan analyse -c phpstan.neon.dist | |
phpunit: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
name: PHPUnit | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php: [ '7.2', '7.3', '7.4', '8.0', '8.1' ] | |
fail-fast: false | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv, simplexml | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: actions/checkout@v3 | |
- name: PrestaShop Configuration | |
run: cp .github/workflows/phpunit/parameters.yml app/config/parameters.yml | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer Directory | |
uses: actions/cache@v3 | |
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 --ansi --prefer-dist --no-interaction --no-progress | |
- name: Update phpunit version | |
if: ${{ startsWith(matrix.php, '8.') }} | |
run: composer update -w --ignore-platform-reqs --no-interaction phpunit/phpunit | |
- name: Run phpunit | |
run: ./vendor/phpunit/phpunit/phpunit -c tests/Unit/phpunit.xml | |
env: | |
SYMFONY_DEPRECATIONS_HELPER: disabled | |
- name: Test git versionned files unchanged | |
if: ${{ !startsWith(matrix.php, '8.') }} # composer.lock changes when updating phpunit version | |
run: git diff --exit-code |