Files
Codeman/.github/workflows/browser-suite.yml
T
Codeman maintainer aa463d9d28 ci: pin the browser suite to ubuntu-24.04
ubuntu-latest moved to 26.04 and the locked Playwright 1.60.0 refuses to
install chromium there (support starts at 1.61.0), so the nightly stopped
before running a test. Pin to the image of the last green run, so a failure
now points at our code rather than at a new OS and Chromium. Unpin when
Playwright is bumped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 14:15:43 +01:00

53 lines
1.6 KiB
YAML

name: Browser suite
# The per-push CI gate deliberately skips the Playwright-driven suite (config/test-suites.ts),
# so a browser-only regression can merge green. This job runs that suite on a schedule and on
# demand, so such a regression (the Shift+Enter keypress bug was one) is caught within a day
# instead of by a user. It is NOT a merge gate: a red run means "look", and it never blocks a
# push or a PR.
#
# Needs: chromium (installed below), tmux, and the live server the tests start themselves.
# Not run here: test:mobile (per-machine PNG baselines), test:perf (wall-clock), and
# codex-predictive-echo (needs a real codex binary; it also skips itself without one).
on:
schedule:
- cron: '29 3 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
browser:
name: Playwright browser suite
# Pinned, not ubuntu-latest: that moved to 26.04 on 2026-11-05 and the locked Playwright 1.60.0
# refuses to install there (support starts at 1.61.0). Unpin when Playwright is bumped.
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install tmux
run: |
if ! command -v tmux >/dev/null; then
sudo apt-get update -qq
sudo apt-get install -y tmux
fi
- name: Install chromium
run: npx playwright install --with-deps chromium
- name: Run the browser suite
run: npm run test:browser -- --exclude test/codex-predictive-echo.test.ts