Run lint and tests as Dockerfile phases built with --no-cache (closes #202)
check / check (push) Failing after 3s
check / check (push) Failing after 3s
script/check, cibuild, docker, lint, test, setup and install-precommit are now the sneak/prompts main copies, unchanged: lint and test each build their Dockerfile phase with --no-cache. The lint phase runs golangci-lint from the image REPO_POLICIES.md names, with libvips-dev from apt-get; the test phase runs the tests with a 90-second timeout; the build stage depends on both. script/bootstrap installs the C compiler and image libraries only with --cgo, which the test phase and build stage pass, and refreshes the apt lists before its first apt install. Dockerfile.lint and CHECK_EPOCH are gone, and make docker-versioned and docker-test call the scripts. Without VERSION the build stage still uses git describe, per issue 166. Model: opus-5-5
This commit was merged in pull request #218.
This commit is contained in:
@@ -31,6 +31,24 @@ P2: security: per-IP rate limiting on the image routes
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-05 lint and tests run as the `lint` and `test` phases of the
|
||||
`Dockerfile`, built with `--no-cache` (closes #202): `script/check`,
|
||||
`script/cibuild`, `script/docker`, `script/lint`, `script/test`,
|
||||
`script/setup` and `script/install-precommit` are now the copies from
|
||||
`sneak/prompts` `main`, unchanged. The `lint` phase runs golangci-lint from
|
||||
the image `REPO_POLICIES.md` names, with `libvips-dev` from `apt-get`; the
|
||||
`test` phase runs the tests with a 90-second timeout; the build stage depends
|
||||
on both. `Dockerfile.lint` and the `CHECK_EPOCH` build argument are gone, the
|
||||
formatting check runs on the host, and `make docker-versioned` and
|
||||
`make docker-test` call the scripts. `script/bootstrap`, `script/fmt`,
|
||||
`script/fmt-check`, `script/precommit` and `script/projectname` stay pixa's
|
||||
own. `script/bootstrap` installs git, make and Go, refreshing apt's package
|
||||
lists before its first apt install; with `--cgo`, which only the `test` phase
|
||||
and the build stage pass, it also installs the C compiler and the libvips and
|
||||
libheif libraries. The stage that compiles still takes the version from
|
||||
`git describe` when no `VERSION` is given, per
|
||||
https://git.eeqj.de/sneak/pixa/issues/166, so the copied scripts' comment that
|
||||
`.dockerignore` leaves out `.git` does not hold for pixa.
|
||||
- 2026-10-04 load test (closes #81): `script/loadtest [duration [clients]]`
|
||||
(`make loadtest`, defaults `10s` and `4`), a benchmark that `script/check`
|
||||
does not run, measures three scenarios, each against a new pixad container and
|
||||
|
||||
Reference in New Issue
Block a user