Skip to content

[PAYSHIP-3149] PrestaShop 9 compatibility #7623

[PAYSHIP-3149] PrestaShop 9 compatibility

[PAYSHIP-3149] PrestaShop 9 compatibility #7623

Workflow file for this run

name: PHP tests
on:
push:
pull_request:
types: [opened, reopened, synchronize, edited]
jobs:
header-stamp:
name: Check license headers
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'ready to review')
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: composer:v2
- name: Cache vendor folder
uses: actions/cache@v1
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v1
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=.github,vendor,tests --dry-run
php-linter:
name: PHP Syntax check 8.1|8.2|8.3
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'ready to review')
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- 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
if: contains(github.event.pull_request.labels.*.name, 'ready to review')
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: composer:v2
- name: Cache composer folder
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run PHP-CS-Fixer
run: php vendor/bin/php-cs-fixer fix --dry-run --diff --using-cache=no
phpstan:
name: PHPStan
runs-on: ubuntu-latest
strategy:
matrix:
presta-versions: [ "9.0.x-apache" ]
if: contains(github.event.pull_request.labels.*.name, 'ready to review')
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: composer:v2
- name: Cache vendor folder
uses: actions/cache@v1
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Pull PrestaShop files (Tag ${{ matrix.presta-versions }})
run: docker run -tid --rm -v ps-volume:/var/www/html --name temp-ps prestashop/prestashop:${{ matrix.presta-versions }}
- name: Wait for PrestaShop to be ready
run: |
while ! docker exec temp-ps curl -sSf http://localhost > /dev/null; do
echo "Waiting for PrestaShop to be ready..."
sleep 10
done
- name: Run PHPStan
run: docker run --rm --volumes-from temp-ps -v $PWD:/var/www/html/modules/ps_checkout -e _PS_ROOT_DIR_=/var/www/html/ --workdir=/var/www/html/modules/ps_checkout ghcr.io/phpstan/phpstan:latest-php8.1 analyse --configuration=/var/www/html/modules/ps_checkout/tests/phpstan/phpstan.neon --error-format=github
phpunit:
name: PHPUnit
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'ready to review')
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
- name: Cache vendor folder
uses: actions/cache@v1
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer install
- name: Run PHPUnit
run: php vendor/bin/phpunit tests/Unit