Render the Contao login page even if the current route is not a Contao page #18093
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 | |
defaults: | |
run: | |
# Simulate an interactive terminal with color support | |
shell: script -q -e -c "export TERM=xterm; bash {0}" | |
jobs: | |
ecs: | |
name: ECS | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.1 | |
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: tools/ecs | |
- name: Run ECS | |
run: tools/ecs/vendor/bin/ecs check *-bundle/bin *-bundle/src *-bundle/tests tools/*/src --config tools/ecs/config/default.php --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.1 | |
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: tools/ecs | |
- name: Run ECS | |
run: | | |
tools/ecs/vendor/bin/ecs check *-bundle/src/Resources/contao --config tools/ecs/config/legacy.php --no-progress-bar | |
tools/ecs/vendor/bin/ecs check *-bundle/src/Resources/contao/templates --config tools/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.1 | |
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: tools/phpstan | |
- name: Run PHPStan | |
run: tools/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.1 | |
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: tools/service-linter | |
- name: Run the service linter | |
run: tools/service-linter/bin/lint-service-ids | |
require-checker: | |
name: Require checker | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.1 | |
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 the dependencies | |
run: | | |
composer install --no-interaction --no-progress | |
php -r ' | |
$data = json_decode(file_get_contents(__DIR__."/core-bundle/composer.json"), true); | |
$data["repositories"][0]["type"] = "path"; | |
$data["repositories"][0]["url"] = "../installation-bundle"; | |
$data["repositories"][1]["type"] = "path"; | |
$data["repositories"][1]["url"] = "../test-case"; | |
file_put_contents(__DIR__."/core-bundle/composer.json", json_encode($data, JSON_UNESCAPED_SLASHES)); | |
' | |
composer -dcore-bundle install --no-interaction --no-progress | |
composer bin require-checker install --no-interaction --no-progress | |
- name: Check for unknown symbols (contao/contao) | |
run: tools/require-checker/vendor/bin/composer-require-checker check --config-file=tools/require-checker/config.json composer.json | |
- name: Check for unknown symbols (contao/core-bundle) | |
run: tools/require-checker/vendor/bin/composer-require-checker check --config-file=tools/require-checker/config.json core-bundle/composer.json | |
tests: | |
name: PHP ${{ matrix.php }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: [7.4, 8.0, 8.1, 8.2] | |
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.1 | |
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.3 | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.3 | |
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: 7.4 | |
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.1 | |
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 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/installation-bundle" !== $data["name"]) { | |
$data["repositories"][1]["type"] = "path"; | |
$data["repositories"][1]["url"] = "../installation-bundle"; | |
} | |
if ("contao/news-bundle" !== $data["name"]) { | |
$data["repositories"][2]["type"] = "path"; | |
$data["repositories"][2]["url"] = "../news-bundle"; | |
} | |
if ("contao/test-case" !== $data["name"]) { | |
$data["repositories"][3]["type"] = "path"; | |
$data["repositories"][3]["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 | |
dependencies: | |
name: Dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.1 | |
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: tools/monorepo | |
- name: Validate the composer.json files | |
run: tools/monorepo/vendor/bin/monorepo-tools composer-json --validate |