make sure we return what is expected to be in an array #12
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/mysql-action@v1.1 | |
with: | |
mysql version: '8.0' | |
mysql database: 'prestashop' | |
mysql root password: 'password' | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- 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_PROCESS_TIMEOUT=600 composer install --ansi --prefer-dist --no-interaction --no-progress | |
- name: Update phpunit version | |
if: ${{ startsWith(matrix.php, '8.') }} | |
run: COMPOSER_PROCESS_TIMEOUT=600 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 | |
# 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 |