ci: fix Windows Actions workflows broken by windows-2019 runner retirement#15
Merged
canihavesomecoffee merged 1 commit intoJul 20, 2026
Conversation
canihavesomecoffee
approved these changes
Jul 20, 2026
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.
Problem
Both
build.ymlandrelease.ymltarget thewindows-2019GitHub Actions runner, which was fully retired on June 30, 2025. Jobs on this label can no longer be scheduled, which is why builds started failing after PR #14 merged (unrelated to that PR's actual changes).On top of that, several pinned actions in both workflows are on deprecated majors that either fail outright or emit deprecation warnings on current runners:
actions/upload-artifact@v1.0.0— v1–v3 are hard-blocked by GitHub since Jan 30, 2025; any job using them auto-fails.actions/checkout@v1— pinned to the old Node12 action runtime.nuget/setup-nuget@v1,microsoft/setup-msbuild@v1.1— outdated majors.softprops/action-gh-release@v1— v1/v2 are unmaintained; v3 is current.thedoctor0/zip-release@master— floating branch ref, not a pinned version (supply-chain risk: whoever pushes tomasterupstream changes what runs in our release pipeline).Changes
build.ymlwindows-2019→windows-2022(current supported LTS image)actions/checkout@v1→v4microsoft/setup-msbuild@v1.1→v3, and dropped the hardcoded vs-version pin — per upstream's own README, omitting it lets the action auto-detect the installed VS toolset on GitHub-hosted runners, avoiding the exact kind of pin-goes-stale-on-image-update failure we're fixing here.nuget/setup-nuget@v1→v3actions/upload-artifact@v1.0.0→v4release.ymlthedoctor0/zip-release@master→ pinned to0.7.6(latest tagged release)softprops/action-gh-release@v1→v3Testing
build.ymltriggers onpull_request, so this PR's own CI check is a live smoke test of every change above on the realwindows-2022runner.release.ymlonly triggers onrelease: created, so it is not exercised by this PR — it'll get its first real test on the next tagged release.