Merge pull request #120 from 18F/christophermather-patch-1 #60
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: Site testing | |
on: | |
push: | |
paths-ignore: | |
- '.gitignore' | |
branches: | |
- main | |
pull_request: | |
paths-ignore: | |
- '.gitignore' | |
branches: | |
- main | |
jobs: | |
pa11y-scan: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Install node packages | |
run: npm ci | |
- name: Build site | |
run: npm run build | |
- name: Compile USWDS | |
run: npx gulp compile | |
- name: Start web serving container | |
# leverage the docker compose setup that we already have for local development | |
run: docker compose up -d | |
- name: Run pa11y | |
run: | | |
sleep 10; | |
npm run pa11y-ci:sitemap | |
lighthouse: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Install node packages | |
run: npm ci | |
- name: Build site | |
run: npm run build | |
- name: Compile USWDS | |
run: npx gulp compile | |
- name: Start web serving container | |
# leverage the docker compose setup that we already have for local development | |
run: docker compose up -d | |
- name: Wait for server start | |
run: sleep 10 | |
- name: Audit URLs using Lighthouse | |
uses: treosh/lighthouse-ci-action@v12 | |
with: | |
urls: | | |
http://localhost:8080/ | |
configPath: './.lighthouserc.json' | |
uploadArtifacts: true # save results as an action artifacts | |
owasp-zap: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Install node packages | |
run: npm ci | |
- name: Build site | |
run: npm run build | |
- name: Compile USWDS | |
run: npx gulp compile | |
- name: Start web serving container | |
# leverage the docker compose setup that we already have for local development | |
run: docker compose up -d | |
- name: Wait for server start | |
run: sleep 10 | |
- name: ZAP Scan | |
uses: zaproxy/[email protected] | |
with: | |
target: 'http://localhost:8080' | |
rules_file_name: ./zap.conf | |
cypress-run: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Install node packages | |
run: npm ci | |
- name: Build site | |
run: npm run build | |
- name: Compile USWDS | |
run: npx gulp compile | |
- name: Start web serving container | |
# leverage the docker compose setup that we already have for local development | |
run: docker compose up -d | |
# Install npm dependencies, cache them correctly | |
# and run all Cypress tests | |
- name: Cypress run | |
uses: cypress-io/github-action@v6 | |
with: | |
browser: chrome | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: cypress/screenshots | |
if-no-files-found: ignore |