CI: factor Windows setup into composite actions; add plain-Windows jobs - #5342
Open
jandubois wants to merge 1 commit into
Open
CI: factor Windows setup into composite actions; add plain-Windows jobs#5342jandubois wants to merge 1 commit into
jandubois wants to merge 1 commit into
Conversation
This was referenced Jul 27, 2026
jandubois
force-pushed
the
ci-plain-windows-jobs
branch
2 times, most recently
from
July 28, 2026 02:52
fac4aeb to
c7e9fb9
Compare
Move the Windows runner setup out of test.yml into reusable composite
actions, and add windows-plain-{wsl2,qemu} jobs that run Lima on a host
with Git for Windows, MSYS2, and Cygwin removed. The plain-host action
checks the toolchain is gone across filesystem, PATH, known binaries,
and registry, and that the native OpenSSH client is present, so a
runner-image change in either direction fails loudly instead of masking
a regression.
The plain-host check can prove the OpenSSH binaries exist but not which
ssh limactl will resolve, so the selection rules gain unit tests next to
the code that implements them.
With test.yml no longer setting _LIMA_WINDOWS_EXTRA_PATH, that env var
loses its last user, so drop the implementation and its docs entry. It
prepended C:\Program Files\Git\usr\bin to limactl's PATH, which is how
the MSYS2 jobs got a Cygwin ssh.
The MSYS2 jobs install openssh in its place, so they keep exercising the
Cygwin toolchain while the plain jobs exercise the native one. They also
gain rsync. Without it hack/test-templates.sh skips its rsync copy
backend instead of failing, so the path conversion that backend performs
on Windows never runs.
The "windows" job id becomes "windows-wsl2". Its name: is unchanged, so
required status checks are unaffected.
Signed-off-by: Jan Dubois <jan.dubois@suse.com>
jandubois
force-pushed
the
ci-plain-windows-jobs
branch
from
July 29, 2026 01:04
c7e9fb9 to
244c0ca
Compare
Member
Author
jandubois
marked this pull request as ready for review
July 29, 2026 06:19
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.
Move the Windows runner setup out of
test.ymlinto reusable composite actions, and addwindows-plain-{wsl2,qemu}jobs that run Lima on a host with Git for Windows, MSYS2, and Cygwin removed. The plain-host action checks the toolchain is gone across filesystem, PATH, known binaries, and registry, and that the native OpenSSH client is present, so a runner-image change in either direction fails loudly instead of masking a regression.With test.yml no longer setting
_LIMA_WINDOWS_EXTRA_PATH, that env var loses its last user, so the implementation and its docs entry go too. It prependedC:\Program Files\Git\usr\binto limactl's PATH, which is how the MSYS2 jobs got a Cygwin ssh.The MSYS2 jobs install
opensshin its place, so they keep exercising the Cygwin toolchain while the plain jobs exercise the native one. They also gainrsync. Without ithack/test-templates.shskips its rsync copy backend instead of failing, so the path conversion that backend performs on Windows never runs.The "windows" job id becomes "windows-wsl2". Its
name:is unchanged, so required status checks are unaffected.Note that the new plain-Windows jobs run
limactl copyin both directions on a host with no Cygwin toolchain, which is what #5299 fixes, so expect them to fail until that lands.A separate do-not-merge branch runs these jobs together with #5299, #5300, #5337, #5340 and #5341.
Assisted-by: Claude Opus 5