mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Jenkinsfile: add cgroup2
Thanks to Stefan Scherer for setting up the Jenkins nodes. Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
parent
c316dd7cc5
commit
c23b99f4db
1 changed files with 84 additions and 0 deletions
84
Jenkinsfile
vendored
84
Jenkinsfile
vendored
|
@ -12,6 +12,7 @@ pipeline {
|
||||||
booleanParam(name: 'validate_force', defaultValue: false, description: 'force validation steps to be run, even if no changes were detected')
|
booleanParam(name: 'validate_force', defaultValue: false, description: 'force validation steps to be run, even if no changes were detected')
|
||||||
booleanParam(name: 'amd64', defaultValue: true, description: 'amd64 (x86_64) Build/Test')
|
booleanParam(name: 'amd64', defaultValue: true, description: 'amd64 (x86_64) Build/Test')
|
||||||
booleanParam(name: 'rootless', defaultValue: true, description: 'amd64 (x86_64) Build/Test (Rootless mode)')
|
booleanParam(name: 'rootless', defaultValue: true, description: 'amd64 (x86_64) Build/Test (Rootless mode)')
|
||||||
|
booleanParam(name: 'cgroup2', defaultValue: true, description: 'amd64 (x86_64) Build/Test (cgroup v2)')
|
||||||
booleanParam(name: 'arm64', defaultValue: true, description: 'ARM (arm64) Build/Test')
|
booleanParam(name: 'arm64', defaultValue: true, description: 'ARM (arm64) Build/Test')
|
||||||
booleanParam(name: 's390x', defaultValue: true, description: 'IBM Z (s390x) Build/Test')
|
booleanParam(name: 's390x', defaultValue: true, description: 'IBM Z (s390x) Build/Test')
|
||||||
booleanParam(name: 'ppc64le', defaultValue: true, description: 'PowerPC (ppc64le) Build/Test')
|
booleanParam(name: 'ppc64le', defaultValue: true, description: 'PowerPC (ppc64le) Build/Test')
|
||||||
|
@ -460,6 +461,89 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage('cgroup2') {
|
||||||
|
when {
|
||||||
|
beforeAgent true
|
||||||
|
expression { params.cgroup2 }
|
||||||
|
}
|
||||||
|
agent { label 'amd64 && ubuntu-2004 && cgroup2' }
|
||||||
|
stages {
|
||||||
|
stage("Print info") {
|
||||||
|
steps {
|
||||||
|
sh 'docker version'
|
||||||
|
sh 'docker info'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("Build dev image") {
|
||||||
|
steps {
|
||||||
|
sh '''
|
||||||
|
docker build --force-rm --build-arg APT_MIRROR --build-arg SYSTEMD=true -t docker:${GIT_COMMIT} .
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("Integration tests") {
|
||||||
|
environment {
|
||||||
|
DOCKER_SYSTEMD = '1' // recommended cgroup driver for v2
|
||||||
|
TEST_SKIP_INTEGRATION_CLI = '1' // CLI tests do not support v2
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh '''
|
||||||
|
docker run --rm -t --privileged \
|
||||||
|
-v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
|
||||||
|
--name docker-pr$BUILD_NUMBER \
|
||||||
|
-e DOCKER_GITCOMMIT=${GIT_COMMIT} \
|
||||||
|
-e DOCKER_GRAPHDRIVER \
|
||||||
|
-e DOCKER_EXPERIMENTAL \
|
||||||
|
-e DOCKER_SYSTEMD \
|
||||||
|
-e TEST_SKIP_INTEGRATION_CLI \
|
||||||
|
-e TIMEOUT \
|
||||||
|
-e VALIDATE_REPO=${GIT_URL} \
|
||||||
|
-e VALIDATE_BRANCH=${CHANGE_TARGET} \
|
||||||
|
docker:${GIT_COMMIT} \
|
||||||
|
hack/make.sh \
|
||||||
|
dynbinary \
|
||||||
|
test-integration
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
junit testResults: 'bundles/**/*-report.xml', allowEmptyResults: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
post {
|
||||||
|
always {
|
||||||
|
sh '''
|
||||||
|
echo "Ensuring container killed."
|
||||||
|
docker rm -vf docker-pr$BUILD_NUMBER || true
|
||||||
|
'''
|
||||||
|
|
||||||
|
sh '''
|
||||||
|
echo "Chowning /workspace to jenkins user"
|
||||||
|
docker run --rm -v "$WORKSPACE:/workspace" busybox chown -R "$(id -u):$(id -g)" /workspace
|
||||||
|
'''
|
||||||
|
|
||||||
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE', message: 'Failed to create bundles.tar.gz') {
|
||||||
|
sh '''
|
||||||
|
bundleName=amd64-cgroup2
|
||||||
|
echo "Creating ${bundleName}-bundles.tar.gz"
|
||||||
|
# exclude overlay2 directories
|
||||||
|
find bundles -path '*/root/*overlay2' -prune -o -type f \\( -name '*-report.json' -o -name '*.log' -o -name '*.prof' -o -name '*-report.xml' \\) -print | xargs tar -czf ${bundleName}-bundles.tar.gz
|
||||||
|
'''
|
||||||
|
|
||||||
|
archiveArtifacts artifacts: '*-bundles.tar.gz', allowEmptyArchive: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cleanup {
|
||||||
|
sh 'make clean'
|
||||||
|
deleteDir()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
stage('s390x') {
|
stage('s390x') {
|
||||||
when {
|
when {
|
||||||
beforeAgent true
|
beforeAgent true
|
||||||
|
|
Loading…
Add table
Reference in a new issue