Skip to content

Add pa11y-ci

Add pa11y-ci #42

Workflow file for this run

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