Testing doc only PR #434
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: Continuous Integration | |
on: [pull_request] | |
jobs: | |
# Check whether certain fields exist in the CMS configuration. | |
check-fields: | |
name: Check Fields | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Check Corresponding Entity Reference Fields | |
# See also `composer va:test:check-cer` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: ./tests/scripts/check-cer.sh | |
- name: Check Revision Log fields | |
# See also `composer va:test:check-node-revision-logs` in composer.json | |
# See also `composer va:test:check-taxonomy-revision-logs` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: | | |
./tests/scripts/check-node-revision-logs.sh | |
./tests/scripts/check-taxonomy-revision-logs.sh | |
# Validate that the `composer.lock` hash is up-to-date. | |
composer-validate: | |
name: Composer Validate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Composer Validate | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: composer validate | |
# Check style of ES/JS files with ESLint and ReviewDog. | |
eslint: | |
name: ESLint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Post-Checkout Actions | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: ./.github/actions/post-checkout | |
- name: ReviewDog | |
# See also `composer va:test:eslint` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: reviewdog/action-eslint@e1dbcf30466d267e79331b2f5bacb269093125b5 # v1.19.1 | |
with: | |
reporter: github-pr-review | |
eslint_flags: '--max-warnings 0 -c .eslintrc.json --no-eslintrc docroot/modules/custom/**/*.es6.js docroot/themes/custom/**/*.es6.js tests/cypress/**/*.js' | |
fail_on_error: true | |
# Check for common PHP code smells with PHP_CodeSniffer. | |
php_codesniffer: | |
name: PHP_CodeSniffer | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Post-Checkout Actions | |
uses: ./.github/actions/post-checkout | |
- name: Run PHP_CodeSniffer and ReviewDog | |
# See also `composer va:test:php_codesniffer` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: | | |
export REVIEWDOG_GITHUB_API_TOKEN="${GITHUB_TOKEN}" | |
bin/phpcs \ | |
--report="checkstyle" \ | |
-q \ | |
| reviewdog \ | |
-name="PHP_CodeSniffer" \ | |
-f=checkstyle \ | |
-reporter=github-pr-review \ | |
-diff='git diff' | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
# Lint with PHP's built-in linting. | |
php_lint: | |
name: PHP Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Post-Checkout Actions | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: ./.github/actions/post-checkout | |
- name: Run PHPLint | |
# See also `composer va:test:lint-php` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: ./tests/scripts/lint-php.sh | |
# Analyze the codebase for programming errors with PHPStan. | |
phpstan: | |
name: PHPStan | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Post-Checkout Actions | |
uses: ./.github/actions/post-checkout | |
- name: Run PHPStan and ReviewDog | |
# See also `composer va:test:phpstan` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: | | |
export REVIEWDOG_GITHUB_API_TOKEN="${GITHUB_TOKEN}" | |
bin/phpstan analyze \ | |
--no-progress \ | |
--no-interaction \ | |
--error-format=raw \ | |
--memory-limit=1G \ | |
| reviewdog \ | |
-name="PHPStan" \ | |
-f=phpstan \ | |
-reporter=github-pr-review \ | |
-diff='git diff' | |
env: | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
# Run unit tests against codebase with PHPUnit. | |
phpunit: | |
name: PHPUnit | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Post-Checkout Actions | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: ./.github/actions/post-checkout | |
- name: Run PHPUnit (Unit Tests only) | |
# See also `composer va:test:phpunit-unit` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
run: bin/phpunit \ | |
--group unit \ | |
--exclude-group disabled \ | |
--coverage-text \ | |
tests/phpunit | |
# Check styles of modules and themes with Stylelint. | |
stylelint: | |
name: Stylelint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: Stylelint modules | |
# See also `composer va:test:stylelint-modules` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: reviewdog/action-stylelint@e45410880466232c34ec6ab2e0fbc15f5ce3fdd2 # v1.17.1 | |
with: | |
fail_on_error: true | |
github_token: ${{ secrets.github_token }} | |
packages: 'stylelint-config-sass-guidelines stylelint-order' | |
reporter: github-pr-review | |
stylelint_config: '.stylelintrc' | |
stylelint_input: 'docroot/modules/custom/**/*.css' | |
- name: Stylelint themes | |
# See also `composer va:test:stylelint-themes` in composer.json | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: reviewdog/action-stylelint@e45410880466232c34ec6ab2e0fbc15f5ce3fdd2 # v1.17.1 | |
with: | |
fail_on_error: true | |
github_token: ${{ secrets.github_token }} | |
packages: 'stylelint-config-sass-guidelines stylelint-order' | |
reporter: github-pr-review | |
stylelint_config: '.stylelintrc' | |
stylelint_input: 'docroot/themes/custom/**/*.scss' | |
# Analyze the codebase with GitHub's CodeQL tool. | |
codeql: | |
name: CodeQL Analyze | |
# Unlike most of our continuous integration tests, this test does not have | |
# a direct analog outside of GitHub Actions. | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
language: | |
- javascript | |
- python | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Documentation Only PR Check | |
uses: ./.github/actions/docs-only | |
id: docs-only | |
- name: CodeQL Init | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: github/codeql-action/init@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4 | |
with: | |
languages: ${{ matrix.language }} | |
- name: CodeQL Analyze | |
if: ${{ steps.docs-only.outputs.docs-only == 'false' }} | |
uses: github/codeql-action/analyze@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4 | |
with: | |
category: "/language:${{matrix.language}}" |