Image: the stylesheet stage copies all of src, so a translation-only commit rebuilds the CSS #1142
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#1142
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What exists today
docker/Dockerfile:32-33copiesassetsand the whole ofsrcinto thestylesstage beforenpm run build:cssat:38. Tailwind only needs whatassets/css/app.cssscans:@source "../../src/postulo"(:96) with@source notforsrc/postulo/localeandsrc/postulo/plugins/*/locale(:135-136), the document themes (:117) andstatic/css(:126). The excluded catalogues still sit in the copied tree, so a change to any.pofile changes the layer's key and the CSS is rebuilt.Correction to the candidate: Python and template changes are scanned too (
@sourcecovers every file undersrc/postulo), so they must rebuild it; only the locale directories can be left out. The win is small, and smaller still once #1033 item 4 moves this stage to$BUILDPLATFORM(the 38 s becomes a few seconds).What would change
Copy what Tailwind reads and leave the catalogues out:
COPY --exclude=src/postulo/locale --exclude=src/postulo/plugins/*/locale src ./src(the--excludeflag of the Dockerfile frontend; check that the BuildKit on the runner supports it, or pin the frontend with a# syntax=docker/dockerfile:1line). The@source notlines stay, so a localnpm run build:cssbehaves the same.What it saves or protects
small:
npm run build:css(38 s of arm64 under QEMU per #1033's table, seconds natively) skipped on catalogue-only commits: 59 of the 707 commits on main since 2026-09-30 that touchedsrcchanged only.pofiles orlocale/Accessibility
none
Decisions
stylesstage; file it as its own issue so it is not lost, and link the two.Found by the efficiency and reliability audit of 2026-10-30 (finding I6; index postulo/postulo#1108). Checked against
mainatdaee30b15(2026-10-30).