fix: read simship image URLs for the 2025-gen2-tl sku - #9170
Merged
Conversation
extract_windows_image_urls matches WINDOWS_SKU exactly and had no 2025-gen2-tl branch, so the Trusted Launch sku fell through to the default case, printed "Unsupported WINDOWS_SKU" and left the nanoserver and servercore URLs empty. The empty check that follows only warns, so the build degraded quietly instead of failing. Trusted Launch consumes the same base VHD and container images as 2025-gen2 (both pipeline stages pass the same WINDOWS_2025_GEN2_BASE_IMAGE_URL and the same payload URL), so the existing branch is reused as is and no new payload keys are needed. The PowerShell half of this path already matches on a *2025* wildcard, which is why only the bash half missed the sku. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c5187c2-a4d2-4936-9de2-af1dffd83835
Shun Lyu (sinmentis)
requested review from
Chou Hu (AbelHu),
Devinwong,
Sri Harsha (SriHarsha001),
Nishchay (awesomenix),
Calvin S. (calvin197),
Cameron Meissner (cameronmeissner),
Sylvain Boily (djsly),
Ganeshkumar Ashokavardhanan (ganeshkumarashok),
Karen Chen (karenychen),
lilypan26,
Mark Ibrahim (mxj220),
Peter Damianov (pdamianov-dev),
Patrick W. Healy (phealy),
r2k1,
Runzhen (runzhen),
sulixu,
Tim Wright (timmy-wright),
Thibault Cohen (titilambert),
Xu Xue (xuexu6666) and
Zachary (zachary-bailey)
as code owners
August 10, 2026 22:17
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes the Windows VHD build “simship payload” path by ensuring extract_windows_image_urls() recognizes the 2025-gen2-tl SKU and extracts the same base/nano/core image URLs as 2025-gen2, instead of falling through to the unsupported default case.
Changes:
- Update the
WINDOWS_SKUcase match to include2025-gen2-tlin the existing2025-gen2branch. - Ensure
2025-gen2-tlreadsWINDOWS_2025_GEN2_BASE_IMAGE_URLplus the existing 2025/2022 nano & core image URL keys from the simship JSON.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
Windows Unit Test Results 3 files 12 suites 52s ⏱️ Results for commit aa7d288. |
Tim Wright (timmy-wright)
approved these changes
Aug 11, 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.
What this PR does / why we need it:
extract_windows_image_urls()invhdbuilder/packer/produce-packer-settings-functions.shmatchesWINDOWS_SKUexactly. When2025-gen2-tlwas added in #8768 this case statement wasn't updated, so the Trusted Launch SKU falls through to the default branch, printsUnsupported WINDOWS_SKU: 2025-gen2-tland leaveswindows_nanoserver_image_urlandwindows_servercore_image_urlempty. The empty check right after it only echoes a warning, so the build degrades quietly instead of failing.This only fires on the simship path (
useContainerUrlsFromJson=true), which is why theRelease_20260715.1build passed. It bites anyone testing the TL SKU against a WCCT simship payload.Trusted Launch consumes the same base VHD and the same container images as regular
2025-gen2. Both stages in.build-and-test-windows-vhds-template.yamlalready pass the same$(WINDOWS_2025_GEN2_BASE_IMAGE_URL),$(WINDOWS_2025_NANO_IMAGE_URL),$(WINDOWS_2025_CORE_IMAGE_URL)and the same payload URL. Only the gallery image definition's security type and packer's security profile differ. So the existing branch is reused as is and no new payload keys are needed.The PowerShell half of this path (
windows-vhd-content-test.ps1) already matches on a*2025*wildcard, which is why only the bash half missed the SKU.Verification
Sourced the function with a synthetic payload and compared
origin/mainagainst this branch,WINDOWS_SKU=2025-gen2-tl:Output is byte-identical to
2025-gen2. Unknown SKUs still hit the default branch and printUnsupported WINDOWS_SKU.shellcheck -S erroris clean.Which issue(s) this PR fixes:
N/A