Skip to content

Make the entity cache tags test compatible with PHPUnit 10 #18014

Make the entity cache tags test compatible with PHPUnit 10

Make the entity cache tags test compatible with PHPUnit 10 #18014

Workflow file for this run

name: CI
on:
pull_request: ~
permissions: read-all
defaults:
run:
# Simulate an interactive terminal with color support
shell: script -q -e -c "export TERM=xterm; bash {0}"
jobs:
rector:
name: Rector
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install Rector
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/rector
- name: Run Rector
run: vendor-bin/rector/vendor/bin/rector --dry-run --no-progress-bar
ecs:
name: ECS
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install ECS
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/ecs
- name: Run ECS
run: vendor-bin/ecs/vendor/bin/ecs check --no-progress-bar
ecs-legacy:
name: ECS legacy
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install ECS
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/ecs
- name: Run ECS
run: |
vendor-bin/ecs/vendor/bin/ecs check --config vendor-bin/ecs/config/legacy.php --no-progress-bar
vendor-bin/ecs/vendor/bin/ecs check --config vendor-bin/ecs/config/template.php --no-progress-bar
phpstan:
name: PHPStan
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install PHPStan
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/phpstan
- name: Run PHPStan
run: vendor-bin/phpstan/vendor/bin/phpstan analyse --no-progress
yamllint:
name: YAMLlint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Run YAMLlint
run: yamllint --format=github .
service-linter:
name: Service linter
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install the service linter
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/service-linter
- name: Run the service linter
run: vendor-bin/service-linter/bin/lint-service-ids
depcheck:
name: Depcheck
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install depcheck
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/depcheck
- name: Check for unknown symbols (contao/contao)
run: vendor-bin/depcheck/vendor/bin/composer-dependency-analyser --config=depcheck.php
- name: Install the core bundle
uses: ramsey/composer-install@v3
with:
working-directory: core-bundle
- name: Check for unknown symbols (contao/core-bundle)
run: vendor-bin/depcheck/vendor/bin/composer-dependency-analyser --config=depcheck.php --composer-json=core-bundle/composer.json
tests:
name: PHP ${{ matrix.php }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [8.1, 8.2, 8.3]
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Initialize the database
run: |
sudo /etc/init.d/mysql start
mysql -uroot -proot -e "CREATE database contao_test"
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Run the unit tests
run: vendor/bin/phpunit
- name: Run the functional tests with PDO MySQL
run: vendor/bin/phpunit --testsuite=functional
env:
DATABASE_URL: mysql://root:root@127.0.0.1:3306/contao_test
- name: Run the functional tests with MySQLi
run: vendor/bin/phpunit --testsuite=functional
env:
DATABASE_URL: mysqli://root:root@127.0.0.1:3306/contao_test
reverse:
name: Reverse order
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Run the unit tests in reverse order
run: vendor/bin/phpunit --order-by=reverse --extensions Contao\\CoreBundle\\Tests\\PhpunitExtension\\GlobalStateWatcher
nightly:
name: PHP 8.4
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4 # current nightly version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Initialize the database
run: |
sudo /etc/init.d/mysql start
mysql -uroot -proot -e "CREATE database contao_test"
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
with:
composer-options: --ignore-platform-req=php+
- name: Run the unit tests
run: vendor/bin/phpunit
- name: Run the functional tests
run: vendor/bin/phpunit --testsuite=functional
env:
DATABASE_URL: mysql://root:root@127.0.0.1:3306/contao_test
prefer-lowest:
name: Prefer lowest
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1 # lowest supported version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Initialize the database
run: |
sudo /etc/init.d/mysql start
mysql -uroot -proot -e "CREATE database contao_test"
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
with:
dependency-versions: lowest
- name: Run the unit tests
run: vendor/bin/phpunit
- name: Run the functional tests with PDO MySQL
run: vendor/bin/phpunit --testsuite=functional
env:
DATABASE_URL: mysql://root:root@127.0.0.1:3306/contao_test
- name: Run the functional tests with MySQLi
run: vendor/bin/phpunit --testsuite=functional
env:
DATABASE_URL: mysqli://root:root@127.0.0.1:3306/contao_test
bundles:
name: Bundles
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: dom, fileinfo, filter, gd, hash, intl, json, mbstring, mysqli, pcre, pdo_mysql, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Test the single bundles
run: |
bundles=(calendar-bundle comments-bundle core-bundle faq-bundle maker-bundle manager-bundle news-bundle newsletter-bundle)
for bundle in "${bundles[@]}"; do
cd $bundle
php -r '
$data = json_decode(file_get_contents(__DIR__."/composer.json"), true);
if ("contao/core-bundle" !== $data["name"]) {
$data["repositories"][0]["type"] = "path";
$data["repositories"][0]["url"] = "../core-bundle";
}
if ("contao/news-bundle" !== $data["name"]) {
$data["repositories"][1]["type"] = "path";
$data["repositories"][1]["url"] = "../news-bundle";
}
if ("contao/test-case" !== $data["name"]) {
$data["repositories"][2]["type"] = "path";
$data["repositories"][2]["url"] = "../test-case";
}
file_put_contents(__DIR__."/composer.json", json_encode($data, JSON_UNESCAPED_SLASHES));
'
composer install --no-interaction --no-progress
vendor/bin/phpunit
cd ..
done
monorepo-check:
name: Monorepo check
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3 # latest stable version
extensions: json, zlib
coverage: none
- name: Checkout
uses: actions/checkout@v4
with:
show-progress: false
- name: Install Contao
uses: ramsey/composer-install@v3
- name: Install the monorepo tools
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/monorepo-tools
- name: Validate the composer.json files
run: vendor-bin/monorepo-tools/vendor/bin/monorepo-tools composer-json --validate