1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-01 13:13:53 +00:00

ci: fix CMake config check

This commit is contained in:
Henry Schreiner 2021-04-03 15:45:29 -04:00 committed by Henry Schreiner
parent fdedfb6426
commit fa423c4558
5 changed files with 117 additions and 91 deletions

View File

@ -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"]

View File

@ -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 }}

View File

@ -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

18
.github/actions/quick_cmake/action.yml vendored Normal file
View File

@ -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

View File

@ -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()