diff --git a/.github/actions/cmake_config/Dockerfile b/.github/actions/cmake_config/Dockerfile deleted file mode 100644 index 63b28a99..00000000 --- a/.github/actions/cmake_config/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM ubuntu:18.04 - -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - g++=4:7.4.0-1ubuntu2.3 \ - wget=1.19.4-1ubuntu2.2 \ - libidn11=1.33-2.1ubuntu1.2 \ - ca-certificates=20180409 \ - make=4.1-9.1ubuntu1 \ - git=1:2.17.1-1ubuntu0.7 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -COPY entrypoint.sh /entrypoint.sh - -ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/cmake_config/action.yml b/.github/actions/cmake_config/action.yml deleted file mode 100644 index 73ff1661..00000000 --- a/.github/actions/cmake_config/action.yml +++ /dev/null @@ -1,16 +0,0 @@ -description: 'Test out a bare bones configuration with a CMake version' -inputs: - version: - description: 'The full version of CMake to check' - required: true - options: - description: 'The CMake configuration options' - required: false - default: "" -name: 'Configure with CMake' -runs: - using: 'docker' - image: 'Dockerfile' - args: - - ${{ inputs.version }} - - ${{ inputs.options }} diff --git a/.github/actions/cmake_config/entrypoint.sh b/.github/actions/cmake_config/entrypoint.sh deleted file mode 100755 index e3bd622e..00000000 --- a/.github/actions/cmake_config/entrypoint.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -l - -set -ex - -mkdir -p cmake_dir -mkdir -p build_tmp -mkdir -p cmake_sources -rm -rf cmake_dir/* build_tmp/* - -v=$1 -fn=cmake-$v-Linux-x86_64.tar.gz - -if [ ! -f cmake_sources/$fn ]; then - wget -qO cmake_sources/$fn "https://cmake.org/files/v${v%.*}/$fn" -fi - -tar -xzf cmake_sources/$fn --strip-components=1 -C $PWD/cmake_dir - -export PATH=$PWD/cmake_dir/bin:$PATH - -cmake --version - -cd build_tmp && cmake .. $2 diff --git a/.github/actions/quick_cmake/action.yml b/.github/actions/quick_cmake/action.yml new file mode 100644 index 00000000..da721a78 --- /dev/null +++ b/.github/actions/quick_cmake/action.yml @@ -0,0 +1,18 @@ +name: Quick CMake config +description: 'Runs CMake 3.4+ (if already setup)' +inputs: + args: + description: 'Other arguments' + required: false + default: '' + +runs: + using: composite + steps: + - run: | + mkdir -p build-tmp + touch build-tmp/tmp + rm -r build-tmp/* + (cd build-tmp && cmake .. ${{ inputs.args}}) + rm -r build-tmp + shell: bash diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 36777042..7639c0c9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,81 +39,144 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - with: - submodules: true + - name: CMake 3.4 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.4.3 + cmake-version: "3.4" + - name: Check CMake 3.4 + uses: ./.github/actions/quick_cmake + - name: CMake 3.5 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.5.2 + cmake-version: "3.5" + - name: Check CMake 3.5 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.6 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.6.3 + cmake-version: "3.6" + - name: Check CMake 3.6 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.7 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.7.2 + cmake-version: "3.7" + - name: Check CMake 3.7 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.8 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.8.2 + cmake-version: "3.8" + - name: Check CMake 3.8 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.9 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.9.6 + cmake-version: "3.9" + - name: Check CMake 3.9 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.10 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.10.3 + cmake-version: "3.10" + - name: Check CMake 3.10 + uses: ./.github/actions/quick_cmake if: success() || failure() - - name: CMake 3.11 (full) - uses: ./.github/actions/cmake_config + + - name: CMake 3.11 + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.11.4 - options: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON + cmake-version: "3.11" + - name: Check CMake 3.11 (full) + uses: ./.github/actions/quick_cmake + with: + args: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON if: success() || failure() + - name: CMake 3.12 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.12.4 + cmake-version: "3.12" + - name: Check CMake 3.12 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.13 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.13.5 + cmake-version: "3.13" + - name: Check CMake 3.13 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.14 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.14.7 + cmake-version: "3.14" + - name: Check CMake 3.14 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.15 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.15.6 + cmake-version: "3.15" + - name: Check CMake 3.15 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.16 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.16.8 + cmake-version: "3.16" + - name: Check CMake 3.16 + uses: ./.github/actions/quick_cmake if: success() || failure() + - name: CMake 3.17 - uses: ./.github/actions/cmake_config + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.17.3 + cmake-version: "3.17" + - name: Check CMake 3.17 + uses: ./.github/actions/quick_cmake if: success() || failure() - - name: CMake 3.18 (full) - uses: ./.github/actions/cmake_config + + - name: CMake 3.18 + uses: jwlawson/actions-setup-cmake@v1.8 with: - version: 3.18.0 - options: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON + cmake-version: "3.18" + - name: Check CMake 3.18 + uses: ./.github/actions/quick_cmake if: success() || failure() + + - name: CMake 3.19 + uses: jwlawson/actions-setup-cmake@v1.8 + with: + cmake-version: "3.19" + - name: Check CMake 3.19 (full) + uses: ./.github/actions/quick_cmake + with: + args: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON + if: success() || failure() + + - name: CMake 3.20 + uses: jwlawson/actions-setup-cmake@v1.8 + with: + cmake-version: "3.20" + - name: Check CMake 3.20 + uses: ./.github/actions/quick_cmake + if: success() || failure() + +