Description
Add a CI check to ui-toolkit that measures and gates Dockerfile build performance — build time, final image size, and layer/cache efficiency — on every PR that modifies a Dockerfile.
This is one of three parallel issues (one per repo: ui-toolkit, crm, website). Implement the check once as a reusable workflow / composite action (hosted centrally, e.g. VilnaCRM-Org/.github) and consume it here, so the repos share one implementation instead of copy-pasting.
Context / lesson learned: Alpine/musl is not always viable — Playwright's bundled browsers are glibc builds, so this repo's Playwright runner uses mcr.microsoft.com/playwright:*-jammy. The check must reward smaller/faster images while allowing documented, justified exceptions (glibc-only toolchains) rather than hard-mandating Alpine.
Dockerfiles in this repo
Tasks
Acceptance Criteria
Related
Description
Add a CI check to
ui-toolkitthat measures and gates Dockerfile build performance — build time, final image size, and layer/cache efficiency — on every PR that modifies a Dockerfile.This is one of three parallel issues (one per repo:
ui-toolkit,crm,website). Implement the check once as a reusable workflow / composite action (hosted centrally, e.g.VilnaCRM-Org/.github) and consume it here, so the repos share one implementation instead of copy-pasting.Context / lesson learned: Alpine/musl is not always viable — Playwright's bundled browsers are glibc builds, so this repo's Playwright runner uses
mcr.microsoft.com/playwright:*-jammy. The check must reward smaller/faster images while allowing documented, justified exceptions (glibc-only toolchains) rather than hard-mandating Alpine.Dockerfiles in this repo
DockerfileDockerfile.playwright(added in PR [Stack 2/3] UI primitives and assets #38 — glibc-bound Playwright runner; expected performance exception)tests/load/Dockerfile(added in PR [Stack 2/3] UI primitives and assets #38)Tasks
workflow_call) / composite action for Dockerfile performance (or help author it inVilnaCRM-Org/.githubif not yet created).dive --ci) and hadolint best-practice/perf rules.# perf-exception: <reason>marker) for images that legitimately can't be slimmed (e.g. the glibc-bound Playwright runner).Acceptance Criteria
ui-toolkit,crm, andwebsite(no per-repo duplication).Related