Fix CI for PHP and PS versions #11266
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 tests | |
on: [pull_request] | |
jobs: | |
php-linter: | |
name: PHP Syntax check 8.1 => 8.3 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: PHP syntax checker 8.1 | |
uses: prestashop/github-action-php-lint/8.1@master | |
- name: PHP syntax checker 8.2 | |
uses: prestashop/github-action-php-lint/8.2@master | |
- name: PHP syntax checker 8.3 | |
uses: prestashop/github-action-php-lint/8.3@master | |
php-cs-fixer: | |
name: PHP-CS-Fixer | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Validate composer config | |
run: composer validate --strict | |
- name: Composer Install | |
run: COMPOSER_PROCESS_TIMEOUT=600 composer install --ansi --prefer-dist --no-interaction --no-progress | |
- name: Run PHPCSFixer | |
run: ./vendor/bin/php-cs-fixer fix --dry-run --diff | |
phpstan: | |
name: PHPStan | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
presta-versions: ['9.0.x'] | |
steps: | |
- name: Pull PrestaShop files (Tag ${{ matrix.presta-versions }}) | |
env: | |
DISABLE_MAKE: 1 | |
run: docker run -tid --rm -v ps-volume:/var/www/html -v $PWD:/web/module --name temp-ps prestashop/prestashop:${{ matrix.presta-versions }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache vendor folder | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: php-${{ hashFiles('composer.lock') }} | |
- name: Cache composer folder | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache | |
key: php-composer-cache | |
- run: composer install | |
- name: Wait for container to be loaded | |
run: | | |
until docker exec temp-ps ls /var/www/html/vendor/autoload.php 2> /dev/null; do | |
echo Waiting for docker initialization... | |
sleep 5 | |
done | |
- name : Run PHPStan | |
run: | | |
docker exec -e _PS_ROOT_DIR_=/var/www/html --workdir=/web/module temp-ps php /var/www/html/vendor/bin/phpstan analyse -c /web/module/tests/phpstan/phpstan-${{ matrix.presta-versions }}.neon --error-format=github | |
phpunit: | |
name: PHPUnit ${{ matrix.presta-versions }} | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
presta-versions: ['9.0.x'] | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Add vendor folder in cache to make next builds faster | |
- name: Cache vendor folder | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: php-${{ hashFiles('composer.lock') }} | |
# Add composer local folder in cache to make next builds faster | |
- name: Cache composer folder | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache | |
key: php-composer-cache | |
- run: composer install | |
- run: | | |
./tests/phpunit.sh ${{ matrix.presta-versions }} |