Skip to content

Merge pull request #1841 from PoulainMaxime/feat/compat-v9 #9997

Merge pull request #1841 from PoulainMaxime/feat/compat-v9

Merge pull request #1841 from PoulainMaxime/feat/compat-v9 #9997

Workflow file for this run

name: PHP tests
on: [push, pull_request]
jobs:
php-linter:
name: PHP Syntax check 7.2|7.3|7.4
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
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache vendor folder
uses: actions/cache@v3
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run PHP-CS-Fixer
run: vendor/bin/php-cs-fixer fix --dry-run
phpstan:
name: PHPStan
runs-on: ubuntu-latest
strategy:
matrix:
prestashop_version: [
"8.0.0",
"1.7.7.0",
"1.7.5.0",
]
steps:
- name: Download PrestaShop code source
run: |
wget -O /tmp/prestashop.zip https://github.com/PrestaShop/PrestaShop/releases/download/${{ matrix.prestashop_version }}/prestashop_${{ matrix.prestashop_version }}.zip
unzip -o /tmp/prestashop.zip -d /tmp
unzip -o /tmp/prestashop.zip -d /tmp/prestashop
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Checkout
uses: actions/checkout@v4
- name: Cache vendor folder
uses: actions/cache@v3
with:
path: vendor
key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run PHPStan
env:
_PS_ROOT_DIR_: /tmp/prestashop
run: vendor/bin/phpstan analyze -c tests/phpstan/phpstan.neon --error-format github
phpunit:
name: PHPUnit
strategy:
matrix:
version: [7.2, 7.4, 8.1]
runs-on: ubuntu-latest
steps:
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.version }}
- name: Checkout
uses: actions/checkout@v4
- name: Cache vendor folder
uses: actions/cache@v3
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run PHPUnit
run: php vendor/bin/phpunit tests/unit
header-stamp:
name: Check license headers
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
- name: Cache vendor folder
uses: actions/cache@v3
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run Header Stamp in Dry Run mode
run: php vendor/bin/header-stamp --license=vendor/prestashop/header-stamp/assets/afl.txt --exclude=vendor,tests,_dev --dry-run