diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05c218ce8..2ec2ac7fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,10 @@ name: CI on: push: pull_request: - types: [opened, synchronize, reopened] + types: + - opened + - synchronize + - reopened env: COMPOSER_MEMORY_LIMIT: -1 @@ -15,17 +18,12 @@ jobs: runs-on: 'ubuntu-20.04' strategy: fail-fast: false + matrix: - php-versions: ['8.1'] - drupal-release: ['stable'] - composer-channel: ['stable'] - include: - - php-versions: '8.1' - drupal-release: dev - composer-channel: stable - - php-versions: '8.1' - drupal-release: stable - composer-channel: snapshot + php-versions: ['8.1', '8.2', '8.3'] + drupal-release: ['stable', 'dev'] + composer-channel: ['stable', 'snapshot'] + steps: - name: Dump matrix context env: @@ -41,10 +39,10 @@ jobs: php-version: ${{ matrix.php-versions }} extensions: gd, pdo_sqlite - - name: Update composer + - name: Update Composer run: composer --verbose self-update --${{ matrix.composer-channel }} - - name: Dump composer version + - name: Show Composer version run: composer --version - name: Validate composer.json @@ -53,24 +51,25 @@ jobs: - name: Install dependencies run: composer --verbose install - - 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 - - - if: matrix.drupal-release == 'dev' - run: composer --verbose update + # @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 - - run: ./vendor/bin/drush site-install --verbose --yes --db-url=sqlite://tmp/site.sqlite + - 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 - - run: ./vendor/bin/drush runserver $SIMPLETEST_BASE_URL & + - name: Install site + run: ./vendor/bin/drush site-install --verbose --yes --db-url=sqlite://tmp/site.sqlite - - run: until curl -s $SIMPLETEST_BASE_URL; do true; done > /dev/null + - name: Start server + run: | + ./vendor/bin/drush runserver "$SIMPLETEST_BASE_URL" & + until curl -s "$SIMPLETEST_BASE_URL"; do true; done > /dev/null - # https://www.drupal.org/project/drupal/issues/3182653 - # https://www.drupal.org/node/3176567 - - if: ${{ matrix.php-versions == '8.1' }} - run: composer require phpspec/prophecy-phpunit:^2 - - - name: Run a single unit test to verify the testing setup. + - 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 - - - run: ./vendor/bin/drush