Repository navigation
Run the release demos in CI from one shared list - #224
Merged
Merged
Conversation
The demos Release Evidence reproduces now come from scripts/release/run-demos.sh, which the CI development gate also runs, so a broken demo fails its pull request instead of the multi-hour release run. Release Evidence looks for a prior pass only on a tag push, never on a dispatch from a tag. The reuse finder no longer expands run ids as file name patterns, its cram covers 40-character non-hex names, and the docs say a cancelled stale release head can still be tagged and then reproduces in full.
Review follow-ups: run-demos.sh feeds its list through a here-document, as the temporary storage policy requires; the stale release head wording names the one case where its tag can still reuse a pass.
jbwinters
enabled auto-merge (squash)
November 9, 2026 05:09
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.
Release process, second part: run the release demos in CI, and tighten tag reuse of release evidence.
Demos in CI:
scripts/release/run-demos.shholds the one list of the 15 demos Release Evidence reproduces.--listprints them; with no argument it runs each from the repository root on the checkout's build (JACQUARD unset, the repo prelude, stdin closed), reports every failure, and exits 1 if any failed. It writes no temporary files.scripts/release/reproduce-0.3.shcaptures the demos from that list, with the same transcript names and commands as before; the list is read on fd 3 so a demo reading stdin cannot consume it.scripts/release/run-demos.shafter the full test suite (about 90 s locally), so a broken demo fails its pull request instead of the multi-hour release run.Release Evidence:
jacquard-core-*tag push (github.event_name == 'push'), never on a manual dispatch from a tag, whoserefinput may name other code.scripts/release/find-prior-evidence.shno longer expands run ids as file name patterns (set -f);test/cli/release-evidence-reuse.talso refuses 40-character commit and base names that are not lowercase hex.docs/ci-cd.mdnow say a cancelled stale release head can still be tagged; its tag then reproduces in full unless another successful release push run of the same commit left a marker.Docs:
docs/ci-cd.md(gate command list),AGENTS.mdandREADME.mdgate summaries, and the 0.3 slice log. Inventory unchanged: 1246 tests, 85 cram files, 57 doctest examples.Verification: full local gate (temporary storage policy, build,
dune runtest, formatting) exit 0 on this tree;run-demos.shexit 0; the reuse cram passes.