From 608b85f6621950ae542f99b591dcb0d2917bb5ff Mon Sep 17 00:00:00 2001 From: Iamrushabhshahh Date: Thu, 15 Oct 2026 03:48:55 +0530 Subject: [PATCH] ci: fix the Windows e2e job on current GitHub runners The nightly e2e run has failed on Windows every day since early September 2025. Two runner image changes broke the k3s server that knicknic/temp-kubernetes-ci starts: 1. windows-latest moved to Windows Server 2025, which no longer ships wmic, so the kubelet exits with: exec: "wmic": executable file not found in %PATH% Pin the job to windows-2022, which still has it. 2. The runner images now ship Docker 29, which rejects the Docker API version (1.38) used by that k3s build: client version 1.38 is too old. Minimum supported API version is 1.40 Set DOCKER_MIN_API_VERSION=1.38 for the Docker service and restart it before starting k3s. Fixes #1237 Co-authored-by: Iamrushabhshahh Signed-off-by: Iamrushabhshahh --- .github/workflows/e2e-test.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index a2c7d055..45dce850 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -30,7 +30,10 @@ jobs: e2e-windows: name: e2e test on windows - runs-on: windows-latest + # Pinned to Windows Server 2022. windows-latest moved to Windows Server + # 2025 in September 2025, which no longer ships wmic, so the kubelet in + # k3s from knicknic/temp-kubernetes-ci cannot start there (see #1237). + runs-on: windows-2022 steps: - name: checkout code uses: actions/checkout@v2 @@ -49,6 +52,15 @@ jobs: # Install K3d. scoop install k3d + - name: allow the Docker API version used by k3s + shell: powershell + run: | + # The k3s build used by knicknic/temp-kubernetes-ci talks to Docker + # with API version 1.38. Docker 29 on the runner rejects anything + # older than 1.40 unless DOCKER_MIN_API_VERSION is set for the daemon. + New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\docker -Name Environment -PropertyType MultiString -Value @("DOCKER_MIN_API_VERSION=1.38") -Force | Out-Null + Restart-Service docker + docker version - name: setup K3s uses: knicknic/temp-kubernetes-ci@v1 - name: run e2e