fix: decouple lint stage from web-builder in Dockerfile
All checks were successful
check / check (push) Successful in 5s

Remove COPY --from=web-builder from the lint stage so it can run
independently and fail fast. Create placeholder files for the
go:embed directive instead. The build stage still uses the real
SPA assets from web-builder.

Update README to reflect that lint no longer depends on web-builder.
This commit is contained in:
clawbot
2026-03-10 02:45:27 -07:00
parent 91da9eb8c7
commit aa746177e5
2 changed files with 7 additions and 3 deletions

View File

@@ -1854,9 +1854,11 @@ The Dockerfile is a four-stage build:
1. **web-builder**: Installs Node dependencies and compiles the SPA (JSX →
bundled JS via esbuild) into `web/dist/`
2. **lint**: Runs formatting checks and golangci-lint against the Go source
(with the built SPA assets copied in)
(uses empty placeholder files for `web/dist/` so it runs independently of
web-builder for fast feedback)
3. **builder**: Runs tests and compiles static `neoircd` and `neoirc-cli`
binaries (CLI built to verify compilation, not included in final image)
binaries with the real SPA assets from web-builder (CLI built to verify
compilation, not included in final image)
4. **final**: Minimal Alpine image with only the `neoircd` binary
### Binary