feat: release-to-release delta in export + CI snapshot workflow#97
Merged
feat: release-to-release delta in export + CI snapshot workflow#97
Conversation
Export auto-detects the most recent snapshot in snapshots/ and renders Δ columns in stats and coverage views: - Summary cards show +N/-N badges for artifacts, errors, warnings - By-type table gains a Δ column with per-type changes - Coverage summary shows Δ percentage - Coverage-by-rule table gains a Δ column with per-rule trend Zero config — just have a snapshot file from a previous release and the delta appears automatically in the next export.
Adds a capture-snapshot job to the release workflow that: 1. Runs rivet snapshot capture --name $TAG on every v* tag push 2. Commits the snapshot JSON to main for future delta comparison 3. Passes the snapshot to the compliance report job via artifact The compliance report (rivet export --format html) will auto-detect the previous snapshot and render delta columns in stats/coverage.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Rivet Criterion Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 8edfda2 | Previous: c5ff64c | Ratio |
|---|---|---|---|
traceability_matrix/100 |
5237 ns/iter (± 41) |
4268 ns/iter (± 66) |
1.23 |
traceability_matrix/1000 |
59144 ns/iter (± 356) |
44737 ns/iter (± 301) |
1.32 |
query/10000 |
112534 ns/iter (± 772) |
91411 ns/iter (± 463) |
1.23 |
This comment was automatically generated by workflow using github-action-benchmark.
The compliance report should compare against the PREVIOUS release snapshot (already committed to main), not the one just captured for this release. This correctly shows 'what changed since last release' in the exported HTML delta columns. The capture-snapshot job runs in parallel and commits the new snapshot to main for future release comparisons.
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.
Summary
Closes the delta loop: snapshots captured on release → delta columns in the next release's HTML export.
Export auto-delta
rivet export --format htmlauto-detects the most recent snapshot insnapshots/+N/-Nbadges for artifacts, errors, warningsCI snapshot workflow
release.yml) gains acapture-snapshotjobv*tag push: runsrivet snapshot capture --name $TAGFlow
Refs #92.
Test plan
cargo test --workspace— all tests passcargo clippy --all-targets -- -D warnings— cleancargo fmt --all -- --check— clean🤖 Generated with Claude Code