Keep the module cache out of the build stage's chown (closes #43)
check / check (push) Waiting to run
check / check (push) Waiting to run
The build stage handed /src and the whole Go module cache to the unprivileged user with chown -R, in a layer that re-ran on every source change. On this host that step took from about 80 s to over ten minutes, depending on load. The module cache now sits at /go/pkg/mod and stays root's: bootstrap fills it as root. The sources are copied with --chown. A small chown, cached with bootstrap, hands builder the /src directory itself, the module cache's cache/download directory (where make build saves its lookup of this module's own version), and the telemetry files root's go commands left in its home. Tests and the build still run as builder. Model: opus-5-5
This commit is contained in:
@@ -29,6 +29,10 @@
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- the `Dockerfile` build stage keeps the Go module cache out of `builder`'s
|
||||
home and copies the sources with `--chown`, so no `chown -R` walks them
|
||||
(2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/43)
|
||||
|
||||
- `report` and `trees` stream the records instead of holding them all in
|
||||
memory; the schema gains the `files_signature` index (2026-10-04,
|
||||
https://git.eeqj.de/sneak/sfdupes/issues/14)
|
||||
|
||||
Reference in New Issue
Block a user