47 lines
2.1 KiB
YAML
47 lines
2.1 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 20 seconds and
|
|
# script/cibuild is a plain `docker build .` whose Dockerfile runs
|
|
# make check; folding a browser suite into either would blow that cap and
|
|
# slow the local fast path. These jobs are the automatic run the suites
|
|
# never had: before this workflow, every browser-level guarantee in this
|
|
# repo held only when a human remembered to run it by hand.
|
|
#
|
|
# 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 — so neither depends on the
|
|
# runner image's toolchain, which ships a node 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 the intended end state and
|
|
# is deliberately not done yet: the Chrome suite is flaky under load today,
|
|
# and 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
|
|
steps:
|
|
# actions/checkout v4.2.2, 2026-02-22
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
- run: script/test-e2e
|
|
|
|
e2e-firefox:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# actions/checkout v4.2.2, 2026-02-22
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
- run: script/test-e2e-firefox
|