Skip to content

promote.yml: slsa-build runs where the rung reads the release artifact (unblocks #740); workflow-rules R16 - #750

Closed
MattJackson wants to merge 3 commits into
predevfrom
lane-dev-rung-slsa-build
Closed

MattJackson wants to merge 3 commits into
predevfrom
lane-dev-rung-slsa-build

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Unblocks #740 (promote predev into dev, DEV-GREEN).

Cause. Every #740 run since #743 failed the same way: all four hop shards stop at actions/download-artifact with "Artifact not found for name: slsa-artifact-", and the fold calls the missing shard reports INFRA:ours. The dev rung (ladder.json: oracle + conformance, absolute) makes the preflight write needs_release_artifact=true. That makes each shard wait for slsa-build (ci turnstile await-job), then download slsa-artifact-${SHA} from its own run. But slsa-build was gated to merge_group, so in a pull request into dev it was skipped. await-job treats a skipped job as green ("await-job: slsa-build is green"), so the download ran against an artifact that could never exist. The "digest-mismatch: error" lines are just the action's echoed default input, not a second failure.

Fix.

  • promote.yml: slsa-build now runs on run == '1' && (merge_group || needs_release_artifact == 'true'). A run that judges a promotion builds the release artifact of exactly the commit it promotes, in that same run. The engine is still downloaded and sha256-pinned, and slsa-build is still contents-read only. The engine's R6 wiring check (jobs.slsa-build.if contains run == '1') still holds.
  • workflow-rules R16 (new row, RED-armed): a step that downloads slsa-artifact-* from its own run must be reachable only where a job of that run uploads it. That means it either waits on the builder's success, or the builder's event-narrowed if: admits the step's condition. Selftest mutation: put slsa-build back to merge-group-only. Unit tests cover the promote predev into dev #740 shape, the fixed shape, the soak's wait-on-success spelling, an unconditional download, an orphan download, and run-id: downloads.

…tifact (needs_release_artifact), so the predev->dev pull request's shards download an artifact this run built
…only where it is built; RED-armed by the #740 regression (slsa-build back to merge-group-only)
@github-actions

github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

promote into predev: NO VERDICT @5370413ce

The hop ended without writing a verdict (runner lost, timeout, cancel, or it died before the engine judged): preflight: failure at step Run $RUNNER_TEMP/busbar-release ci preflight; publish: runner lost at step Run $RUNNER_TEMP/busbar-release ci fallback, Post Run actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1.

No failing-test list exists for this run. Run: https://github.com/GetBusbar/busbar/actions/runs/38094737515 . Re-run the hop, or read the job's step list in the run page.

@MattJackson
MattJackson added this pull request to the merge queue Oct 10, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 10, 2026
…fact-download rule renumbered R17; predev's engine-pin rule keeps R16)
@MattJackson

Copy link
Copy Markdown
Collaborator Author

Closed by busbar-release (DEAD): Superseded by #754. The branch is bundled at /Users/matthew/Library/Caches/busbar-release/branch-snapshots/2026-10-11/busbar.bundle.

@MattJackson
MattJackson deleted the lane-dev-rung-slsa-build branch October 11, 2026 00:13
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