Merge pull request #35496 from SharakPL/fix-docker-db #14
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: API Module tests | |
on: | |
push: | |
pull_request: | |
permissions: | |
contents: read # to clone the repos and get release assets (shivammathur/setup-php) | |
concurrency: | |
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
integration: | |
permissions: | |
contents: read # to clone the repos and get release assets (shivammathur/setup-php) | |
name: API Module tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php: [ '8.1', '8.2', '8.3' ] | |
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 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup MySQL | |
uses: mirromutth/[email protected] | |
with: | |
mysql version: '8.0' | |
mysql database: 'prestashop' | |
mysql root password: 'password' | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '16' | |
- uses: actions/checkout@v4 | |
- name: PrestaShop Configuration | |
run: | | |
cp .github/workflows/phpunit/parameters.yml app/config/parameters.yml | |
cp .github/workflows/phpunit/parameters.php app/config/parameters.php | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Node Directory | |
uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: ${{ runner.os }}-node- | |
- name: Cache Composer Directory | |
uses: actions/cache@v4 | |
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 | |
# Front assets are needed for the theme to be installed and image types to be inserted in DB, admin assets required especially in Symfony layout | |
# because some built files (like preload.html.twig) are included and cause errors when absent | |
- name: Build all assets | |
run: make assets | |
- name: Change MySQL authentication method | |
run: mysql -h127.0.0.1 -uroot -ppassword -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;" | |
- name: Run integration-tests | |
run: composer run-script api-module-tests --timeout=0 | |
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 |