Repository navigation
fix(runners): pin Windows WSL2 kernel to 5.15.167.4 (WSL 2.4.13) — unblock msi-e2e-tests - #1114
Merged
Merged
Conversation
…nblock msi-e2e-tests The Windows runner every-boot startup script ran an unpinned `wsl --update`, which has no version flag and floats the WSL2 kernel to whatever is newest at boot. It drifted to kernel 6.18.x, which regressed the finch `additional_disk` e2e spec (the container task does not survive vm remove + re-init on 6.18), deterministically failing the `msi-e2e-tests` job in build-and-test-msi. Replace `wsl --update` with a pinned standalone WSL 2.4.13 MSI install (bundles kernel 5.15.167.4, the last CI-green version), download-then-verify against a SHA256 guard before running msiexec. Dollar-vars in the here-string are escaped (backtick-$) so they evaluate at boot rather than at CDK ExpandString time. Infra CI-runner user-data only; no finch product/installer change. Signed-off-by: Arjun Yogidas <arjunry@amazon.com>
coderbirju
force-pushed
the
pin-windows-wsl-kernel
branch
from
September 4, 2026 06:05
6098283 to
f2ddf7b
Compare
coderbirju
marked this pull request as ready for review
September 4, 2026 06:34
shashank-boyapally
approved these changes
Sep 4, 2026
sondavidb
approved these changes
Sep 4, 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
The Windows runner every-boot startup script (
scripts/windows-runner-user-data.yaml) runs an unpinnedwsl --update.wsl --updatehas no version flag — it floats the bundled WSL2 kernel to whatever is newest at boot. Runners drifted from kernel 5.15.167.4 up to 6.18.x, and the newer kernel regressed the finchadditional_diske2e spec (the container task does not survivevm remove+ re-init on 6.18).Evidence
msi-e2e-tests(workflow build-and-test-msi, inrunfinch/finch) fails deterministically.additional_diskspec on kernel 6.18.33.2.Fix
Replace
wsl --updatewith a pinned standalone WSL 2.4.13 MSI install:wsl.2.4.13.0.x64.msifrom the microsoft/WSL 2.4.13 release.A327590770BD334878FB47113355AA07CFCF056ACDC08F5E5646A2418C66D721before install;throwon mismatch.msiexec /i ... /quiet.$) so they evaluate at boot, not at CDKExpandStringwrite time.Scope
Infrastructure CI-runner user-data only. No change to the finch product, installer, or MSI.
+11 / -1in one file.Validation
npm ci✓npm run build(tsc) ✓npm test(jest unit, 12 suites / 15 tests) ✓cdk synth— context-blocked locally (needs AWS account credentials for context lookups); not run against AWS. Repo PR checks will exercise synth/build.CI limitation (important)
This infra repo's PR checks (build / synth / lint) validate the CDK change only. They do not re-run finch
msi-e2e-tests— that lives inrunfinch/finchand only exercises real Windows runners after this merges and the runner fleet recycles onto the new user-data.Follow-up
Root-causing the 6.18 kernel behavior (the actual
additional_diskregression mechanism) is tracked separately. This PR is the unblock; the deeper fix / unpin can follow once 6.18 is understood.