fix(docker): let the bun digest artifact be absent, not fatal - #11740
Merged
Merged
Conversation
Follow-up to #11724. That PR made the bun image non-blocking and taught the manifest step to skip its tags when no digest exists — but stopped one step short: the upload still carried `if-no-files-found: error`, so an absent digest (now the *expected* outcome of a skipped bun build) failed the job anyway. Run 33030348950 shows it precisely: both arches died at `Upload bun-base digests`, after the decoupling had already done its part. The blocker had simply moved from the manifest to the upload. - bun digest uploads: `if-no-files-found: ignore` - bun digest downloads: `continue-on-error`, since the artifact may not exist base/web keep `error` on both sides — a supported image producing no digest is still a real failure that must stop the publish.
Contributor
CI Coverage Report
Coverage artifact was not available for this run. |
RaviTharuma
approved these changes
Aug 27, 2026
RaviTharuma
left a comment
Contributor
There was a problem hiding this comment.
Reviewed against failed publish run 33030348950 and the full digest path. The failure is exactly at Upload bun-base digests after base/web builds and their digest uploads succeeded. This change makes only bun upload/download artifacts optional; base/web still use if-no-files-found: error and fatal downloads, and manifest creation still requires both architecture digest files for every emitted tag. This removes the relocated best-effort Bun blocker without masking supported-image failures.
diegosouzapw
added a commit
that referenced
this pull request
Aug 28, 2026
…nc-back step 2/2
The eighteen commits main carries beyond the cycle branch, and what each one
became here:
already in release/v3.8.51 by its own PR (no-op, verified by content):
b090b60 / 026e1ca deps: nanoid 3.3.18 equal, dompurify 3.4.14 newer
918fba5 .gitignore: /_tasks already anchored
5f0a394 #10026 hide health-check-excluded models — same helper, 5 call sites
c68cda7 #11075 shared passthrough providers — superseded by #11071/#11078
superseded, one piece kept:
ca23eed #10055 memoize models.dev pricing — the cycle memoizes on the
catalog cache version already; only the resetDbInstance() hook is
ported, wired to that memo
applied as-is:
8778ea7 stamp dist/BUILD_SHA before the npm provenance gate (#11721)
aa52351 decouple the Bun image from the release manifest (#11724)
925feb2 let the bun digest artifact be absent (#11740)
b65ef33 size the install-upgrade gate to a measured run
0ce2123 #11845 converge install/upgrade schemas (migration renumbered in
the next commit: 163 collides with 163_radar_feed_cache_generated_at)
b7c07ed #11855 install-upgrade gate on disk, not tmpfs
8e2fb04 #11864 drop *.nft.json from the npm tarball (413)
dea6bb8 #11877 publish npm from a hosted runner (provenance 422)
handled by the sync script that follows (CHANGELOG protocol):
b4ec780 Release v3.8.50 — squash of content this branch already carries
5458026 / c44c0a2 CHANGELOG aggregation, stats and top-25
applied separately (its own commit, ten files):
65e8115 #11088 Ollama capability routing — a 5,094-file squash from a
stale base; only the Ollama files are the change
Every cherry-pick that touched a file this branch had also changed was
resolved by hand and re-run through the tests both sides own for it.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…nc-back step 2/2
The eighteen commits main carries beyond the cycle branch, and what each one
became here:
already in release/v3.8.51 by its own PR (no-op, verified by content):
7124dd3 / bae33e2 deps: nanoid 3.3.18 equal, dompurify 3.4.14 newer
ceb8e3e .gitignore: /_tasks already anchored
bf87c7d diegosouzapw#10026 hide health-check-excluded models — same helper, 5 call sites
3816ade diegosouzapw#11075 shared passthrough providers — superseded by diegosouzapw#11071/diegosouzapw#11078
superseded, one piece kept:
b735371 diegosouzapw#10055 memoize models.dev pricing — the cycle memoizes on the
catalog cache version already; only the resetDbInstance() hook is
ported, wired to that memo
applied as-is:
a93d123 stamp dist/BUILD_SHA before the npm provenance gate (diegosouzapw#11721)
dd329d7 decouple the Bun image from the release manifest (diegosouzapw#11724)
a5e649b let the bun digest artifact be absent (diegosouzapw#11740)
e9045c4 size the install-upgrade gate to a measured run
f5addae diegosouzapw#11845 converge install/upgrade schemas (migration renumbered in
the next commit: 163 collides with 163_radar_feed_cache_generated_at)
a38590e diegosouzapw#11855 install-upgrade gate on disk, not tmpfs
8588804 diegosouzapw#11864 drop *.nft.json from the npm tarball (413)
28bde09 diegosouzapw#11877 publish npm from a hosted runner (provenance 422)
handled by the sync script that follows (CHANGELOG protocol):
fc15eef Release v3.8.50 — squash of content this branch already carries
2b80128 / 4398260 CHANGELOG aggregation, stats and top-25
applied separately (its own commit, ten files):
837b36a diegosouzapw#11088 Ollama capability routing — a 5,094-file squash from a
stale base; only the Ollama files are the change
Every cherry-pick that touched a file this branch had also changed was
resolved by hand and re-run through the tests both sides own for it.
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…ouzapw#11740) Follow-up to diegosouzapw#11724. That PR made the bun image non-blocking and taught the manifest step to skip its tags when no digest exists — but stopped one step short: the upload still carried `if-no-files-found: error`, so an absent digest (now the *expected* outcome of a skipped bun build) failed the job anyway. Run 33030348950 shows it precisely: both arches died at `Upload bun-base digests`, after the decoupling had already done its part. The blocker had simply moved from the manifest to the upload. - bun digest uploads: `if-no-files-found: ignore` - bun digest downloads: `continue-on-error`, since the artifact may not exist base/web keep `error` on both sides — a supported image producing no digest is still a real failure that must stop the publish.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #11724 — that PR stopped one step short.
#11724 made the bun image non-blocking and taught the manifest step to skip its tags when no digest exists. But the upload still carried
if-no-files-found: error, so an absent digest — now the expected outcome of a skipped bun build — failed the job anyway.Run 33030348950 shows it exactly: both arches died at
Upload bun-base digests, after the decoupling had already done its part. The blocker had simply moved from the manifest to the upload.Changes
if-no-files-found: ignorecontinue-on-error, since the artifact may not exist at allbase/webkeeperroron both sides — a supported image producing no digest is still a real failure that must stop the publish.Note for review
This is the second time in this cycle that a fix relocated a failure instead of removing it (the first: the npm publish moved from
Checkout→Validate npm package artifactonce disk was freed). Worth checking the whole bun path end to end rather than the one step the log names.