make test takes about 35 seconds on the shared build host (34 to 46 seconds over four runs under heavy load), over the 20-second target in REPO_POLICIES.md. It became an uncached build of the test phase of Dockerfile in #115.
Where the time goes: every run downloads the Go modules and compiles the standard library and every dependency with the race detector from nothing, about 25 to 30 seconds in one step; the tests themselves take a few seconds. Alongside it, the frontend stage installs its yarn packages (10 to 20 seconds) and also runs yarn build, which the tests do not need.
What could bring it down: a Go build cache kept between runs (a BuildKit cache mount) with -count=1 on go test, so code is not recompiled but every test still runs; this is a policy question, since the policy wants each check build to start from nothing. Short of that, a pinned test base image with the race-compiled standard library already in it.
Model: opus-5-5
`make test` takes about 35 seconds on the shared build host (34 to 46 seconds over four runs under heavy load), over the 20-second target in `REPO_POLICIES.md`. It became an uncached build of the `test` phase of `Dockerfile` in https://git.eeqj.de/sneak/netwatch/pulls/115.
Where the time goes: every run downloads the Go modules and compiles the standard library and every dependency with the race detector from nothing, about 25 to 30 seconds in one step; the tests themselves take a few seconds. Alongside it, the `frontend` stage installs its yarn packages (10 to 20 seconds) and also runs `yarn build`, which the tests do not need.
What could bring it down: a Go build cache kept between runs (a BuildKit cache mount) with `-count=1` on `go test`, so code is not recompiled but every test still runs; this is a policy question, since the policy wants each check build to start from nothing. Short of that, a pinned test base image with the race-compiled standard library already in it.
Model: opus-5-5
clawbot
self-assigned this 2026-10-07 13:10:02 +02:00
This waits on sneak/prompts#113, which asks sneak the same question for every Go repository: whether the time limits on make test count compiling, or whether test builds may keep Go's compiled packages between runs. The no-caching ruling on sneak/prompts#40 stands until then, so netwatch keeps its uncached test build at about 35 seconds, green under the 60-second cap, and follows that ruling when it comes.
Model: opus-5-5
This waits on https://git.eeqj.de/sneak/prompts/issues/113, which asks sneak the same question for every Go repository: whether the time limits on `make test` count compiling, or whether test builds may keep Go's compiled packages between runs. The no-caching ruling on https://git.eeqj.de/sneak/prompts/issues/40 stands until then, so netwatch keeps its uncached test build at about 35 seconds, green under the 60-second cap, and follows that ruling when it comes.
Model: opus-5-5
clawbot
removed their assignment 2026-10-07 13:42:57 +02:00
sneak
was assigned by clawbot2026-10-07 13:42:57 +02:00
sneak
was unassigned by clawbot2026-10-07 13:59:31 +02:00
clawbot
self-assigned this 2026-10-07 13:59:31 +02:00
Built now, as it does not depend on sneak/prompts#113: make test stops running yarn build, which the tests do not need. The production build moves to a stage of its own, which the runtime stage copies dist/ from and which still cannot run unless the tests passed. No build cache is added; the Go compile follows the ruling on that issue when it comes. Starts once #30 has moved the files, since both change Dockerfile throughout.
Model: opus-5-5
Built now, as it does not depend on https://git.eeqj.de/sneak/prompts/issues/113: `make test` stops running `yarn build`, which the tests do not need. The production build moves to a stage of its own, which the runtime stage copies `dist/` from and which still cannot run unless the tests passed. No build cache is added; the Go compile follows the ruling on that issue when it comes. Starts once https://git.eeqj.de/sneak/netwatch/issues/30 has moved the files, since both change `Dockerfile` throughout.
Model: opus-5-5
Built in #137: make test no longer runs yarn build. The production build is now a frontend-build stage that waits on the lint and test phases, and the runtime stage copies dist/ from it. The Go compile is unchanged and waits on sneak/prompts#113, so this issue stays open.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/netwatch/pulls/137: `make test` no longer runs `yarn build`. The production build is now a `frontend-build` stage that waits on the lint and test phases, and the runtime stage copies `dist/` from it. The Go compile is unchanged and waits on https://git.eeqj.de/sneak/prompts/issues/113, so this issue stays open.
Model: opus-5-5
Plan, on sneak's rulings in sneak/prompts#113 and sneak/prompts#130, merged in sneak/prompts as 0653579 on its next: one PR on next that re-vendors REPO_POLICIES.md from that commit and makes the Dockerfile and script/ follow it. Check builds get a new CACHEBUST value instead of --no-cache; in each Go stage the module download comes above ARG CACHEBUST, Go's build cache and golangci-lint's cache are kept as cache mounts, and every step that lints, tests or compiles stays below the line, with go test -count=1. The node stages' yarn install stays below the line, as the ruling does not cover node packages. Then make test is measured on a fresh clone and the result is said here, against the 20-second target.
Model: opus-5-5
Plan, on sneak's rulings in https://git.eeqj.de/sneak/prompts/issues/113 and https://git.eeqj.de/sneak/prompts/issues/130, merged in sneak/prompts as `0653579` on its `next`: one PR on `next` that re-vendors `REPO_POLICIES.md` from that commit and makes the `Dockerfile` and `script/` follow it. Check builds get a new `CACHEBUST` value instead of `--no-cache`; in each Go stage the module download comes above `ARG CACHEBUST`, Go's build cache and golangci-lint's cache are kept as cache mounts, and every step that lints, tests or compiles stays below the line, with `go test -count=1`. The node stages' `yarn install` stays below the line, as the ruling does not cover node packages. Then `make test` is measured on a fresh clone and the result is said here, against the 20-second target.
Model: opus-5-5
Built in #171: check builds pass a new CACHEBUST value instead of --no-cache, keep the Go modules in a layer and Go's and golangci-lint's caches as cache mounts, and run both go test runs with -count=1. The issue stays open until make test is measured after the merge.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/netwatch/pulls/171: check builds pass a new `CACHEBUST` value instead of `--no-cache`, keep the Go modules in a layer and Go's and golangci-lint's caches as cache mounts, and run both `go test` runs with `-count=1`. The issue stays open until `make test` is measured after the merge.
Model: opus-5-5
Within the target: with #171 on next (4e3943f), make test on a fresh clone takes 8 to 14 seconds on the shared build host under heavy load, every Go and page test running each time. Closed.
Model: opus-5-5
Within the target: with https://git.eeqj.de/sneak/netwatch/pulls/171 on `next` (`4e3943f`), `make test` on a fresh clone takes 8 to 14 seconds on the shared build host under heavy load, every Go and page test running each time. Closed.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
make testtakes about 35 seconds on the shared build host (34 to 46 seconds over four runs under heavy load), over the 20-second target inREPO_POLICIES.md. It became an uncached build of thetestphase ofDockerfilein #115.Where the time goes: every run downloads the Go modules and compiles the standard library and every dependency with the race detector from nothing, about 25 to 30 seconds in one step; the tests themselves take a few seconds. Alongside it, the
frontendstage installs its yarn packages (10 to 20 seconds) and also runsyarn build, which the tests do not need.What could bring it down: a Go build cache kept between runs (a BuildKit cache mount) with
-count=1ongo test, so code is not recompiled but every test still runs; this is a policy question, since the policy wants each check build to start from nothing. Short of that, a pinned test base image with the race-compiled standard library already in it.Model: opus-5-5
This waits on sneak/prompts#113, which asks sneak the same question for every Go repository: whether the time limits on
make testcount compiling, or whether test builds may keep Go's compiled packages between runs. The no-caching ruling on sneak/prompts#40 stands until then, so netwatch keeps its uncached test build at about 35 seconds, green under the 60-second cap, and follows that ruling when it comes.Model: opus-5-5
Built now, as it does not depend on sneak/prompts#113:
make teststops runningyarn build, which the tests do not need. The production build moves to a stage of its own, which the runtime stage copiesdist/from and which still cannot run unless the tests passed. No build cache is added; the Go compile follows the ruling on that issue when it comes. Starts once #30 has moved the files, since both changeDockerfilethroughout.Model: opus-5-5
Built in #137:
make testno longer runsyarn build. The production build is now afrontend-buildstage that waits on the lint and test phases, and the runtime stage copiesdist/from it. The Go compile is unchanged and waits on sneak/prompts#113, so this issue stays open.Model: opus-5-5
Plan, on sneak's rulings in sneak/prompts#113 and sneak/prompts#130, merged in sneak/prompts as
0653579on itsnext: one PR onnextthat re-vendorsREPO_POLICIES.mdfrom that commit and makes theDockerfileandscript/follow it. Check builds get a newCACHEBUSTvalue instead of--no-cache; in each Go stage the module download comes aboveARG CACHEBUST, Go's build cache and golangci-lint's cache are kept as cache mounts, and every step that lints, tests or compiles stays below the line, withgo test -count=1. The node stages'yarn installstays below the line, as the ruling does not cover node packages. Thenmake testis measured on a fresh clone and the result is said here, against the 20-second target.Model: opus-5-5
Built in #171: check builds pass a new
CACHEBUSTvalue instead of--no-cache, keep the Go modules in a layer and Go's and golangci-lint's caches as cache mounts, and run bothgo testruns with-count=1. The issue stays open untilmake testis measured after the merge.Model: opus-5-5
Within the target: with #171 on
next(4e3943f),make teston a fresh clone takes 8 to 14 seconds on the shared build host under heavy load, every Go and page test running each time. Closed.Model: opus-5-5