The README rewrite renamed or merged several headings that comments still cited. Each comment now names the current heading. The e2e workflow's citations of "In CI" are dropped, because no section has what they pointed at. The comment on withLock() no longer states a Firefox private window exception, because the manifest keeps the extension out of those windows. Two comments also take corrections from reviews: the cases with no total in DeleteAddress's warning, and the screens that say a swap's amount could not be decoded. Model: opus-5-5
54 lines
2.5 KiB
YAML
54 lines
2.5 KiB
YAML
name: e2e
|
|
on: [push]
|
|
|
|
# The browser end-to-end suites, one job per browser, deliberately kept out
|
|
# of the check workflow: REPO_POLICIES.md caps make test at 60 seconds and
|
|
# script/cibuild runs script/check, so folding a browser suite into either
|
|
# would blow that cap and slow the local fast path. Before this workflow
|
|
# every browser-level guarantee in this repo held only when a human
|
|
# remembered to run it.
|
|
#
|
|
# One job per browser rather than two steps in one job, so a Chrome failure
|
|
# does not hide the Firefox result.
|
|
#
|
|
# Each job is one script and nothing else. Both scripts need docker and
|
|
# nothing else — they deliver the repo to the daemon as a build context and
|
|
# build the extension inside the pinned image — which is what makes them
|
|
# runnable here at all: the runner executes the job in a container against
|
|
# the host's docker socket, so a `-v "$PWD:/work"` source path is resolved
|
|
# by the host daemon and mounts an empty directory, and the runner image's
|
|
# node is too old to install this repo's dependencies.
|
|
#
|
|
# These jobs REPORT, they do not gate. Whether a check blocks a merge is
|
|
# Gitea branch protection, which this repo does not configure, so a failure
|
|
# here is a red mark a reviewer has to account for rather than a hard
|
|
# block. Making e2e-chrome a required check is blocked while reports of the
|
|
# Chrome suite failing under load are still open. A gate that fails at random
|
|
# teaches people to merge past red.
|
|
#
|
|
# Nothing here may pass vacuously. There is no continue-on-error and no
|
|
# `|| true`. Both scripts exit non-zero when docker is missing, when the
|
|
# image build fails, and when the browser fails to start; the Chrome
|
|
# harness aborts the suite outright if its network interception is not in
|
|
# effect.
|
|
jobs:
|
|
e2e-chrome:
|
|
runs-on: ubuntu-latest
|
|
# Bounds the image build, a cold cache included, and the three Chrome
|
|
# programs, so a hung browser frees the shared runner.
|
|
timeout-minutes: 40
|
|
steps:
|
|
# actions/checkout v4.2.2, 2026-02-22
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
- run: script/test-e2e
|
|
|
|
e2e-firefox:
|
|
runs-on: ubuntu-latest
|
|
# Bounds the image build, a cold cache included, and both Firefox
|
|
# programs, so a hung browser frees the shared runner.
|
|
timeout-minutes: 15
|
|
steps:
|
|
# actions/checkout v4.2.2, 2026-02-22
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
- run: script/test-e2e-firefox
|