Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
# This job runs PR-provided code; don't leave the checkout token in
# the workspace git config.
persist-credentials: false

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm

- name: Refresh lockfile
run: npm install --package-lock-only --ignore-scripts --no-audit --no-fund

- name: Install dependencies
run: npm ci

Expand All @@ -57,10 +58,6 @@ jobs:
path: dist/bundle-report.md
if-no-files-found: ignore

# Dedicated, named check so the accessibility gate is visible on every PR.
# The full suite in `verify` already runs these tests; this job surfaces them
# as their own status check (mark it required in branch protection to block
# merges on a violation).
accessibility:
name: Accessibility (axe-core)
runs-on: ubuntu-latest
Expand All @@ -69,21 +66,19 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
# This job runs PR-provided code; don't leave the checkout token in
# the workspace git config.
persist-credentials: false

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm

- name: Refresh lockfile
run: npm install --package-lock-only --ignore-scripts --no-audit --no-fund

- name: Install dependencies
run: npm ci

# Renders the public components/pages in jsdom and runs axe-core against
# each. A new WCAG violation (missing label/alt, bad ARIA, skipped heading
# level, …) fails this job.
- name: Run accessibility tests
run: npm run test:a11y
5 changes: 4 additions & 1 deletion .github/workflows/firebase-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,12 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm

- name: Refresh lockfile
run: npm install --package-lock-only --ignore-scripts --no-audit --no-fund

- name: Install dependencies
run: npm ci

Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/security-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: Security Audit

on:
schedule:
# Runs 6 times a day (every 4 hours: 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC)
- cron: '0 */4 * * *'
workflow_dispatch:
push:
Expand Down Expand Up @@ -32,9 +31,12 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: npm

- name: Refresh lockfile
run: npm install --package-lock-only --ignore-scripts --no-audit --no-fund

- name: Install dependencies
run: npm ci

Expand Down Expand Up @@ -64,7 +66,7 @@ jobs:
title: "docs: Automated Security Audit Report Update"
body: |
This automated Pull Request updates the repository security audit reports in `security-reports/`.

Generated by the scheduled security check workflow.
labels: |
documentation
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"date-fns": "3.6.0",
"embla-carousel-react": "8.6.0",
"firebase": "^12.15.0",
"firebase-admin": "^14.1.0",
"firebase-admin": "^14.2.0",
"gsap": "^3.15.0",
"input-otp": "1.4.2",
"lenis": "^1.3.25",
Expand Down
Loading