From 0e521abd3fff87bd2be6707052f72cf89b49391c Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sun, 21 Oct 2018 09:15:24 +0100 Subject: ci: introduce nightly arm docker builds Use multiarch arm32 and arm64 docker images to run Xenial-based images for those platforms. We can support all the tests on ARM32 and 64 _except_ the proxy-based tests. Our proxy on ARM seems regrettably unstable, either due to some shoddy dependencies (with native code?) or the JREs themselves. Run these platforms as part of our nightly builds; do not run them during pull request or CI validation. --- azure-pipelines/docker.yml | 4 ++++ azure-pipelines/nightly.yml | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/azure-pipelines/docker.yml b/azure-pipelines/docker.yml index e92510478..2744a63ae 100644 --- a/azure-pipelines/docker.yml +++ b/azure-pipelines/docker.yml @@ -1,5 +1,9 @@ # These are the steps used in a container-based build in VSTS. steps: +- ${{ if eq(parameters.qemu, 'true') }}: + - script: docker run --rm --privileged multiarch/qemu-user-static:register --reset + displayName: 'Register Docker QEMU' + - task: docker@0 displayName: Build inputs: diff --git a/azure-pipelines/nightly.yml b/azure-pipelines/nightly.yml index 4d6d8a3e8..ab499a640 100644 --- a/azure-pipelines/nightly.yml +++ b/azure-pipelines/nightly.yml @@ -2,6 +2,34 @@ resources: - repo: self jobs: +- job: linux_arm32_xenial_gcc_openssl + displayName: 'Linux (arm32; Xenial; GCC; OpenSSL)' + pool: + vmImage: 'Ubuntu 16.04' + steps: + - template: docker.yml + parameters: + qemu: 'true' + imageName: 'libgit2/xenial-arm32:test' + environmentVariables: | + CC=gcc + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + SKIP_PROXY_TESTS=true + +- job: linux_arm64_xenial_gcc_openssl + displayName: 'Linux (arm64; Xenial; GCC; OpenSSL)' + pool: + vmImage: 'Ubuntu 16.04' + steps: + - template: docker.yml + parameters: + qemu: 'true' + imageName: 'libgit2/xenial-arm64:test' + environmentVariables: | + CC=gcc + CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL + SKIP_PROXY_TESTS=true + - job: coverity displayName: 'Coverity' pool: -- cgit v1.2.1