1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-29 04:03:52 +00:00

Adding action check

This commit is contained in:
Henry Schreiner 2020-01-08 13:02:48 -05:00 committed by Henry Schreiner
parent 60e2932356
commit a08e25ea7b
4 changed files with 123 additions and 9 deletions

16
.github/actions/cmake_config/Dockerfile vendored Normal file
View File

@ -0,0 +1,16 @@
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.5 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

16
.github/actions/cmake_config/action.yml vendored Normal file
View File

@ -0,0 +1,16 @@
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 }}

23
.github/actions/cmake_config/entrypoint.sh vendored Executable file
View File

@ -0,0 +1,23 @@
#!/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_souces/$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

View File

@ -40,17 +40,76 @@ jobs:
- name: Build
run: cmake --build build -j2
cmake34:
name: CMake 3.4
cmake-config:
name: CMake config check
runs-on: ubuntu-latest
# container: ubuntu:latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Add CMake folder to path
run: mkdir -p cmake && echo "::add-path::$PWD/cmake/bin"
- name: Install Modern CMake
run: wget -qO- "https://cmake.org/files/v3.4/cmake-3.4.3-Linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C $PWD/cmake
- name: Configure
run: cmake --version && mkdir -p build && cd build && cmake ..
- name: CMake 3.4
uses: ./.github/actions/cmake_config
with:
version: 3.4.3
- name: CMake 3.5
uses: ./.github/actions/cmake_config
with:
version: 3.5.2
if: success() || failure()
- name: CMake 3.6
uses: ./.github/actions/cmake_config
with:
version: 3.6.3
if: success() || failure()
- name: CMake 3.7
uses: ./.github/actions/cmake_config
with:
version: 3.7.2
if: success() || failure()
- name: CMake 3.8
uses: ./.github/actions/cmake_config
with:
version: 3.8.2
if: success() || failure()
- name: CMake 3.9
uses: ./.github/actions/cmake_config
with:
version: 3.9.6
if: success() || failure()
- name: CMake 3.10
uses: ./.github/actions/cmake_config
with:
version: 3.10.3
if: success() || failure()
- name: CMake 3.11 (full)
uses: ./.github/actions/cmake_config
with:
version: 3.11.4
options: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON
if: success() || failure()
- name: CMake 3.12
uses: ./.github/actions/cmake_config
with:
version: 3.12.4
if: success() || failure()
- name: CMake 3.13
uses: ./.github/actions/cmake_config
with:
version: 3.13.5
if: success() || failure()
- name: CMake 3.14
uses: ./.github/actions/cmake_config
with:
version: 3.14.7
if: success() || failure()
- name: CMake 3.15
uses: ./.github/actions/cmake_config
with:
version: 3.15.6
if: success() || failure()
- name: CMake 3.16 (full)
uses: ./.github/actions/cmake_config
with:
version: 3.16.2
options: -DCLI11_SANITIZERS=ON -DCLI11_BUILD_EXAMPLES_JSON=ON
if: success() || failure()