perf(integration): cache the runner image instead of rebuilding it every run #116
No reviewers
Labels
No labels
CI/CD
UI/UX
autorelease: pending
bug
docs
duplicate
enhancement
good first issue
help wanted
invalid
question
refactor
size
L
size
M
size
S
size
XL
size
XS
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
noe.trevino/dadbod-ui.nvim!116
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci-114/cache-integration-runner"
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?
The integration job spent ~57s of its ~67s standing up Docker, ~10s running specs. Two perf changes:
run.sh) — they share no resources, so the image work hides inside the DB pull + healthcheck wait.integration/Dockerfile(runner-image.sh, single source of the ref); a new workflow pushes it on pushes tomain/nightly. A pinned-client bump changes the tag, so a stale image can't be served.Nothing here is required:
run.shresolves local → pull → build, so unpublished tags, fork PRs, and arm64 hosts (image is amd64) just build locally as before.DBUI_IT_RUNNER_IMAGE=<ref>overrides the resolved image.Also hardened while here: actions pinned by commit SHA,
persist-credentials: false, secrets via env (not${{ }}in argv), superseded PR runs cancelled (never onmain), each publish records its digest in the job summary.packages: writeexists only on pushes tomain/nightlyand manual dispatch — never reachable from a PR.Local timings (
make test-integration, all green): build fallback 29s, image local 25s, before this PR 52s. First CI run builds — the tag publishes after merge.Maintainer setup (first publish, package visibility, repo settings) and the trust model:
docs/CI_SETUP.md.Refs: #114