CI: Try builds both with Clang and GCC
authorAdrian Perez de Castro <aperez@igalia.com>
Tue, 6 Aug 2019 14:25:25 +0000 (17:25 +0300)
committerRan Benita <ran234@gmail.com>
Fri, 9 Aug 2019 20:01:27 +0000 (23:01 +0300)
.azure-pipelines/steps/autotools.yml
.azure-pipelines/steps/meson.yml
azure-pipelines.yml

index 3de1e32..51dfe66 100644 (file)
@@ -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)'
index bb25197..0854414 100644 (file)
@@ -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
index 70b4881..74afa50 100644 (file)
@@ -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: