Run independent native ARM64 tests even when codegen diagnostics fail
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Observed CI gap
At PR #574 head `ed149e7553c06efc30b5167920cc301563d6afb3`, the [native Windows ARM64 job](https://github.com/wavefnd/Wave/actions/runs/34583004824/job/103210688545) builds the compiler and passes Clippy, then fails its codegen diagnostic probe. The following steps are consequently **skipped**:
- `Check native Windows process supervision`
- `Run native ARM64 unit and frontend driver tests`
- `Check native MSVC companion artifact publication`
The Python process-supervision tests do not use LLVM or the compiler. The library/frontend tests previously passed with the same underlying #493 codegen crash. Putting all of these behind the diagnostic step removes independent native coverage precisely when it is needed.
Source: [native job ordering](https://github.com/wavefnd/Wave/blob/ed149e7553c06efc30b5167920cc301563d6afb3/.github/workflows/rust.yml#L927).
## Bounded change
Run compiler-independent checks before the codegen probe, and order the already-buildable library/frontend checks so a codegen failure does not suppress them. Keep compiler-dependent link tests and native smoke checks explicitly dependent on their prerequisites. Preserve the failing diagnostic result; do not use blanket success overrides.
Acceptance:
- [ ] A forced failure of the codegen probe still leaves a recorded result for native Python supervision and the independent Rust tests.
- [ ] Missing build/setup prerequisites do not trigger misleading follow-on failures.
- [ ] The job remains failed when codegen fails; all current checks remain present.
This is a small workflow-ordering task, separate from fixing #493 or implementing #507. No compiler redesign is required.
Contributor guide
Research direction
Start in .github/workflows/rust.yml around line 927 and inspect the native Windows ARM64 job's step ordering and dependencies. Run or simulate the codegen diagnostic failure, then verify that native Python supervision and independent Rust library/frontend tests still produce results while prerequisite-dependent checks remain gated. Done means the codegen failure is preserved, the job still fails, and all current checks remain present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python, rust
- Domain
- build-system, ci-cd, testing
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 86/100