[#653] Added Composer normalizer check to CI. #76
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: | |
push: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
env: | |
COMPOSER_MEMORY_LIMIT: -1 | |
SIMPLETEST_DB: sqlite://tmp/site.sqlite | |
SIMPLETEST_BASE_URL: "http://127.0.0.1:8080" | |
jobs: | |
build: | |
runs-on: 'ubuntu-20.04' | |
strategy: | |
fail-fast: false | |
matrix: | |
php-versions: ['8.1', '8.2'] | |
drupal-release: ['stable', 'dev'] | |
composer-channel: ['stable', 'snapshot'] | |
# Drupal 10.x-dev tests fail on PHP 8.3. | |
# @see https://www.drupal.org/project/drupal/issues/3375693 | |
include: | |
- php-versions: '8.3' | |
drupal-release: 'stable' | |
composer-channel: 'stable' | |
- php-versions: '8.3' | |
drupal-release: 'stable' | |
composer-channel: 'snapshot' | |
steps: | |
- name: Dump matrix context | |
env: | |
MATRIX_CONTEXT: ${{ toJSON(matrix) }} | |
run: echo "$MATRIX_CONTEXT" | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: gd, pdo_sqlite | |
- name: Update Composer | |
run: composer --verbose self-update --${{ matrix.composer-channel }} | |
- name: Show Composer version | |
run: composer --version | |
- name: Validate composer.json | |
run: composer --verbose validate | |
- name: Validate composer.json structure | |
run: composer normalize --dry-run | |
- name: Install dependencies | |
run: composer --verbose install | |
# @see https://www.drupal.org/node/3176567 | |
- name: Install testing dependency | |
if: ${{ matrix.php-versions == '8.1' }} | |
run: composer require --dev phpspec/prophecy-phpunit:^2 | |
- name: Override Drupal version to dev for testing dev releases | |
if: matrix.drupal-release == 'dev' | |
run: | | |
composer --verbose require --no-update drupal/core-recommended:10.0.x-dev | |
composer --verbose require --no-update --dev drupal/core-dev:10.0.x-dev | |
composer --verbose update | |
- name: Install site | |
run: ./vendor/bin/drush site-install --verbose --yes --db-url=sqlite://tmp/site.sqlite | |
- name: Start server | |
run: | | |
./vendor/bin/drush runserver "$SIMPLETEST_BASE_URL" & | |
until curl -s "$SIMPLETEST_BASE_URL"; do true; done > /dev/null | |
- name: Run a single unit test to verify the testing setup | |
run: ./vendor/bin/phpunit -c ./web/core ./web/core/modules/user/tests/src/Unit/UserAccessControlHandlerTest.php |