Browse code

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 authored on 2019/07/24 11:05:05
Showing 1 changed files
... ...
@@ -10,6 +10,7 @@ pipeline {
10 10
     parameters {
11 11
         booleanParam(name: 'unit_validate', defaultValue: true, description: 'amd64 (x86_64) unit tests and vendor check')
12 12
         booleanParam(name: 'amd64', defaultValue: true, description: 'amd64 (x86_64) Build/Test')
13
+        booleanParam(name: 'aarch64', defaultValue: true, description: 'ARM (aarch64) Build/Test')
13 14
         booleanParam(name: 's390x', defaultValue: true, description: 'IBM Z (s390x) Build/Test')
14 15
         booleanParam(name: 'ppc64le', defaultValue: true, description: 'PowerPC (ppc64le) Build/Test')
15 16
         booleanParam(name: 'windowsRS1', defaultValue: false, description: 'Windows 2016 (RS1) Build/Test')
... ...
@@ -883,5 +884,44 @@ pipeline {
883 883
                 }
884 884
             }
885 885
         }
886
+        stage('aarch64') {
887
+            when {
888
+                beforeAgent true
889
+                expression { params.aarch64 }
890
+            }
891
+            agent { label 'aarch64 && packet' }
892
+            steps {
893
+                sh '''
894
+                GITCOMMIT=$(git rev-parse --short HEAD)
895
+
896
+                docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-aarch64:$GITCOMMIT -f Dockerfile .
897
+
898
+                docker run --rm -t --privileged \
899
+                  -v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
900
+                  --name docker-pr-aarch64$BUILD_NUMBER \
901
+                  -e DOCKER_GRAPHDRIVER=vfs \
902
+                  -e DOCKER_EXECDRIVER=native \
903
+                  -e DOCKER_GITCOMMIT=${GITCOMMIT} \
904
+                  docker-aarch64:$GITCOMMIT \
905
+                  hack/ci/arm
906
+                '''
907
+            }
908
+            post {
909
+                always {
910
+                    sh '''
911
+                    echo "Ensuring container killed."
912
+                    docker rm -vf docker-pr-aarch64$BUILD_NUMBER || true
913
+
914
+                    echo "Chowning /workspace to jenkins user"
915
+                    docker run --rm -v "$WORKSPACE:/workspace" aarch64/busybox chown -R "$(id -u):$(id -g)" /workspace
916
+                    '''
917
+                    sh '''
918
+                    echo "Creating bundles.tar.gz"
919
+                    find bundles -name '*.log' | xargs tar -czf bundles.tar.gz
920
+                    '''
921
+                    archiveArtifacts artifacts: 'bundles.tar.gz'
922
+                }
923
+            }
924
+        }
886 925
     }
887 926
 }