Keep independent Windows GNU Rust regressions running after a corpus failure
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Observed at PR #631 head `d811e0c2accc8997eecb5071f8752f88e9fb44e4`. [Failing CI job](https://github.com/wavefnd/Wave/actions/runs/34737095086/job/103670349649).
In #631 the Windows GNU amd64 compiler builds successfully, then the corpus step fails on one module. Because `Run Rust tests` follows it with the default success condition, all Rust regressions in that job are skipped, including the new native I/O harness.
The Windows ARM64 job records a timed-send failure, but we have no native Windows GNU amd64 comparison from this run even though its compiler was already built. The separate Wave Cases job passing does not execute `std_io_regressions`.
Scope: arrange independent post-build validation so a corpus failure does not suppress Rust runtime tests (separate dependent jobs or explicit prerequisite-aware conditions). Keep both checks mandatory and preserve the corpus failure. Do not use blanket continue-on-error or run compiler-dependent checks when setup/build failed.
Acceptance:
- Injecting a corpus-check failure after successful setup/build still records a Rust test result.
- Failed build/setup skips dependent checks with an accurate reason.
- Cancellation is respected and either validation failure still fails the job.
- No loss of current corpus/example/Rust coverage.
Related to #575, which is specifically about native ARM64 checks behind codegen diagnostics. This task is the separate Windows GNU corpus-to-Rust dependency visible in this run.
Source references:
- [.github/workflows/rust.yml](https://github.com/wavefnd/Wave/blob/d811e0c2accc8997eecb5071f8752f88e9fb44e4/.github/workflows/rust.yml)
Contributor guide
Research direction
Inspect .github/workflows/rust.yml and the Windows GNU amd64 job at the referenced PR head. Start by tracing the setup/build, corpus, and Run Rust tests dependencies, then reproduce a corpus-check failure after successful setup/build. Done means Rust results remain recorded, failed setup skips dependent checks accurately, cancellation is respected, either validation failure fails the job, and existing coverage is preserved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100