wavefnd / wavefnd/Wave

Keep independent Windows GNU Rust regressions running after a corpus failure

Open
#637 0 comments 0 reactions 0 assignees View on GitHub
bug ci good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.