Stage native MSVC release packages for amd64 and ARM64 without MinGW runtimes
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Part of #611. Difficulty: **high**. Audit baseline: master `3950416e` (2026-09-12).
## Current evidence
[x.py](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/x.py#L202) recognizes GNU x64 and MSVC ARM64 as Windows release targets, omitting MSVC x64. [x.py](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/x.py#L692) requires and copies a complete ARM64 llvm-mingw tree. [.github/workflows/release.yml](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/.github/workflows/release.yml#L789) publishes a GNU amd64 archive and stages ARM64 with MinGW.
## Scope
Implement MSVC x64/ARM64 target selection, feature-limited Cargo builds, archive naming, staging and release aggregation consistently. Remove mandatory MinGW staging from the MSVC package path. Make the supplied compiler tools and runtime inputs sufficient for the advertised installation model, and state any Windows SDK/Build Tools prerequisite clearly. Bundle only appropriate redistributable components with provenance/notices; do not copy an arbitrary Visual Studio installation.
## Completion criteria
Both architectures produce archives and checksums with MSVC names and correct PE machine types. Packaging requires no GCC, GNU Rust, crt2.o, libmingw archives or llvm-mingw tree for MSVC targets. Include required COFF linker tools and verified dependency closure. Existing non-Windows packages remain functional. Generated-program linking and SDK discovery work from an extracted archive under the chosen installation model. Publishing checks consume the new names; an archive rename alone is insufficient.
## Dependencies and boundaries
#292, #498; #612, #613, #629, #622; acceptance is exercised by #624. Final removal of old GNU paths belongs to #626.
Contributor guide
Research direction
Start with x.py at the target-selection and staging logic around lines 202 and 692, then inspect .github/workflows/release.yml around line 789 and the dependency issues #292, #498, #612, #613, #629, and #622. Verify both MSVC architectures produce correctly named archives, checksums, PE machine types, and usable extracted installations without MinGW inputs; use #624 for acceptance coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python, rust
- Domain
- build-system, compilers, operating-systems, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100