50 lines
2.3 KiB
YAML
50 lines
2.3 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, 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 on the measured
|
|
# flake in the dApp signing wait -- two of six runs of unmutated code on a
|
|
# loaded machine -- tracked as
|
|
# https://git.eeqj.de/sneak/AutistMask/issues/287. 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
|