Merge pull request #6314 from dcantah/ws2022-ci
Add Windows Server 2022 CI runs
This commit is contained in:
commit
d06bce4d3d
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -201,7 +201,7 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-18.04, macos-10.15, windows-2019]
|
os: [ubuntu-18.04, macos-10.15, windows-2019, windows-2022]
|
||||||
go-version: ['1.17.3']
|
go-version: ['1.17.3']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -230,12 +230,16 @@ jobs:
|
|||||||
#
|
#
|
||||||
integration-windows:
|
integration-windows:
|
||||||
name: Windows Integration
|
name: Windows Integration
|
||||||
runs-on: windows-2019
|
runs-on: ${{ matrix.os }}
|
||||||
timeout-minutes: 35
|
timeout-minutes: 35
|
||||||
needs: [project, linters, protos, man]
|
needs: [project, linters, protos, man]
|
||||||
env:
|
env:
|
||||||
GOTEST: gotestsum --
|
GOTEST: gotestsum --
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [windows-2019, windows-2022]
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -57,7 +57,21 @@ func init() {
|
|||||||
testImage = "mcr.microsoft.com/windows/nanoserver:2004"
|
testImage = "mcr.microsoft.com/windows/nanoserver:2004"
|
||||||
case osversion.V20H2:
|
case osversion.V20H2:
|
||||||
testImage = "mcr.microsoft.com/windows/nanoserver:20H2"
|
testImage = "mcr.microsoft.com/windows/nanoserver:20H2"
|
||||||
|
case 20348:
|
||||||
|
// 20348 is Windows server 2022's build number.
|
||||||
|
//
|
||||||
|
// TODO(dcantah): Use the hardcoded number until there's an hcsshim release with this build
|
||||||
|
// number included.
|
||||||
|
testImage = "mcr.microsoft.com/windows/nanoserver:ltsc2022"
|
||||||
default:
|
default:
|
||||||
|
// Due to some efforts in improving down-level compatibility for Windows containers (see
|
||||||
|
// https://techcommunity.microsoft.com/t5/containers/windows-server-2022-and-beyond-for-containers/ba-p/2712487)
|
||||||
|
// the ltsc2022 image should continue to work on builds ws2022 and onwards (Winodws 11 for example). With this in mind,
|
||||||
|
// if there's no mapping for the host build just use the Windows Server 2022 image.
|
||||||
|
if b > 20348 {
|
||||||
|
testImage = "mcr.microsoft.com/windows/nanoserver:ltsc2022"
|
||||||
|
return
|
||||||
|
}
|
||||||
fmt.Println("No test image defined for Windows build version:", b)
|
fmt.Println("No test image defined for Windows build version:", b)
|
||||||
panic("No windows test image found for this Windows build")
|
panic("No windows test image found for this Windows build")
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,7 @@ func TestImagePullWithDistSourceLabel(t *testing.T) {
|
|||||||
var (
|
var (
|
||||||
source = "k8s.gcr.io"
|
source = "k8s.gcr.io"
|
||||||
repoName = "pause"
|
repoName = "pause"
|
||||||
tag = "3.5"
|
tag = "3.6"
|
||||||
)
|
)
|
||||||
|
|
||||||
ctx, cancel := testContext(t)
|
ctx, cancel := testContext(t)
|
||||||
|
@ -48,12 +48,14 @@ func TestDefault(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestMatchComparerMatch(t *testing.T) {
|
func TestMatchComparerMatch(t *testing.T) {
|
||||||
|
major, minor, build := windows.RtlGetNtVersionNumbers()
|
||||||
|
buildStr := fmt.Sprintf("%d.%d.%d", major, minor, build)
|
||||||
m := matchComparer{
|
m := matchComparer{
|
||||||
defaults: Only(imagespec.Platform{
|
defaults: Only(imagespec.Platform{
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OS: "windows",
|
OS: "windows",
|
||||||
}),
|
}),
|
||||||
osVersionPrefix: "10.0.17763",
|
osVersionPrefix: buildStr,
|
||||||
}
|
}
|
||||||
for _, test := range []struct {
|
for _, test := range []struct {
|
||||||
platform imagespec.Platform
|
platform imagespec.Platform
|
||||||
@ -67,7 +69,7 @@ func TestMatchComparerMatch(t *testing.T) {
|
|||||||
platform: imagespec.Platform{
|
platform: imagespec.Platform{
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OS: "windows",
|
OS: "windows",
|
||||||
OSVersion: "10.0.17763.1",
|
OSVersion: buildStr + ".1",
|
||||||
},
|
},
|
||||||
match: true,
|
match: true,
|
||||||
},
|
},
|
||||||
@ -75,7 +77,7 @@ func TestMatchComparerMatch(t *testing.T) {
|
|||||||
platform: imagespec.Platform{
|
platform: imagespec.Platform{
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OS: "windows",
|
OS: "windows",
|
||||||
OSVersion: "10.0.17763.2",
|
OSVersion: buildStr + ".2",
|
||||||
},
|
},
|
||||||
match: true,
|
match: true,
|
||||||
},
|
},
|
||||||
@ -83,6 +85,7 @@ func TestMatchComparerMatch(t *testing.T) {
|
|||||||
platform: imagespec.Platform{
|
platform: imagespec.Platform{
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OS: "windows",
|
OS: "windows",
|
||||||
|
// Use an nonexistent Windows build so we don't get a match. Ws2019's build is 17763/
|
||||||
OSVersion: "10.0.17762.1",
|
OSVersion: "10.0.17762.1",
|
||||||
},
|
},
|
||||||
match: false,
|
match: false,
|
||||||
@ -91,6 +94,7 @@ func TestMatchComparerMatch(t *testing.T) {
|
|||||||
platform: imagespec.Platform{
|
platform: imagespec.Platform{
|
||||||
Architecture: "amd64",
|
Architecture: "amd64",
|
||||||
OS: "windows",
|
OS: "windows",
|
||||||
|
// Use an nonexistent Windows build so we don't get a match. Ws2019's build is 17763/
|
||||||
OSVersion: "10.0.17764.1",
|
OSVersion: "10.0.17764.1",
|
||||||
},
|
},
|
||||||
match: false,
|
match: false,
|
||||||
|
Loading…
Reference in New Issue
Block a user