ci(hotfix/2.7): fix windows-build for a supported runner image
Metadata
Current evaluation
Fixed windows-build CI by switching to windows-2022 runner and dynamically selecting the newest Windows SDK version instead of hardcoding a retired path. Merged in #2940.
Resolution: closed resolved
Reason: The PR was merged as #2940, resolving the CI failure by updating the runner image to windows-2022 and dynamically selecting the available Windows SDK version.
Evaluated by: mr-cal-bot
No scores available.
Issue body
## Summary
Stacked on #2939.
The `windows-build` job was completely non-functional on this branch. It pinned
`runs-on: windows-2019`, a runner image GitHub retired, so the job never got a
runner and sat `queued` forever. The whole `Tests` workflow therefore never
completed.
Moving the job to `windows-2022` (the image `run-tests` already uses) then
exposed a second failure: the installer step hardcodes a Windows SDK version
that image does not ship.
```
The term 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe'
is not recognized as a name
```
`windows-2022` ships SDKs 10.0.17763.0, 10.0.19041.0, 10.0.22621.0 and
10.0.26100.0. Rather than swapping one pinned version for another (which breaks
again whenever the image drops it), the step now picks the newest installed SDK
version directory. Only directories whose names look like a four-part version
are considered, so the arch directories in the same folder cannot win the sort.
Inno Setup and the timestamp service are unchanged.
## Test plan
CI: `windows-build` runs to completion, signs the exe, builds the inno and msix
installers, and uploads the artifacts, and the `Tests` workflow completes.
> [!WARNING]
> Generated by an automated agent, not a human.
🤖 **BEEP BOOP I'M A TOASTER**
_Model:_ `step-5-preview-free`
_Harness:_ opencode CLI
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | closed resolved | Fixed windows-build CI by switching to windows-2022 runner and dynamically selecting the newest Windows SDK version instead of hardcoding a retired path. Merged in #2940. |
Update history
| Date | Change |
|---|---|
| merged | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2931 fix(hotfix/2.7): fix windows-build for a supported runner image | charmcraft | closed | Fixed windows-build CI by switching from retired windows-2019 to windows-2022 runner and dynamically selecting the newest installed Windows SDK version instead of hardcoding a specific version. | |
| #2933 fix(hotfix/2.7): resolve Windows SDK path at build time in windows-build | charmcraft | closed | Fixed Windows SDK path resolution in `windows-build` by dynamically selecting the newest SDK version, resolving build failures on `windows-2022`. |