Optimize CI pipeline: merge check jobs, remove docker install, improve layer caching #63

Merged
chrisp merged 1 commit from ci/optimize-pipeline-further into main 2026-06-01 04:42:14 +00:00
Owner

Summary

  • Merge typecheck + lint → single `check` job: eliminates one full job lifecycle (runner allocation, checkout, `npm ci`, teardown) for an expected ~2-4 min wall-clock savings on every PR and main push
  • Remove `apt-get install docker.io`: Docker CLI and buildx v0.23.0 are now pre-installed in the custom `brackt-runner:latest` image, so the install step is no longer needed
  • Dockerfile `build-env` layer ordering: copy node_modules and config files before source so registry cache hits are preserved on config-only changes
  • Expand `.dockerignore`: exclude `.forgejo`, `.git`, `.claude`, `docs`, `plans`, `cypress`, logs, `.env*`, and `tsbuildinfo` files to reduce build context size

Test plan

  • Confirm `check` job passes (lint + typecheck run sequentially)
  • Confirm `build` job runs without the docker install step (buildx available from runner image)
  • Compare step timings vs previous runs — "set up docker buildx" and "complete job" should be faster
## Summary - **Merge typecheck + lint → single \`check\` job**: eliminates one full job lifecycle (runner allocation, checkout, \`npm ci\`, teardown) for an expected ~2-4 min wall-clock savings on every PR and main push - **Remove \`apt-get install docker.io\`**: Docker CLI and buildx v0.23.0 are now pre-installed in the custom \`brackt-runner:latest\` image, so the install step is no longer needed - **Dockerfile \`build-env\` layer ordering**: copy node_modules and config files before source so registry cache hits are preserved on config-only changes - **Expand \`.dockerignore\`**: exclude \`.forgejo\`, \`.git\`, \`.claude\`, \`docs\`, \`plans\`, \`cypress\`, logs, \`.env*\`, and \`tsbuildinfo\` files to reduce build context size ## Test plan - [ ] Confirm \`check\` job passes (lint + typecheck run sequentially) - [ ] Confirm \`build\` job runs without the docker install step (buildx available from runner image) - [ ] Compare step timings vs previous runs — "set up docker buildx" and "complete job" should be faster
chrisp added 1 commit 2026-06-01 04:37:25 +00:00
Optimize CI pipeline: merge check jobs, remove docker install, improve layer caching
All checks were successful
🚀 Deploy / 🧪 Test (pull_request) Successful in 2m26s
🚀 Deploy / ʦ🔍 Typecheck & Lint (pull_request) Successful in 1m23s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
36db8f73ca
- Merge typecheck + lint into a single `check` job to eliminate one full
  job lifecycle and one npm ci invocation (~2-4 min savings)
- Remove `apt-get install docker.io` step — Docker CLI and buildx v0.23.0
  are now pre-installed in the custom brackt-runner:latest image
- Reorder Dockerfile build-env COPY layers so node_modules and config
  files are copied before source, improving registry cache hit granularity
- Expand .dockerignore to exclude .forgejo, .git, docs, plans, cypress,
  logs, .env files, and tsbuildinfo files from the build context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chrisp merged commit c0503a91a6 into main 2026-06-01 04:42:14 +00:00
chrisp deleted branch ci/optimize-pipeline-further 2026-06-01 04:42:14 +00:00
Sign in to join this conversation.
No description provided.