Also test older cmake versions (#7347)
authorGereon Kremer <nafur42@gmail.com>
Thu, 14 Oct 2021 18:50:13 +0000 (11:50 -0700)
committerGitHub <noreply@github.com>
Thu, 14 Oct 2021 18:50:13 +0000 (18:50 +0000)
This PR generally improves the new CI job to test different cmake versions. It extends the tested versions back to 3.8 and also sets the minimum required version (cmake_minimum_required) to the version that is tested. This allows to check compatibility with changing cmake policies.
It also modifies the run-tests action to get the regression options from explicit inputs instead of the build matrix. As the cmake job had no build matrix, it used to build regress3-4 as well.

.github/actions/run-tests/action.yml
.github/workflows/ci.yml
.github/workflows/cmake-version.yml

index e5557bb2d33309d2437da2cc9eb2e6a2ad016b45..2b2326699d38216148cad38a47f5740768f19ed8 100644 (file)
@@ -7,6 +7,10 @@ inputs:
     default: false
   check-unit-tests:
     default: true
+  regressions-args:
+    default: "--no-check-unsat-cores --no-check-proofs"
+  regressions-exclude:
+    default: "3-4"
 runs:
   using: composite
   steps:
@@ -15,9 +19,9 @@ runs:
       run: |
         make -j${{ env.num_proc }} check
       env:
-        ARGS: --output-on-failure -LE regress[${{ matrix.exclude_regress }}]
+        ARGS: --output-on-failure -LE regress[${{ inputs.regressions-exclude }}]
         CVC5_REGRESSION_ARGS: --no-early-exit
-        RUN_REGRESSION_ARGS: ${{ matrix.run_regression_args }}
+        RUN_REGRESSION_ARGS: ${{ inputs.regressions-args }}
       working-directory: build
 
     - name: Run Unit Tests
index 8d88cad49f607b6306d29aa31b127478ad3c1f2c..b8ee518370b3a8ee81f9add8a0699711df6a55b5 100644 (file)
@@ -89,6 +89,8 @@ jobs:
         check-examples: ${{ matrix.check-examples }}
         check-python-bindings: ${{ matrix.python-bindings }}
         check-unit-tests: ${{ matrix.check-units }}
+        regressions-args: ${{ matrix.run_regression_args }}
+        regressions-exclude: ${{ matrix.exclude_regress }}
 
     - name: Build documentation
       if: matrix.build-documentation
index d61c59088a7f747db2ddd39897e56e80a0352aca..24d87ba3bec938a719217bddfdb21b5993fd764a 100644 (file)
@@ -9,7 +9,7 @@ jobs:
     strategy:
       matrix:
         cmake_version: [
-          "3.12", "3.13", "3.14", "3.15", "3.16",
+          "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15", "3.16",
           "3.17", "3.18", "3.19", "3.20", "3.21"
         ]
 
@@ -21,6 +21,10 @@ jobs:
 
     - uses: actions/checkout@v2
 
+    - name: Adapt cmake version checks
+      run: |
+        sed -i'orig' -E 's/cmake_minimum_required\(VERSION [0-9.]+\)/cmake_minimum_required(VERSION ${{ matrix.cmake_version }})/' CMakeLists.txt
+
     - name: Install dependencies
       uses: ./.github/actions/install-dependencies
       with: