Add pa11y-ci #41
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: pull request | |
on: [pull_request] | |
jobs: | |
build: | |
name: build | |
runs-on: ubuntu-latest | |
outputs: | |
cache_key: ${{ steps.cache_key.outputs.cache_key }} | |
steps: | |
- uses: actions/checkout@v3 | |
- id: cache_key | |
run: echo "cache_key=${{ hashFiles('**/**') }}-v1" >> "$GITHUB_OUTPUT" | |
- uses: actions/cache@v3 | |
id: cache | |
with: | |
path: . | |
key: ${{ steps.cache_key.outputs.cache_key }} | |
- if: steps.cache.outputs.cache-hit != true | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- if: steps.cache.outputs.cache-hit != true | |
run: npm install | |
- if: steps.cache.outputs.cache-hit != true | |
env: | |
ELEVENTY_ENV: production | |
run: npm run build | |
pa11y-scan: | |
# Pinned to 20.04 because pa11y-ci fails to run on 22.04 | |
# See the discussion on https://github.com/pa11y/pa11y-ci/issues/198 | |
# and https://github.com/pa11y/pa11y/issues/651 | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '17.x' | |
- name: Install node dependencies | |
run: npm install | |
- name: Accessibility scan | |
run: npm run test:pa11y-ci | |
# Disabling for now. Reenable when the project is ready. | |
# validate_html: | |
# needs: [build] | |
# name: validate html | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/cache/restore@v3 | |
# with: | |
# key: ${{ needs.build.outputs.cache_key }} | |
# path: . | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 18 | |
# - run: npm run test:html-validation | |
# validate_internal_links: | |
# needs: [build] | |
# name: validate internal links | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/cache/restore@v3 | |
# with: | |
# key: ${{ needs.build.outputs.cache_key }} | |
# path: . | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 18 | |
# - run: npm run test:internal-links | |
# validate_links_use_helper: | |
# needs: [build] | |
# name: validate links use helper | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/cache/restore@v3 | |
# with: | |
# key: ${{ needs.build.outputs.cache_key }} | |
# path: . | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 18 | |
# - run: npm run test:prefixed-links | |
# check_spelling: | |
# needs: [build] | |
# name: "Check Spelling" | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/cache/restore@v3 | |
# with: | |
# key: ${{ needs.build.outputs.cache_key }} | |
# path: . | |
# - uses: actions/setup-node@v3 | |
# name: Setup node | |
# with: | |
# node-version: 18 | |
# - name: Install cSpell | |
# run: npm install -g cspell | |
# - name: Run cSpell | |
# run: cspell --config ./cSpell.json "pages/**/*.md" --no-progress |