CI: Try builds both with Clang and GCC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
diff --git a/.azure-pipelines/steps/autotools.yml b/.azure-pipelines/steps/autotools.yml
index 3de1e32..51dfe66 100644
--- a/.azure-pipelines/steps/autotools.yml
+++ b/.azure-pipelines/steps/autotools.yml
@@ -1,10 +1,16 @@
---
parameters:
+ compiler: ""
options: ""
workdir: "autotools-build"
steps:
- bash: |
+ export COMPILER=${{ parameters.compiler }}
+ case ${COMPILER:-default} in
+ clang ) export CC=clang CXX=clang++ ;;
+ gcc ) export CC=gcc CXX=g++ ;;
+ esac
mkdir '${{ parameters.workdir }}' && cd "$_"
../autogen.sh ${{ parameters.options }}
displayName: 'Configuration (Autotools)'
diff --git a/.azure-pipelines/steps/meson.yml b/.azure-pipelines/steps/meson.yml
index bb25197..0854414 100644
--- a/.azure-pipelines/steps/meson.yml
+++ b/.azure-pipelines/steps/meson.yml
@@ -1,5 +1,6 @@
---
parameters:
+ compiler: ""
options: ""
wrapper: ""
workdir: "meson-build"
@@ -9,6 +10,11 @@ steps:
if [[ -x /usr/local/opt/bison/bin/bison ]] ; then
export PATH="/usr/local/opt/bison/bin:${PATH}"
fi
+ export COMPILER=${{ parameters.compiler }}
+ case ${COMPILER:-default} in
+ clang ) export CC=clang CXX=clang++ ;;
+ gcc ) export CC=gcc CXX=g++ ;;
+ esac
meson setup '${{ parameters.workdir }}' ${{ parameters.options }}
displayName: 'Configuration (Meson)'
- bash: ninja
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 70b4881..74afa50 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,21 +5,36 @@ trigger:
jobs:
- job: 'Meson'
dependsOn: []
+ strategy:
+ matrix:
+ Clang:
+ compiler: clang
+ GCC:
+ compiler: gcc
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: .azure-pipelines/steps/dependencies-linux.yml
- template: .azure-pipelines/steps/meson.yml
parameters:
+ compiler: $(compiler)
options: -Denable-wayland=false
wrapper: valgrind --leak-check=full --track-origins=yes --error-exitcode=99
- job: 'Autotools'
dependsOn: []
+ strategy:
+ matrix:
+ Clang:
+ compiler: clang
+ GCC:
+ compiler: gcc
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: .azure-pipelines/steps/dependencies-linux.yml
- template: .azure-pipelines/steps/autotools.yml
+ parameters:
+ compiler: $(compiler)
- job: 'macOS'
dependsOn: []
pool: