Added site information to CI. #143
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', 'beta', '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: Install dependencies | |
run: composer --verbose install | |
- name: Validate composer.json structure | |
run: composer normalize --dry-run | |
- name: Require bower-asset | |
run: | | |
test ! -d web/libraries/dropzone | |
composer require bower-asset/dropzone | |
test -d web/libraries/dropzone | |
# @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' || matrix.drupal-release == 'beta' | |
run: | | |
composer config minimum-stability ${{ matrix.drupal-release }} | |
composer config prefer-stable false | |
composer --verbose require --no-update drupal/core-composer-scaffold:^10@${{ matrix.drupal-release }} | |
composer --verbose require --no-update drupal/core-recommended:^10@${{ matrix.drupal-release }} | |
composer --verbose require --no-update --dev drupal/core-dev:^10@${{ matrix.drupal-release }} | |
composer --verbose update | |
- name: Install site | |
run: ./vendor/bin/drush site-install --verbose --yes --db-url=sqlite://tmp/site.sqlite | |
- name: Show site information | |
run: ./vendor/bin/drush status | |
- 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 | |
# Using outdated Composer version to test the Composer version constraint. | |
test-composer: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
extensions: gd, pdo_sqlite | |
tools: composer:v2.2 | |
- name: Show Composer version | |
run: composer --version | |
- name: Install dependencies | |
# This command should fail because of the Composer version constraint. | |
run: composer --verbose install && exit 1 || exit 0 |