Repository navigation
Build both RIDs in CI with the publish flags that actually ship - #56
Merged
Merged
Conversation
CI built and published win-x64 only, while release.yml builds a matrix of win-x64 and win-arm64. An ARM64-specific break was therefore only discoverable on a v* tag push, during a release, when it is most expensive to fix. CI also published without IncludeNativeLibrariesForSelfExtract, which both release.yml and installer/build.ps1 pass. That flag changes what ends up inside the single file, so CI was not validating the artifact that ships. The publish step is now flag-for-flag identical to the release path. The publish output was previously discarded; it is now uploaded so PR builds are inspectable, with a short retention because the self-contained exe is large. fail-fast is off so an ARM64 break does not mask the x64 result. Fixes #22 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b721ad5f-9add-4f55-b9c8-7e6d7b0fb3e7
# Conflicts: # .github/workflows/build.yml
# Conflicts: # .github/workflows/build.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #22
CI built and published
win-x64only, whilerelease.ymlbuilds a matrix ofwin-x64andwin-arm64. An ARM64-specific break, a native dependency, a RID-specific package resolution failure, a trimming difference, was only discoverable on av*tag push, that is during a release, when it is most expensive to fix.build.ymlnow runs the same two-RID matrix.fail-fastis off so an ARM64 break does not mask the x64 result.The second half of the issue matters more than the matrix
CI published without
-p:IncludeNativeLibrariesForSelfExtract=true, which bothrelease.ymlandinstaller/build.ps1pass. That flag changes what actually ends up inside the single file, so CI was signing off on an artifact that is not the one that ships. The publish step is now flag-for-flag identical to the release path, which is what makes the matrix worth anything.The publish output was also being thrown away. It is now uploaded so PR builds are inspectable. Retention is capped at 7 days because a self-contained trimmed exe is ~185 MB per RID and this runs on every PR.
Verification
The interesting question is whether ARM64 actually builds, since nothing has ever compiled it outside a release. I ran the exact publish command locally:
It succeeds. The only diagnostics are the
IL2059XamlTypeInfo andIL2104RtfPipe trim warnings, both of which are pre-existing and appear identically on x64, so the new matrix leg will be green rather than immediately red.Workflow file also parsed to confirm the matrix and step structure.
Note for merging
PR #41 (test project) and PR #43 (MSIX packaging) both add steps to
build.ymlas well. Whichever lands second will need a small rebase; the changes are in different steps so it should be mechanical.