Merge pull request #208 from leemyongpakva/github_action_v4 #477
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: [push, pull_request] | |
jobs: | |
# Check there is no syntax errors in the project | |
php-linter: | |
name: PHP Syntax check 7.2 => 8.2 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: PHP syntax checker 7.2 | |
uses: prestashop/github-action-php-lint/7.2@master | |
- name: PHP syntax checker 7.3 | |
uses: prestashop/github-action-php-lint/7.3@master | |
- name: PHP syntax checker 7.4 | |
uses: prestashop/github-action-php-lint/7.4@master | |
- name: PHP syntax checker 8.0 | |
uses: prestashop/github-action-php-lint/8.0@master | |
- 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 | |
# Check the PHP code follow the coding standards | |
php-cs-fixer: | |
name: PHP-CS-Fixer | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: php-${{ hashFiles('composer.lock') }} | |
- name: Install dependencies | |
run: composer install | |
- name: Run PHP-CS-Fixer | |
run: ./vendor/bin/php-cs-fixer fix --dry-run --diff --using-cache=no | |
# Run PHPStan against the module and a PrestaShop release | |
phpstan: | |
name: PHPStan | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
presta-versions: ['1.7.8', '8.0', 'latest'] | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
- 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 | |
# Docker images prestashop/prestashop may be used, even if the shop remains uninstalled | |
- name: Execute PHPStan on PrestaShop (Tag ${{ matrix.presta-versions }}) | |
run: ./tests/phpstan.sh ${{ matrix.presta-versions }} |