diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2018-07-26 14:04:19 +0100 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2018-07-26 15:35:39 +0100 |
commit | dc6e80e2ce7c4d1017ce41a67a0df50b29b36cc4 (patch) | |
tree | 76c9e330bba283825b378d7a784e61df7a32e72f | |
parent | 6eb97b6ba93019741e7cf6147f0fab05dd3f831d (diff) | |
download | libgit2-dc6e80e2ce7c4d1017ce41a67a0df50b29b36cc4.tar.gz |
ci: perform clang builds on Linux
-rw-r--r-- | .vsts-ci.yml | 79 | ||||
-rwxr-xr-x | ci/build.sh | 3 | ||||
-rwxr-xr-x | ci/setup-linux.sh | 2 |
3 files changed, 77 insertions, 7 deletions
diff --git a/.vsts-ci.yml b/.vsts-ci.yml index ace22f4ef..4d3bf50c2 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -2,8 +2,8 @@ resources: - repo: self phases: -- phase: linux_trusty_openssl - displayName: 'Linux (Trusty; OpenSSL)' +- phase: linux_trusty_gcc_openssl + displayName: 'Linux (Trusty; GCC; OpenSSL)' queue: name: 'Hosted Linux Preview' steps: @@ -26,13 +26,79 @@ phases: volumes: | $(Build.SourcesDirectory):/src $(Build.BinariesDirectory):/build + envVars: | + CC=gcc + LEAK_CHECK=valgrind + workDir: '/build' + containerCommand: '/src/ci/test.sh' + detached: false + +- phase: linux_trusty_gcc_mbedtls + displayName: 'Linux (Trusty; GCC; mbedTLS)' + queue: + name: 'Hosted Linux Preview' + steps: + - task: Docker@0 + displayName: Build + inputs: + action: 'Run an image' + imageName: 'ethomson/libgit2-trusty-mbedtls:latest' + volumes: | + $(Build.SourcesDirectory):/src + $(Build.BinariesDirectory):/build + envVars: | + CC=gcc + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + LEAK_CHECK=valgrind + workDir: '/build' + containerCommand: '/src/ci/build.sh' + detached: false + - task: Docker@0 + displayName: Test + inputs: + action: 'Run an image' + imageName: 'ethomson/libgit2-trusty-mbedtls:latest' + volumes: | + $(Build.SourcesDirectory):/src + $(Build.BinariesDirectory):/build envVars: 'LEAK_CHECK=valgrind' workDir: '/build' containerCommand: '/src/ci/test.sh' detached: false -- phase: linux_trusty_mbedtls - displayName: 'Linux (Trusty; mbedTLS)' +- phase: linux_trusty_clang_openssl + displayName: 'Linux (Trusty; Clang; OpenSSL)' + queue: + name: 'Hosted Linux Preview' + steps: + - task: Docker@0 + displayName: Build + inputs: + action: 'Run an image' + imageName: 'ethomson/libgit2-trusty-openssl:latest' + volumes: | + $(Build.SourcesDirectory):/src + $(Build.BinariesDirectory):/build + workDir: '/build' + containerCommand: '/src/ci/build.sh' + detached: false + - task: Docker@0 + displayName: Test + inputs: + action: 'Run an image' + imageName: 'ethomson/libgit2-trusty-openssl:latest' + volumes: | + $(Build.SourcesDirectory):/src + $(Build.BinariesDirectory):/build + envVars: | + CC=clang + LEAK_CHECK=valgrind + workDir: '/build' + containerCommand: '/src/ci/test.sh' + detached: false + +- phase: linux_trusty_clang_mbedtls + displayName: 'Linux (Trusty; Clang; mbedTLS)' queue: name: 'Hosted Linux Preview' steps: @@ -44,7 +110,10 @@ phases: volumes: | $(Build.SourcesDirectory):/src $(Build.BinariesDirectory):/build - envVars: 'CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS' + envVars: | + CC=clang + CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS + LEAK_CHECK=valgrind workDir: '/build' containerCommand: '/src/ci/build.sh' detached: false diff --git a/ci/build.sh b/ci/build.sh index 45f074810..a1deab3f2 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -9,6 +9,7 @@ set -e SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )} BUILD_DIR=$(pwd) +CC=${CC:-cc} indent() { sed "s/^/ /"; } @@ -20,7 +21,7 @@ uname -a 2>&1 | indent echo "CMake version:" cmake --version 2>&1 | indent echo "Compiler version:" -gcc --version 2>&1 | indent +$CC --version 2>&1 | indent echo "" echo "##############################################################################" diff --git a/ci/setup-linux.sh b/ci/setup-linux.sh index 5de286668..03e4a1d2f 100755 --- a/ci/setup-linux.sh +++ b/ci/setup-linux.sh @@ -3,6 +3,6 @@ set -x apt-get update -apt-get -y install build-essential pkg-config cmake openssl libssl-dev libssh2-1-dev libcurl4-gnutls-dev openssh-server +apt-get -y install build-essential pkg-config clang cmake openssl libssl-dev libssh2-1-dev libcurl4-gnutls-dev openssh-server mkdir -p /var/run/sshd |