Merge remote-tracking branch 'upstream/devel' into float-format

This commit is contained in:
Will Pazner 2021-05-03 22:10:21 -07:00
commit f8132e6786
3 changed files with 106 additions and 30 deletions

View File

@ -0,0 +1,86 @@
# The builds in this file are more complex (e.g. they need custom CMake
# configuration) and thus are unsuitable to the simple build matrix
# approach used in simple-builds
name: Linux builds (complex)
on: [push, pull_request]
jobs:
build:
name: ${{matrix.build_description}}, ${{matrix.cxx}}, C++${{matrix.std}} ${{matrix.build_type}}
runs-on: ubuntu-20.04
strategy:
matrix:
# We add builds one by one in this case, because there are no
# dimensions that are shared across the builds
include:
# Single surrogate header build
- cxx: clang++-10
build_description: Surrogates build
build_type: Debug
std: 14
other_pkgs: clang-10
cmake_configurations: -DCATCH_BUILD_SURROGATES=ON
# Extras and examples with gcc-7
- cxx: g++-7
build_description: Extras + Examples
build_type: Debug
std: 14
other_pkgs: g++-7
cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON
- cxx: g++-7
build_description: Extras + Examples
build_type: Release
std: 14
other_pkgs: g++-7
cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON
# Extras and examples with Clang-10
- cxx: clang++-10
build_description: Extras + Examples
build_type: Debug
std: 17
other_pkgs: clang-10
cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON
- cxx: clang++-10
build_description: Extras + Examples
build_type: Release
std: 17
other_pkgs: clang-10
cmake_configurations: -DCATCH_BUILD_EXTRA_TESTS=ON -DCATCH_BUILD_EXAMPLES=ON
steps:
- uses: actions/checkout@v2
- name: Prepare environment
run: sudo apt-get install -y ninja-build ${{matrix.other_pkgs}}
- name: Configure build
working-directory: ${{runner.workspace}}
env:
CXX: ${{matrix.cxx}}
CXXFLAGS: ${{matrix.cxxflags}}
# Note: $GITHUB_WORKSPACE is distinct from ${{runner.workspace}}.
# This is important
run: |
cmake -Bbuild -H$GITHUB_WORKSPACE \
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DCMAKE_CXX_STANDARD=${{matrix.std}} \
-DCMAKE_CXX_EXTENSIONS=OFF \
-DCATCH_DEVELOPMENT_BUILD=ON \
${{matrix.cmake_configurations}} \
-G Ninja
- name: Build tests + lib
working-directory: ${{runner.workspace}}/build
run: ninja
- name: Run tests
env:
CTEST_OUTPUT_ON_FAILURE: 1
working-directory: ${{runner.workspace}}/build
# Hardcode 2 cores we know are there
run: ctest -C ${{matrix.build_type}} -j 2

View File

@ -1,9 +1,10 @@
name: Linux builds name: Linux builds (basic)
on: [push, pull_request] on: [push, pull_request]
jobs: jobs:
build: build:
name: ${{matrix.cxx}}, C++${{matrix.std}}, ${{matrix.build_type}}
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy: strategy:
matrix: matrix:
@ -20,35 +21,42 @@ jobs:
- clang++-10 - clang++-10
build_type: [Debug, Release] build_type: [Debug, Release]
std: [14] std: [14]
surrogates: [OFF]
include: include:
# cannot be installed on ubuntu-20.04 be default? # cannot be installed on ubuntu-20.04 be default?
# - cxx: g++-6 # - cxx: g++-6
# other_pkgs: g++-6 # other_pkgs: g++-6
- cxx: g++-7
other_pkgs: g++-7
- cxx: g++-8
other_pkgs: g++-8
- cxx: clang++-6.0 - cxx: clang++-6.0
other_pkgs: clang-6.0 other_pkgs: clang-6.0
- cxx: clang++-7 - cxx: clang++-7
other_pkgs: clang-7 other_pkgs: clang-7
- cxx: clang++-8
other_pkgs: clang-8
- cxx: clang++-10 - cxx: clang++-10
other_pkgs: clang-10 other_pkgs: clang-10
# We want one build to build surrogates -- but not more, to # Clang 6 + C++17
# avoid trouble with long compilation/CI times. # does not work with the default libstdc++ version thanks
- cxx: clang++-10 # to a disagreement on variant implementation.
build_type: Debug # - cxx: clang++-6.0
std: 14 # build_type: Debug
other_pkgs: clang-10 # std: 17
surrogates: ON # other_pkgs: clang-6.0
# Clang 10 + C++17 # - cxx: clang++-6.0
# build_type: Release
# std: 17
# other_pkgs: clang-6.0
# Clang 10 + C++17
- cxx: clang++-10 - cxx: clang++-10
build_type: Debug build_type: Debug
std: 17 std: 17
other_pkgs: clang-10 other_pkgs: clang-10
surrogates: OFF
- cxx: clang++-10 - cxx: clang++-10
build_type: Release build_type: Release
std: 17 std: 17
other_pkgs: clang-10 other_pkgs: clang-10
surrogates: OFF
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -69,7 +77,6 @@ jobs:
-DCMAKE_CXX_STANDARD=${{matrix.std}} \ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
-DCMAKE_CXX_EXTENSIONS=OFF \ -DCMAKE_CXX_EXTENSIONS=OFF \
-DCATCH_DEVELOPMENT_BUILD=ON \ -DCATCH_DEVELOPMENT_BUILD=ON \
-DCATCH_BUILD_SURROGATES=${{matrix.surrogates}} \
-G Ninja -G Ninja
- name: Build tests + lib - name: Build tests + lib

View File

@ -71,15 +71,6 @@ matrix:
env: COMPILER='clang++-6.0' CPP17=1 env: COMPILER='clang++-6.0' CPP17=1
- os: linux
compiler: clang
addons:
apt:
sources: *all_sources
packages: ['clang-8', 'libstdc++-8-dev']
env: COMPILER='clang++-8' CPP17=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1
# GCC builds # GCC builds
- os: linux - os: linux
compiler: gcc compiler: gcc
@ -97,14 +88,6 @@ matrix:
packages: ['g++-6'] packages: ['g++-6']
env: COMPILER='g++-6' CPP14=1 env: COMPILER='g++-6' CPP14=1
- os: linux
compiler: gcc
addons:
apt:
sources: *all_sources
packages: ['g++-7', 'lcov']
env: COMPILER='g++-7' CPP14=1 EXAMPLES=1 COVERAGE=1 EXTRAS=1
# Special builds, e.g. conan # Special builds, e.g. conan
- language: python - language: python