forked from boostorg/outcome
-
Notifications
You must be signed in to change notification settings - Fork 0
65 lines (52 loc) · 2.66 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
name: Continuous Integration
on:
push:
branches:
- '*'
- '*/*'
pull_request:
branches:
- develop
jobs:
build:
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- { name: "MSVC 14.3 - C++17-20", os: windows-2022, cxxstd: '17,20', cmake_args: -G "Visual Studio 17 2022" -A x64, }
- { name: "clang-cl 14.3 - C++14,20", os: windows-2022, cxxstd: '14,20', cmake_args: -G "Visual Studio 17 2022" -T ClangCL -A x64, }
- { name: "MSVC 14.2 - C++14-17", os: windows-2019, cxxstd: '14,17', cmake_args: -G "Visual Studio 16 2019" -A x64, }
- { name: "GCC 12 - C++17-20", os: ubuntu-22.04, cc: gcc-12, cxx: g++-12, cxxstd: '17,20', }
- { name: "GCC 11 - C++14,20", os: ubuntu-22.04, cc: gcc-11, cxx: g++-11, cxxstd: '14,20', }
# The GCC 10 this runner has is broken
# - { name: "GCC 10 - C++17-20", os: ubuntu-22.04, cc: gcc-10, cxx: g++-10, cxxstd: '17,20', }
- { name: "GCC 9 - C++17-20", os: ubuntu-22.04, cc: gcc-9, cxx: g++-9, cxxstd: '17,20', }
- { name: "GCC 8 - C++14-17", os: ubuntu-20.04, cc: gcc-8, cxx: g++-8, cxxstd: '14,17', install: g++-8, }
- { name: "GCC 7 - C++14", os: ubuntu-20.04, cc: gcc-7, cxx: g++-7, cxxstd: 14, install: g++-7, }
- { name: "Clang 14 - C++17-20", os: ubuntu-22.04, cc: clang-14, cxx: clang++-14, cxxstd: '17,20', }
- { name: "Clang 13 - C++14,20", os: ubuntu-22.04, cc: clang-13, cxx: clang++-13, cxxstd: '14,20', }
- { name: "Clang 12 - C++17-20", os: ubuntu-22.04, cc: clang-12, cxx: clang++-12, cxxstd: '17,20', }
- { name: "Clang 11 - C++14-17", os: ubuntu-20.04, cc: clang-11, cxx: clang++-11, cxxstd: '14,17', install: clang-11, }
- { name: "AppleClang 13", os: macos-12, cxxstd: 17 }
runs-on: ${{ matrix.os }}
steps:
- name: Outcome checkout
uses: actions/checkout@v3
- name: Install packages
if: startsWith(matrix.os, 'ubuntu') && matrix.install
run: sudo apt-get install -y ${{ matrix.install }}
- name: Boost checkout
uses: ./.github/actions/boost_clone
with:
boost_dir: boost
branch: ${{ (github.ref_name == 'master' && 'master') || 'develop' }}
modules: config,exception,system,throw_exception,test
- name: CMake Run (C++${{ matrix.cxxstd }})
uses: ./.github/actions/cmake_run
with:
cxxstd: ${{ matrix.cxxstd }}
cxx: ${{ matrix.cxx }}
cc: ${{ matrix.cc }}
extra-args: ${{ format('-D BOOST_SRC_DIR=boost {0}', matrix.cmake_args) }}
build-target: tests