wavefnd / wavefnd/Wave

Run independent native ARM64 tests even when codegen diagnostics fail

Open Beginner friendly
#575 0 comments 0 reactions 0 assignees View on GitHub
bug ci good first issue needs testing
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.