frontend: gate the Docker build on make check (closes #11) #12

Open
clawbot wants to merge 1 commits from issue-11-frontend-ci into main
Collaborator

Resolves #11. The frontend/root Dockerfile ran only RUN yarn build, so script/lint and script/fmt-check (prettier) never gated CI — only a broken build failed it. (script/cibuild's comment even claimed "the Dockerfile runs make check", which was false.) The backend Dockerfile.backend already runs make check; nothing covered the frontend's lint/fmt-check.

Change (single file, Dockerfile):

  • apk add ... git -> apk add ... git make (build stage needs make).
  • RUN yarn build -> RUN make check — which runs script/test (yarn build, producing dist/) then script/lint + script/fmt-check. dist/ is still produced in one build (no redundant rebuild); the final nginx runtime image is unchanged.

Verified via a fresh clone (a worktree's .git pointer breaks vite's git rev-parse, so builds must come from a real checkout — as CI's actions/checkout provides): positive docker build succeeds with in-image make check green; a negative test (a prettier-violating but build-valid file) makes the build fail at make check, confirming CI now goes red on a check regression, not just a broken build.

Left open for review (not merged).

Resolves #11. The frontend/root `Dockerfile` ran only `RUN yarn build`, so `script/lint` and `script/fmt-check` (prettier) never gated CI — only a broken build failed it. (`script/cibuild`'s comment even claimed "the Dockerfile runs make check", which was false.) The backend `Dockerfile.backend` already runs `make check`; nothing covered the frontend's lint/fmt-check. Change (single file, `Dockerfile`): - `apk add ... git` -> `apk add ... git make` (build stage needs `make`). - `RUN yarn build` -> `RUN make check` — which runs `script/test` (`yarn build`, producing `dist/`) then `script/lint` + `script/fmt-check`. `dist/` is still produced in one build (no redundant rebuild); the final nginx runtime image is unchanged. Verified via a fresh clone (a worktree's `.git` pointer breaks `vite`'s `git rev-parse`, so builds must come from a real checkout — as CI's `actions/checkout` provides): positive `docker build` succeeds with in-image `make check` green; a negative test (a prettier-violating but build-valid file) makes the build fail at `make check`, confirming CI now goes red on a check regression, not just a broken build. Left open for review (not merged).
clawbot added 1 commit 2026-07-26 20:57:00 +02:00
frontend: gate the Docker build on make check (closes #11)
All checks were successful
check / check (push) Successful in 25s
7468b4e5f6
The frontend Dockerfile ran only yarn build, so the container build
failed only on a broken build, not on lint or fmt-check regressions --
while script/cibuild's comment already assumed the Dockerfile ran make
check. Install make in the build stage and run make check (test + lint
+ fmt-check) in place of the bare yarn build. Its test step is the
production yarn build, so dist/ is still produced in a single build with
no redundant rebuild, and CI now goes red on any check failure.
All checks were successful
check / check (push) Successful in 25s
Required
Details
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin issue-11-frontend-ci:issue-11-frontend-ci
git checkout issue-11-frontend-ci
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/netwatch#12