Skip to content

(via norrietaylor): fix(release): verify smoke tests actually ran in nightly provenance chec - #911

Merged
macroscopeapp[bot] merged 1 commit into
pr/release-pipelinefrom
macroscope/pr/release-pipeline
Jul 22, 2026
Merged

(via norrietaylor): fix(release): verify smoke tests actually ran in nightly provenance chec#911
macroscopeapp[bot] merged 1 commit into
pr/release-pipelinefrom
macroscope/pr/release-pipeline

Conversation

@macroscopeapp

@macroscopeapp macroscopeapp Bot commented Jul 22, 2026

Copy link
Copy Markdown

Summary

Adds verification that smoke tests actually ran (and passed) before allowing nightly provenance checks to succeed.

Changes

Updated scripts/verify-nightly-provenance.sh to:

  1. Query the jobs endpoint after finding a matching nightly workflow run
  2. Verify the smoke-success aggregator job has conclusion == "success" (not "skipped")
  3. Fail the provenance check if smoke tests were skipped, missing, failed, or cancelled

This ensures that versions promoted via nightly provenance actually completed the full smoke test suite, preventing releases that bypassed critical validation.

Testing

Added test coverage for:

  • Skipped smoke-success job
  • Missing smoke-success job
  • Failed smoke-success job
  • Cancelled smoke-success job

Note

Macroscope: Fix It For Me

  • This PR originated from this comment in docs: document the release and install pipeline #867.
  • Since auto-merge is on, Macroscope will merge this PR after waiting for checks to pass.
  • If you'd rather not wait, you can always merge this yourself but no further action from you is currently needed.
  • You can also @mention Macroscope in this PR to request further changes.

Activity

Currently: Auto-merged 934546a

Previously

Note

Verify smoke tests passed before accepting nightly provenance in verify-nightly-provenance.sh

  • The script now queries the GitHub jobs endpoint for the matched nightly workflow run and checks that a smoke-success job exists with conclusion success; non-success conclusions or a missing job cause a non-zero exit with a descriptive error message.
  • The success output now includes the smoke-success job status.
  • Tests in verify-nightly-provenance_test.sh cover success, skipped, failure, cancelled, and missing smoke-success outcomes via canned stub responses.
  • Behavioral Change: provenance checks that previously passed will now fail if the matched run did not include a passing smoke-success job.

Macroscope summarized 4c8a03f.

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Free

Run ID: fab38f27-1b88-4fea-824e-1e944aa68096

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@macroscopeapp
macroscopeapp Bot merged commit 934546a into pr/release-pipeline Jul 22, 2026
2 checks passed
@macroscopeapp
macroscopeapp Bot deleted the macroscope/pr/release-pipeline branch July 22, 2026 17:16
norrietaylor added a commit that referenced this pull request Jul 26, 2026
* docs: document the release and install pipeline

Add docs/internal/release-pipeline.md, a maintainer-facing runbook for the
release/install pipeline: release.yml, the stable/unstable/nightly channels,
staging, promotion, pruning, and the operator steps. Marked internal
(publicly visible in the repo, not published to the docs site).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: document nightly-provenance gate and override_provenance input in release-pipeline.md (#900)

Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>

* docs: remove the private docs-repo reference from the promote runbook

The reference-docs promotion dispatch named the docs-site repo and its
GitHub App. That repo is private, so this public repo should not announce
it, and the promote pipeline is being reshaped besides. Describe the
`reference-docs-promoted` dispatch abstractly (it triggers a
docs.minimal.dev rebuild) without naming the target repo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(release): verify smoke tests actually ran in nightly provenance check (#911)

Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>

* docs: remove em-dashes and fix the version-source binary in the release runbook

* fix(scripts): close the no-op-nightly loophole in the provenance gate

smoke-success is if: always() and skip-tolerant, so a no-op nightly run (SHA
already staged, smokes skipped) still concluded success and could vouch for a
version that was never smoked. The gate now also requires the Linux smoke
jobs themselves to have run and passed; smoke-macos alone may be skipped by
the RUN_MACOS_CI kill-switch. Test fixtures move to name/conclusion pairs and
cover the real no-op shape and the kill-switch shape (31 tests). The runbook
text now states the guarantee precisely, drops the unsourced retirement
claim, and documents the channel-endpoint target override.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: macroscopeapp[bot] <170038800+macroscopeapp[bot]@users.noreply.github.com>
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