summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-10-21 09:15:24 +0100
committerEdward Thomson <ethomson@edwardthomson.com>2018-10-21 10:37:26 +0100
commit0e521abd3fff87bd2be6707052f72cf89b49391c (patch)
treef9042b8bab80082193286b839b7a194ed3b0a594
parent28f05585a31ffbd723b6e4356df44d3085709644 (diff)
downloadlibgit2-0e521abd3fff87bd2be6707052f72cf89b49391c.tar.gz
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.
-rw-r--r--azure-pipelines/docker.yml4
-rw-r--r--azure-pipelines/nightly.yml28
2 files changed, 32 insertions, 0 deletions
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: