diff --git a/Jenkinsfile b/Jenkinsfile index 87e32aa04f..2cbe274c2d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,6 +19,7 @@ pipeline { booleanParam(name: 'windowsRS1', defaultValue: false, description: 'Windows 2016 (RS1) Build/Test') booleanParam(name: 'windowsRS5', defaultValue: true, description: 'Windows 2019 (RS5) Build/Test') booleanParam(name: 'windows2022', defaultValue: true, description: 'Windows 2022 (SAC) Build/Test') + booleanParam(name: 'windows2022containerd', defaultValue: true, description: 'Windows 2022 (SAC) with containerd Build/Test') booleanParam(name: 'dco', defaultValue: true, description: 'Run the DCO check') } environment { @@ -1253,6 +1254,71 @@ pipeline { } } } + stage('win-2022-c8d') { + when { + beforeAgent true + expression { params.windows2022containerd } + } + environment { + DOCKER_BUILDKIT = '0' + DOCKER_DUT_DEBUG = '1' + SKIP_VALIDATION_TESTS = '1' + SOURCES_DRIVE = 'd' + SOURCES_SUBDIR = 'gopath' + TESTRUN_DRIVE = 'd' + TESTRUN_SUBDIR = "CI" + // TODO switch to mcr.microsoft.com/windows/servercore:2022 once published + WINDOWS_BASE_IMAGE = 'mcr.microsoft.com/windows/servercore/insider' + // Available tags can be found at https://mcr.microsoft.com/v2/windows/servercore/insider/tags/list + WINDOWS_BASE_IMAGE_TAG = '10.0.20295.1' + DOCKER_WINDOWS_CONTAINERD_RUNTIME = '1' + } + agent { + node { + customWorkspace 'd:\\gopath\\src\\github.com\\docker\\docker' + label 'windows-2022' + } + } + stages { + stage("Print info") { + steps { + sh 'docker version' + sh 'docker info' + } + } + stage("Run tests") { + steps { + powershell ''' + $ErrorActionPreference = 'Stop' + Invoke-WebRequest https://github.com/moby/docker-ci-zap/blob/master/docker-ci-zap.exe?raw=true -OutFile C:/Windows/System32/docker-ci-zap.exe + ./hack/ci/windows.ps1 + exit $LastExitCode + ''' + } + } + } + post { + always { + junit testResults: 'bundles/junit-report-*.xml', allowEmptyResults: true + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE', message: 'Failed to create bundles.zip') { + powershell ''' + cd $env:WORKSPACE + $bundleName="win-2022-c8d-integration" + Write-Host -ForegroundColor Green "Creating ${bundleName}-bundles.zip" + + # archiveArtifacts does not support env-vars to , so save the artifacts in a fixed location + Compress-Archive -Path "bundles/CIDUT.out", "bundles/CIDUT.err", "bundles/junit-report-*.xml" -CompressionLevel Optimal -DestinationPath "${bundleName}-bundles.zip" + ''' + + archiveArtifacts artifacts: '*-bundles.zip', allowEmptyArchive: true + } + } + cleanup { + sh 'make clean' + deleteDir() + } + } + } } } }