mirror of
https://github.com/containerd/containerd.git
synced 2026-06-24 08:48:48 +00:00
Enable CIs to run on WS2022 and WS2025
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
This commit is contained in:
2
.github/workflows/build-test-images.yml
vendored
2
.github/workflows/build-test-images.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
azure_windows_image_id:
|
||||
description: Windows image URN to deploy
|
||||
required: true
|
||||
default: MicrosoftWindowsServer:WindowsServer:2022-datacenter:latest
|
||||
default: MicrosoftWindowsServer:WindowsServer:2025-datacenter:latest
|
||||
azure_vm_size:
|
||||
description: Windows image builder VM size
|
||||
required: true
|
||||
|
||||
17
.github/workflows/ci.yml
vendored
17
.github/workflows/ci.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-13, windows-2019]
|
||||
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-13, windows-2025]
|
||||
|
||||
|
||||
steps:
|
||||
@@ -188,7 +188,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-13, windows-2019, windows-2022]
|
||||
os: [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-13, windows-2022, windows-2025]
|
||||
go-version: ["1.24.3"]
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [windows-2022, windows-2019]
|
||||
os: [windows-2025, windows-2022]
|
||||
cgroup_driver: [cgroupfs]
|
||||
|
||||
defaults:
|
||||
@@ -244,17 +244,6 @@ jobs:
|
||||
|
||||
- run: script/setup/install-dev-tools
|
||||
|
||||
# needs to be a separate step since terminal reload is required to bring in new env variables and PATH
|
||||
- name: Upgrade Chocolaty on Windows 2019
|
||||
if: matrix.os == 'windows-2019'
|
||||
shell: powershell
|
||||
run: .\script\setup\upgrade_chocolaty_windows_2019.ps1
|
||||
|
||||
- name: Upgrade MinGW on Windows 2019
|
||||
if: matrix.os == 'windows-2019'
|
||||
shell: powershell
|
||||
run: .\script\setup\upgrade_mingw_windows_2019.ps1
|
||||
|
||||
- name: Binaries
|
||||
shell: bash
|
||||
env:
|
||||
|
||||
10
.github/workflows/windows-hyperv-periodic.yml
vendored
10
.github/workflows/windows-hyperv-periodic.yml
vendored
@@ -43,16 +43,16 @@ jobs:
|
||||
# (e.g. hitting resource limits in the `AZTestVMCreate` task)
|
||||
fail-fast: false
|
||||
matrix:
|
||||
win_ver: [ltsc2019, ltsc2022]
|
||||
win_ver: [ltsc2022, ltsc2025]
|
||||
include:
|
||||
- win_ver: ltsc2019
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2019-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2019-hyperv/"
|
||||
- win_ver: ltsc2022
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2022-datacenter-smalldisk-g2:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2022-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2022-hyperv/"
|
||||
- win_ver: ltsc2025
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2025-Datacenter:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2025-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2025-hyperv/"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
10
.github/workflows/windows-periodic.yml
vendored
10
.github/workflows/windows-periodic.yml
vendored
@@ -42,16 +42,16 @@ jobs:
|
||||
# (e.g. hitting resource limits in the `AZTestVMCreate` task)
|
||||
fail-fast: false
|
||||
matrix:
|
||||
win_ver: [ltsc2019, ltsc2022]
|
||||
win_ver: [ltsc2022, ltsc2025]
|
||||
include:
|
||||
- win_ver: ltsc2019
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2019-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2019/"
|
||||
- win_ver: ltsc2022
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2022-datacenter-smalldisk-g2:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2022-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2022/"
|
||||
- win_ver: ltsc2025
|
||||
AZURE_IMG: "MicrosoftWindowsServer:WindowsServer:2025-Datacenter:latest"
|
||||
AZURE_RESOURCE_GROUP: ctrd-integration-ltsc2025-${{ github.run_id }}
|
||||
GOOGLE_BUCKET: "containerd-integration/logs/windows-ltsc2025/"
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
|
||||
@@ -24,3 +24,8 @@ import "os"
|
||||
func forceRemoveAll(path string) error {
|
||||
return os.RemoveAll(path)
|
||||
}
|
||||
|
||||
// Used only on Windows to skip tests for certain host OS versions.
|
||||
func SkipTestOnHost() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import (
|
||||
"syscall"
|
||||
|
||||
"github.com/Microsoft/hcsshim"
|
||||
"github.com/Microsoft/hcsshim/osversion"
|
||||
"golang.org/x/sys/windows"
|
||||
)
|
||||
|
||||
@@ -114,3 +115,8 @@ func cleanupWCOWLayer(layerPath string) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Temporarily used on windows to skip failing test on WS2025.
|
||||
func SkipTestOnHost() bool {
|
||||
return osversion.Build() == osversion.LTSC2025
|
||||
}
|
||||
|
||||
@@ -19,9 +19,11 @@ package integration
|
||||
import (
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
goruntime "runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/containerd/containerd/v2/integration/client"
|
||||
"github.com/containerd/containerd/v2/integration/images"
|
||||
"github.com/stretchr/testify/require"
|
||||
runtime "k8s.io/cri-api/pkg/apis/runtime/v1"
|
||||
@@ -29,6 +31,14 @@ import (
|
||||
|
||||
// Test to load an image from tarball.
|
||||
func TestImageLoad(t *testing.T) {
|
||||
// TODO(kiashok): Docker is not able to pull the right
|
||||
// image manifest of `testImage` on WS2025 host. Temporarily
|
||||
// skipping this test for WS2025 while its fixed on docker.
|
||||
// This test is validated on WS2022 anyway.
|
||||
if goruntime.GOOS == "windows" && client.SkipTestOnHost() {
|
||||
t.Skip("Temporarily skip validating on WS2025")
|
||||
}
|
||||
|
||||
testImage := images.Get(images.BusyBox)
|
||||
loadedImage := testImage
|
||||
_, err := exec.LookPath("docker")
|
||||
|
||||
@@ -33,8 +33,8 @@ endif
|
||||
OS ?= linux
|
||||
# Architectures supported: amd64, arm64
|
||||
ARCH ?= amd64
|
||||
# OS Version for the Windows images: 1809, 20H2, ltsc2022
|
||||
OSVERSION ?= 1809
|
||||
# OS Version for the Windows images: ltsc2022, ltsc2025
|
||||
OSVERSION ?= ltsc2022
|
||||
|
||||
# The output type could either be docker (local), or registry.
|
||||
# If it is registry, it will also allow us to push the Windows images.
|
||||
@@ -46,7 +46,7 @@ ALL_OS_ARCH.linux = $(foreach arch, ${ALL_ARCH.linux}, linux-$(arch))
|
||||
|
||||
ifneq ($(REMOTE_DOCKER_URL),)
|
||||
ALL_OS += windows
|
||||
ALL_OSVERSIONS.windows := 1809 20H2 ltsc2022
|
||||
ALL_OSVERSIONS.windows := ltsc2022 ltsc2025
|
||||
ALL_OS_ARCH.windows = $(foreach osversion, ${ALL_OSVERSIONS.windows}, windows-amd64-${osversion})
|
||||
BASE.windows := mcr.microsoft.com/windows/nanoserver
|
||||
endif
|
||||
|
||||
@@ -33,8 +33,8 @@ endif
|
||||
OS ?= linux
|
||||
# Architectures supported: amd64, arm64
|
||||
ARCH ?= amd64
|
||||
# OS Version for the Windows images: 1809, 20H2, ltsc2022
|
||||
OSVERSION ?= 1809
|
||||
# OS Version for the Windows images: ltsc2022, lts2025
|
||||
OSVERSION ?= ltsc2022
|
||||
|
||||
# The output type could either be docker (local), or registry.
|
||||
# If it is registry, it will also allow us to push the Windows images.
|
||||
@@ -46,7 +46,7 @@ ALL_OS_ARCH.linux = $(foreach arch, ${ALL_ARCH.linux}, linux-$(arch))
|
||||
|
||||
ifneq ($(REMOTE_DOCKER_URL),)
|
||||
ALL_OS += windows
|
||||
ALL_OSVERSIONS.windows := 1809 20H2 ltsc2022
|
||||
ALL_OSVERSIONS.windows := ltsc2022 ltsc2025
|
||||
ALL_OS_ARCH.windows = $(foreach osversion, ${ALL_OSVERSIONS.windows}, windows-amd64-${osversion})
|
||||
BASE.windows := mcr.microsoft.com/windows/nanoserver
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user