Problem
.github/workflows/build.yml builds and publishes win-x64 only:
- name: Build
run: dotnet build md2loop/md2loop.csproj -c Release -r win-x64
.github/workflows/release.yml builds a matrix of win-x64 and win-arm64.
Impact
ARM64 is never compiled on push/pull_request. An ARM64-specific break — a native dependency, a RID-specific package resolution failure, a trimming difference — is only discovered when a v* tag is pushed, i.e. during a release, when it is most expensive to fix.
Suggested fix
Add a RID matrix to build.yml mirroring the release workflow:
strategy:
matrix:
rid: [win-x64, win-arm64]
Two additional considerations:
- The CI publish output is currently discarded. Uploading it as an artifact makes PR builds inspectable.
- CI publishes without
-p:IncludeNativeLibrariesForSelfExtract=true, while release.yml and installer/build.ps1 both pass it. CI should use identical publish flags so it validates what actually ships.
Problem
.github/workflows/build.ymlbuilds and publisheswin-x64only:.github/workflows/release.ymlbuilds a matrix ofwin-x64andwin-arm64.Impact
ARM64 is never compiled on
push/pull_request. An ARM64-specific break — a native dependency, a RID-specific package resolution failure, a trimming difference — is only discovered when av*tag is pushed, i.e. during a release, when it is most expensive to fix.Suggested fix
Add a RID matrix to
build.ymlmirroring the release workflow:Two additional considerations:
-p:IncludeNativeLibrariesForSelfExtract=true, whilerelease.ymlandinstaller/build.ps1both pass it. CI should use identical publish flags so it validates what actually ships.