1 Commits
Author SHA1 Message Date
sneak 7c15dbac62 fix: make dev rebuilds dist/ on source changes (closes #332)
check / check (push) Failing after 2s
e2e / e2e-chrome (push) Failing after 2s
e2e / e2e-firefox (push) Failing after 2s
make dev passed --watch to a build.js that read no arguments, so it
built once and exited. build.js --watch now builds, then builds again
after every change to a file under src/, manifest/ or icons/, until
interrupted; any other argument fails. Each directory gets its own
watcher, because Node's recursive watch on Linux loses a file that an
editor saves by renaming a new copy over it. A watch build writes no
build receipt and cannot be verified; README.md and the Makefile say
so and point to make build.

Model: opus-5-5
2026-10-05 23:05:56 +00:00
4 changed files with 6 additions and 31 deletions
-3
View File
@@ -3,9 +3,6 @@ on: [push]
jobs: jobs:
check: check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Bounds script/cibuild, a cold-cache build included, so a hang frees
# the shared runner. README.md "In CI" has the measured times.
timeout-minutes: 10
steps: steps:
# actions/checkout v4.2.2, 2026-02-22 # actions/checkout v4.2.2, 2026-02-22
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
-8
View File
@@ -35,10 +35,6 @@ on: [push]
jobs: jobs:
e2e-chrome: e2e-chrome:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Bounds the image build, a cold cache included, and both Chrome
# programs, so a hung browser frees the shared runner. README.md
# "In CI" has the measured times.
timeout-minutes: 20
steps: steps:
# actions/checkout v4.2.2, 2026-02-22 # actions/checkout v4.2.2, 2026-02-22
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -46,10 +42,6 @@ jobs:
e2e-firefox: e2e-firefox:
runs-on: ubuntu-latest runs-on: ubuntu-latest
# Bounds the image build, a cold cache included, and both Firefox
# programs, so a hung browser frees the shared runner. README.md
# "In CI" has the measured times.
timeout-minutes: 15
steps: steps:
# actions/checkout v4.2.2, 2026-02-22 # actions/checkout v4.2.2, 2026-02-22
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+6 -14
View File
@@ -651,20 +651,12 @@ Nothing in either job can pass vacuously. There is no `continue-on-error` and no
build fails, and when the browser fails to start; the Chrome harness aborts the build fails, and when the browser fails to start; the Chrome harness aborts the
suite outright if its network interception is not in effect. suite outright if its network interception is not in effect.
Measured on this repo's runner in the green runs of early October 2026, from a Measured on this repo's runner: `e2e-chrome` about 1m55s cold, almost all of it
warm docker cache to a cold one: `check` 49s to 3m37s, `e2e-chrome` 1m44s to the one-time pull of the pinned ~800MB Playwright layer, and well under a minute
4m48s, and `e2e-firefox` 31s to 4m07s. A cold cache adds three to four minutes once that layer is cached. `e2e-firefox` about 1m05s cold, and it caches its
to each job, spent rebuilding its image: reinstalling dependencies and, for Firefox and geckodriver downloads the same way. The `e2e-chrome` figures predate
`e2e-firefox`, installing Firefox, geckodriver and their system libraries. Those the two cases that wait for a receipt to end in error, which add about two
`e2e-chrome` runs predate the cases that wait in real time for a receipt to end minutes of real waiting.
in error. `make test-e2e` now takes 3m51s locally with its image cached, so a
cold `e2e-chrome` run comes to about seven minutes.
Every job has a `timeout-minutes` cap, so a hung build or browser ends the job
instead of holding the shared runner: `check` 10 minutes, `e2e-firefox` 15 and
`e2e-chrome` 20, each over two and a half times the job's slowest cold run. A
job that reaches its cap has hung; read it as a hang, not as a slow run to
retry.
### Element id guard (part of `make check`) ### Element id guard (part of `make check`)
-6
View File
@@ -56,12 +56,6 @@ but the review is broader than any of them.
way to produce a `dist/` to hand on. `tests/buildWatch.test.js` covers the way to produce a `dist/` to hand on. `tests/buildWatch.test.js` covers the
watch loop against a temp directory. watch loop against a temp directory.
- 2026-10-05: Every CI job has a `timeout-minutes` cap
([#294](https://git.eeqj.de/sneak/AutistMask/issues/294)): `check` 10 minutes,
`e2e-firefox` 15 and `e2e-chrome` 20, each over two and a half times the job's
slowest cold-cache run. A hung build or browser now ends its job instead of
holding the shared runner for hours.
- 2026-10-05: `PROXY_METHODS` in `src/background/index.js` no longer lists - 2026-10-05: `PROXY_METHODS` in `src/background/index.js` no longer lists
`eth_chainId` and `net_version` `eth_chainId` and `net_version`
([#326](https://git.eeqj.de/sneak/AutistMask/issues/326)). `handleRpc` answers ([#326](https://git.eeqj.de/sneak/AutistMask/issues/326)). `handleRpc` answers