Skip to content

ci(resilience): wasm-seam gate + disk cleanup + hosted traceability fallback (REQ-268/271/272)#732

Merged
avrabe merged 1 commit into
mainfrom
feat/v0.30-ci-resilience
Jul 23, 2026
Merged

ci(resilience): wasm-seam gate + disk cleanup + hosted traceability fallback (REQ-268/271/272)#732
avrabe merged 1 commit into
mainfrom
feat/v0.30-ci-resilience

Conversation

@avrabe

@avrabe avrabe commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

v0.30 CI-resilience slice — three requirements, one coherent workflow change

REQ Issue What
REQ-268 per-PR wasm SEAM gate. The composition core is a Wasm component (compose-witness + WIT) + the host wasm feature, consumed downstream (melded → loomed → synth'd). Built only in release.yml today → a change can rot the seam undetected until release. Adds a narrow wasm paths-filter + a wasm-seam job: cargo build -p rivet-cli --features wasm (host-side wasmtime, cheap/reliable, no wasi-sdk) + cargo check on compose-witness. Full wasm32-wasip2 build stays in release.yml.
REQ-271 #567 runner disk cleanup that actually frees space. New .github/actions/free-space composite action prunes docker/bazel/cargo caches + /tmp and reports before/after free bytes (auditable, not a silent no-op like the old hook). Wired into the wasm-seam job; reusable.
REQ-272 #509 SPOF mitigation (slice 2). traceability-hosted-fallback job mirrors rivet validate on ubuntu-latest, push-to-main only, so a self-hosted outage can't leave a main commit with zero traceability verification. Compile-heavy gates stay self-hosted; this is a floor.

Verified locally

  • cargo build -p rivet-cli --features wasmexit 0; cargo check --manifest-path compose-witness/Cargo.tomlexit 0 (both gate commands build).
  • actionlint + yamllint clean on the new jobs + composite action (only pre-existing custom-label warnings).
  • rivet validate PASS.

REQ-273 (AADL static-export fallback, #468) ships as a separate PR. Cutting v0.30.0 once all four land.

Implements: REQ-268, REQ-271, REQ-272 · Refs: REQ-051

🤖 Generated with Claude Code

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ 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: b6ea755 Previous: 665961e Ratio
traceability_matrix/1000 58680 ns/iter (± 182) 46299 ns/iter (± 357) 1.27
query/10000 314576 ns/iter (± 2143) 223643 ns/iter (± 1956) 1.41

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

📐 Rivet artifact delta

Change Count
Added 0
Removed 0
Modified 3
Downstream impacted (depth ≤ 5) 0

Graph

graph LR
  REQ_268["REQ-268"]:::modified
  REQ_271["REQ-271"]:::modified
  REQ_272["REQ-272"]:::modified
  classDef added fill:#d4edda,stroke:#28a745,color:#155724
  classDef removed fill:#f8d7da,stroke:#dc3545,color:#721c24
  classDef modified fill:#fff3cd,stroke:#ffc107,color:#856404
  classDef overflow fill:#e2e3e5,stroke:#6c757d,color:#495057,stroke-dasharray: 3 3
Loading
Modified
ID Changes
REQ-268
REQ-271
REQ-272

📎 Full HTML dashboard attached as workflow artifact rivet-delta-pr-732download from the workflow run.

Posted by rivet-delta workflow. The graph shows only changed artifacts; open the HTML dashboard (above) for full context.

@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…allback

Three v0.30 CI-resilience slices in one coherent workflow change:

REQ-268 — per-PR wasm SEAM build gate. The composition core is exposed as a
Wasm component (compose-witness + WIT) plus the host `wasm` feature, consumed
downstream (melded → loomed → synth'd). Built only in release.yml today, so a
change can rot the seam undetected until release. Adds a narrow `wasm`
paths-filter to the `changes` job and a `wasm-seam` job that runs
`cargo build -p rivet-cli --features wasm` — the host-side wasmtime path
(cheap, reliable, no wasi-sdk), which exercises wasm_runtime.rs + the wasmtime
integration + the composition core the component wraps. The full
wasm32-wasip2 component build (cargo-component, which generates
compose-witness's gitignored bindings.rs) stays in release.yml.

REQ-271 (#567) — self-hosted runner disk cleanup that actually frees space. A
reusable .github/actions/free-space composite action prunes docker / bazel /
cargo caches + /tmp and reports before/after free bytes so the effect is
auditable — not a silent no-op like the old post-job hook. Wired into the
wasm-seam job; reusable by any compile-heavy job.

REQ-272 (#509 slice 2) — single-point-of-failure mitigation. Every gate runs
self-hosted, so an outage zeroes out all of main's verification (slice 1
shipped the liveness alert). Adds a traceability-hosted-fallback job that
mirrors `rivet validate` on GitHub-hosted ubuntu-latest, push-to-main only, so
a self-hosted outage cannot leave a main commit with zero traceability
verification. Compile-heavy gates stay self-hosted; this is a floor.

Confirmed: cargo build -p rivet-cli --features wasm builds (exit 0);
actionlint + yamllint clean on the new jobs/action; rivet validate PASS.

Implements: REQ-268, REQ-271, REQ-272
Refs: REQ-051
@avrabe
avrabe force-pushed the feat/v0.30-ci-resilience branch from b6ea755 to c6f8ff0 Compare July 23, 2026 08:02
@avrabe
avrabe merged commit ae8925f into main Jul 23, 2026
29 of 30 checks passed
@avrabe
avrabe deleted the feat/v0.30-ci-resilience branch July 23, 2026 11:13
avrabe added a commit that referenced this pull request Jul 23, 2026
#736)

Bumps workspace 0.29.0 -> 0.30.0 (rivet-core, rivet-cli, etch) + vscode-rivet.

v0.30 scope (all implemented + merged, CI-green):
- REQ-268 per-PR wasm-seam CI gate (#732)
- REQ-271 self-hosted runner disk cleanup (#567, #732)
- REQ-272 hosted traceability fallback (#509, #732)
- REQ-273 honest AADL static-export fallback (#468, #734)

Trace: skip
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