From bcc9d1886cff2759cb5fbea6da9d5fb064e1bd94 Mon Sep 17 00:00:00 2001 From: Brian Genisio Date: Fri, 7 Aug 2026 16:44:32 -0400 Subject: [PATCH 1/3] ci: bump GitHub Actions Node.js to 22 jsdom 30 and undici require Node >=22.19; Node 20 CI failed the DOM suite with an unhandled Vitest worker error. Co-authored-by: Cursor --- .github/workflows/pr.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d99b140..6611938 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -28,7 +28,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: '22' cache: 'npm' - name: Install dependencies diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 717e4be..bd272c9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: '22' cache: 'npm' - name: Install dependencies From 8a65cacc70fd720bcbe1aa382d0aa8659c029eda Mon Sep 17 00:00:00 2001 From: Brian Genisio Date: Fri, 7 Aug 2026 16:46:55 -0400 Subject: [PATCH 2/3] ci: provide placeholder Octavus env for axe server boot OctavusClient requires baseUrl/apiKey at construction; CI only had AGENT_ID, so the server crashed before the stubbed audit could run. Co-authored-by: Cursor --- .github/workflows/pr.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6611938..af59b52 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -53,11 +53,14 @@ jobs: run: npx playwright install chromium --with-deps - name: Start app server - # No Octavus credentials in CI — audit.mjs stubs /api/* when A11Y_CI=1. - # A placeholder AGENT_ID keeps the server from warning; the stub never - # reaches the create-session path. + # No real Octavus credentials in CI — audit.mjs stubs /api/* when + # A11Y_CI=1. Placeholders only satisfy OctavusClient construction so + # the static app can serve; the stub never reaches create-session. run: | - PORT=3100 AGENT_TARGET=dev OCTAVUS_AGENT_ID=ci-placeholder \ + PORT=3100 AGENT_TARGET=dev \ + OCTAVUS_API_URL=https://ci.placeholder \ + OCTAVUS_API_KEY=ci-placeholder \ + OCTAVUS_AGENT_ID=ci-placeholder \ node server.js > /tmp/chatcpt-ci-server.log 2>&1 & echo $! > /tmp/chatcpt-ci-server.pid for i in $(seq 1 30); do From 11f65a048b466954a829b781d1c3eb4679ff7cc2 Mon Sep 17 00:00:00 2001 From: Brian Genisio Date: Fri, 7 Aug 2026 16:50:53 -0400 Subject: [PATCH 3/3] ci: bump Actions to Node 24 runtimes checkout@v6, setup-node@v6, and upload-artifact@v7 clear the Node 20 deprecation warning on GitHub-hosted runners. Co-authored-by: Cursor --- .github/workflows/pr.yml | 6 +++--- .github/workflows/release.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index af59b52..a487f4b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -20,13 +20,13 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Populate design system submodule run: git submodule update --init - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '22' cache: 'npm' @@ -86,7 +86,7 @@ jobs: - name: Upload axe report if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: axe-report path: a11y-audits/tools/a11y-out-ci/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bd272c9..1139c82 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,13 +13,13 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Populate design system submodule run: git submodule update --init - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '22' cache: 'npm' @@ -42,7 +42,7 @@ jobs: mv /tmp/dist.tar.gz dist.tar.gz - name: Upload build artifact (for workflow logs) - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: dist path: dist.tar.gz