Bläddra i källkod

Test to enable CI on aarch64.

Signed-off-by: Michael Zhao <michael.zhao@arm.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Michael Zhao 6 år sedan
förälder
incheckning
af86580000
1 ändrade filer med 40 tillägg och 0 borttagningar
  1. 40 0
      Jenkinsfile

+ 40 - 0
Jenkinsfile

@@ -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'
+                }
+            }
+        }
     }
 }