Skip to content

Force strict type.

Force strict type. #52

Workflow file for this run

name: Test
on:
push:
pull_request:
tags:
- '**'
branches:
- 1.x
jobs:
test:
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- name: test-php-8.1
php-version: 8.1
drupal-version: stable
- name: test-php-8.2
php-version: 8.2
drupal-version: stable
drupal-version-alias: stable
- name: test-php-8.1-legacy
php-version: 8.1
drupal-version: 9.5
drupal-project-sha: 9.x
drupal-version-alias: legacy
- name: test-php-8.2-legacy
php-version: 8.2
drupal-version: 9.5
drupal-project-sha: 9.x
drupal-version-alias: legacy
- name: test-php-8.2-next
php-version: 8.2
drupal-version: 10@beta
drupal-version-alias: next
name: ${{ matrix.name }}
env:
DRUPAL_VERSION: ${{ matrix.drupal-version }}
DRUPAL_PROJECT_SHA: ${{ matrix.drupal-project-sha }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: /tmp/composer-cache
key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
- name: Build the codebase
run: .devtools/build-codebase.sh
- name: Start built-in PHP server
run: .devtools/start-server.sh
- name: Provision site
run: .devtools/provision.sh
- name: Lint code with PHPCS
working-directory: build
run: vendor/bin/phpcs || [ "${CI_PHPCS_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Lint code with PHPStan
working-directory: build
run: vendor/bin/phpstan || [ "${CI_PHPSTAN_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Lint code with Rector
working-directory: build
run: vendor/bin/rector --clear-cache --dry-run || [ "${CI_RECTOR_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Lint code with PHPMD
working-directory: build
run: vendor/bin/phpmd . text phpmd.xml || [ "${CI_PHPMD_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Lint code with Twigcs
working-directory: build
run: vendor/bin/twigcs || [ "${CI_TWIGCS_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Run tests
run: .devtools/test.sh || [ "${CI_TEST_IGNORE_FAILURE:-0}" -eq 1 ]
- name: Process artifacts
uses: actions/upload-artifact@v4
with:
name: Artifacts (${{ join(matrix.*, ', ') }})
path: build/web/sites/simpletest/browser_output