Make the entity cache tags test compatible with PHPUnit 10 #18013
Workflow file for this run
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: CI | |
on: | |
pull_request: ~ | |
permissions: read-all | |
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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin rector install --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin ecs install --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin ecs install --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin phpstan install --no-interaction --no-progress | |
- 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@v3 | |
- name: Run YAMLlint | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install --upgrade setuptools wheel | |
python3 -m pip install --upgrade yamllint | |
/home/runner/.local/bin/yamllint . | |
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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin service-linter install --no-interaction --no-progress | |
- 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@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer -dcore-bundle install --no-interaction --no-progress | |
composer bin depcheck install --no-interaction --no-progress | |
- name: Check for unknown symbols (contao/contao) | |
run: vendor-bin/depcheck/vendor/bin/composer-dependency-analyser --config=depcheck.php | |
- 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@v3 | |
- name: Install the dependencies | |
run: composer install --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: composer install --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: composer install --ignore-platform-req=php+ --no-interaction --no-progress | |
- 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@v3 | |
- name: Install the dependencies | |
run: composer update --prefer-lowest --prefer-stable --no-interaction --no-progress | |
- 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@v3 | |
- 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@v3 | |
- name: Install the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
composer bin monorepo-tools install --no-interaction --no-progress | |
- name: Validate the composer.json files | |
run: vendor-bin/monorepo-tools/vendor/bin/monorepo-tools composer-json --validate |