Test to enable CI on aarch64.
@@ -10,6 +10,7 @@ pipeline {
parameters {
booleanParam(name: 'unit_validate', defaultValue: true, description: 'amd64 (x86_64) unit tests and vendor check')
booleanParam(name: 'amd64', defaultValue: true, description: 'amd64 (x86_64) Build/Test')
+ booleanParam(name: 'aarch64', defaultValue: true, description: 'ARM (aarch64) 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: 'windowsRS1', defaultValue: false, description: 'Windows 2016 (RS1) Build/Test')
@@ -883,5 +884,44 @@ pipeline {
}
}
}
+ stage('aarch64') {
+ when {
+ beforeAgent true
+ expression { params.aarch64 }
+ }
+ agent { label 'aarch64 && packet' }
+ steps {
+ sh '''
+ GITCOMMIT=$(git rev-parse --short HEAD)
+
+ docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-aarch64:$GITCOMMIT -f Dockerfile .
+
+ docker run --rm -t --privileged \
+ -v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
+ --name docker-pr-aarch64$BUILD_NUMBER \
+ -e DOCKER_GRAPHDRIVER=vfs \
+ -e DOCKER_EXECDRIVER=native \
+ -e DOCKER_GITCOMMIT=${GITCOMMIT} \
+ docker-aarch64:$GITCOMMIT \
+ hack/ci/arm
+ '''
+ }
+ post {
+ always {
+ sh '''
+ echo "Ensuring container killed."
+ docker rm -vf docker-pr-aarch64$BUILD_NUMBER || true
+
+ echo "Chowning /workspace to jenkins user"
+ docker run --rm -v "$WORKSPACE:/workspace" aarch64/busybox chown -R "$(id -u):$(id -g)" /workspace
+ '''
+ sh '''
+ echo "Creating bundles.tar.gz"
+ find bundles -name '*.log' | xargs tar -czf bundles.tar.gz
+ '''
+ archiveArtifacts artifacts: 'bundles.tar.gz'
+ }
+ }
+ }
}
}
