Skip to content

Run the Docker image smoke test on release branches, not only main - #2565

Merged
kriszyp merged 1 commit into
mainfrom
kris/docker-smoke-release-branches
Sep 11, 2026
Merged

Run the Docker image smoke test on release branches, not only main#2565
kriszyp merged 1 commit into
mainfrom
kris/docker-smoke-release-branches

Conversation

@kriszyp

@kriszyp kriszyp commented Sep 10, 2026

Copy link
Copy Markdown
Member

docker-smoke.yml's push trigger was branches: [main], so no release branch has ever run it. That matters because the publish workflow builds the image from a release branch, and this smoke test is the only thing in CI that boots the built image — a v5.x branch could carry an image that fails at startup and nothing in its own CI would say so.

Found while verifying v5.2 for the 5.2 patch. #2560's shrinkwrap single-instance guard was cherry-picked onto v5.2 precisely so the release branch would prove that root and @harperfast/rocksdb-js share one msgpackr instance — and the only check that runs that guard could not fire there. The property had to be verified by hand instead:

ONE INSTANCE   msgpackr                       v2.0.6
ONE INSTANCE   @harperfast/extended-iterable  v1.0.3
ONE INSTANCE   ordered-binary                 v1.6.1

resolved from both the root and from rocksdb-js's own resolution path, plus the checker's own suite 20/20 on v5.2. That is the evidence the smoke test would have produced automatically.

Uses the same branch pattern as unit-test.yml ([main, 'v[0-9]+.[0-9]+']), which already covers both. The paths: filter is unchanged, so this only fires on release-branch pushes that actually touch the image inputs.

Verification

The workflow parses and the trigger resolves as intended:

push branches: ['main', 'v[0-9]+.[0-9]+']
jobs: ['smoke']

Trigger-only change; there is no behaviour to unit test. The job itself is unchanged and is exercised by this PR's own pull_request run.

Note for whoever merges

Milestone deliberately left unset. Setting it to v5.2 would cherry-pick this onto the release branch and give v5.2 real image coverage — but it introduces a new check on a branch that is otherwise green and ready to tag, so that is a release-timing call rather than a code one.

🤖 Generated with Claude Code

The publish workflow builds the image from a release branch, and this smoke
test is the only thing that boots the built image — but its push trigger was
`branches: [main]`, so no release branch has ever run it. A v5.x branch could
carry an image that fails at startup and nothing in its own CI would say so.

Found while verifying v5.2 for a 5.2 patch: the shrinkwrap single-instance
guard was cherry-picked onto v5.2 specifically so the release branch would
prove root and rocksdb-js share one msgpackr instance, and the check it runs
under could not fire there. That property had to be verified by hand instead.

Uses the same branch pattern as unit-test.yml, which already covers both.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@claude

claude Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Reviewed; no blockers found.

@kriszyp
kriszyp merged commit 6e3fa42 into main Sep 11, 2026
44 checks passed
@kriszyp
kriszyp deleted the kris/docker-smoke-release-branches branch September 11, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant