Skip to content

Update interview-checklist.md #351

Update interview-checklist.md

Update interview-checklist.md #351

Workflow file for this run

name: pull request
on: [pull_request]
permissions:
contents: write
pull-requests: write
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
redirects-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install node dependencies
run: npm install
- name: Redirect tests
run: npm run test:redirects
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: 18
- name: Install node dependencies
run: npm install
- name: Refresh assets
run: npm run assets:refresh
- name: Accessibility scan
run: npm run test:pa11y-ci
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
check_links:
needs: [build]
name: Check all 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
- name: Test all links
run: npm run test:links
lint:
name: Run linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install node dependencies
run: npm install
- name: Run eslint
run: npm run lint
dependabot-auto-merge:
name: Dependabot auto-merge
needs: [build, redirects-tests, pa11y-scan, validate_html, check_links, lint] # ensures the other checks pass before running this job
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
run: |
gh pr review --approve
gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}