Merge pull request #324 from sstallion/sstallion/project-languages #566
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Trigger on pushes to all branches and for all pull-requests | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
container: ${{ matrix.config.container }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
# GCC-4.8 | |
- { | |
name: "Linux GCC 4.8 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:4.8" }, | |
#cc: "gcc-4.8", cxx: "g++-4.8", | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
# GCC-4.9 | |
- { | |
name: "Linux GCC 4.9 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:4.9" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 4.9 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:4.9" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
# GCC-5 | |
- { | |
name: "Linux GCC 5 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:5" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 5 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:5" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 5 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:5" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
# GCC-6 | |
- { | |
name: "Linux GCC 6 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:6" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 6 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:6" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 6 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:6" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
# GCC-7 | |
- { | |
name: "Linux GCC 7 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:7" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 7 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:7" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 7 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:7" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
# GCC-8 | |
- { | |
name: "Linux GCC 8 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:8" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 8 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:8" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 8 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:8" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
# GCC-9 | |
- { | |
name: "Linux GCC 9 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:9" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 9 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:9" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 9 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:9" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
# GCC-10 | |
- { | |
name: "Linux GCC 10 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:10" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 10 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:10" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 10 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:10" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 10 C++20", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:10" }, | |
compiler: gcc, | |
cxx_standard: 20, | |
cxx_asan: true, | |
} | |
# GCC-11 | |
- { | |
name: "Linux GCC 11 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:11" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 11 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:11" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 11 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:11" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 11 C++20", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:11" }, | |
compiler: gcc, | |
cxx_standard: 20, | |
cxx_asan: true, | |
} | |
# GCC-12 | |
- { | |
name: "Linux GCC 12 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:12" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 12 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:12" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 12 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:12" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 12 C++20", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:12" }, | |
compiler: gcc, | |
cxx_standard: 20, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 12 C++23", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:12" }, | |
compiler: gcc, | |
cxx_standard: 23, | |
cxx_asan: true, | |
} | |
# GCC-13 | |
- { | |
name: "Linux GCC 13 C++11", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:13" }, | |
compiler: gcc, | |
cxx_standard: 11, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 13 C++14", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:13" }, | |
compiler: gcc, | |
cxx_standard: 14, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 13 C++17", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:13" }, | |
compiler: gcc, | |
cxx_standard: 17, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 13 C++20", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:13" }, | |
compiler: gcc, | |
cxx_standard: 20, | |
cxx_asan: true, | |
} | |
- { | |
name: "Linux GCC 13 C++23", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/gcc:13" }, | |
compiler: gcc, | |
cxx_standard: 23, | |
cxx_asan: true, | |
} | |
# Clang-3.5 | |
- { | |
name: "Linux Clang 3.5 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.5" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
#- { | |
# name: "Linux Clang 3.5 C++14 / libstdc++", | |
# os: ubuntu-latest, | |
# container: { image: "ghcr.io/rollbear/clang:3.5" }, | |
# compiler: clang, | |
# cxx_standard: 14, | |
# cxx_asan: false, | |
# libcxx: false | |
#} | |
- { | |
name: "Linux Clang 3.5 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.5" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 3.5 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.5" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
no_coverage: true, | |
} | |
# Clang-3.6 | |
- { | |
name: "Linux Clang 3.6 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.6" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.6 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.6" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
no_coverage: true | |
} | |
- { | |
name: "Linux Clang 3.6 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.6" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 3.6 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.6" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
no_coverage: true | |
} | |
# Clang-3.7 | |
- { | |
name: "Linux Clang 3.7 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.7" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.7 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.7" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.7 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.7" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 3.7 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.7" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
# Clang-3.8 | |
- { | |
name: "Linux Clang 3.8 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.8" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.8 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.8" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.8 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.8" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 3.8 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.8" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
# Clang-3.9 | |
- { | |
name: "Linux Clang 3.9 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.9" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.9 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.9" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 3.9 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.9" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 3.9 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:3.9" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
no_coverage: true | |
} | |
# Clang-4.0 | |
- { | |
name: "Linux Clang 4.0 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:4.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 4.0 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:4.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 4.0 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:4.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 4.0 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:4.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
no_coverage: true | |
} | |
# Clang-5.0 | |
- { | |
name: "Linux Clang 5.0 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 5.0 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 5.0 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 5.0 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 5.0 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 5.0 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:5.0" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-6.0 | |
- { | |
name: "Linux Clang 6.0 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 6.0 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 6.0 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 6.0 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 6.0 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 6.0 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:6.0" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-7 | |
- { | |
name: "Linux Clang 7 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 7 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 7 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 7 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 7 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 7 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:7" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-8 | |
- { | |
name: "Linux Clang 8 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 8 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 8 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 8 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 8 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 8 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:8" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-9 | |
- { | |
name: "Linux Clang 9 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 9 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 9 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 9 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 9 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 9 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:9" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-10 | |
- { | |
name: "Linux Clang 10 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 10 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 10 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 10 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 10 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 10 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 10 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 10 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:10" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-11 | |
- { | |
name: "Linux Clang 11 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 11 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 11 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 11 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 11 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 11 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 11 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 11 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:11" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-12 | |
- { | |
name: "Linux Clang 12 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 12 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 12 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 12 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 12 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 12 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 12 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 12 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:12" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-13 | |
- { | |
name: "Linux Clang 13 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 13 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 13 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 13 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 13 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 13 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 13 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 13 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:13" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-14 | |
- { | |
name: "Linux Clang 14 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 14 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 14 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 14 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 14 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 14 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 14 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 14 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:14" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: true, | |
} | |
# Clang-15 | |
- { | |
name: "Linux Clang 15 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 15 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 15 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 15 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 15 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 15 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 15 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 15 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:15" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
# Clang-16 | |
- { | |
name: "Linux Clang 16 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 16 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 16 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 16 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 16 C++23 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 2b, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 16 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 16 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 16 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 16 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 16 C++23 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:16" }, | |
compiler: clang, | |
cxx_standard: 2b, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
# clang-17 | |
- { | |
name: "Linux Clang 17 C++11 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 17 C++14 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 17 C++17 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 17 C++20 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 17 C++23 / libstdc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 23, | |
cxx_asan: true, | |
libcxx: false, | |
} | |
- { | |
name: "Linux Clang 17 C++11 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 11, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 17 C++14 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 14, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 17 C++17 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 17, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 17 C++20 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 20, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
- { | |
name: "Linux Clang 17 C++23 / libc++", | |
os: ubuntu-latest, | |
container: { image: "ghcr.io/rollbear/clang:17" }, | |
compiler: clang, | |
cxx_standard: 23, | |
cxx_asan: false, | |
libcxx: true, | |
} | |
# AppleClang | |
- { | |
name: "macOS Clang C++11", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
cxx_standard: 11, | |
cxx_asan: true | |
} | |
- { | |
name: "macOS Clang C++14", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
cxx_standard: 14, | |
cxx_asan: true | |
} | |
- { | |
name: "macOS Clang C++17", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
cxx_standard: 17, | |
cxx_asan: true | |
} | |
- { | |
name: "macOS Clang C++20", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
cxx_standard: 20, | |
cxx_asan: true | |
} | |
- { | |
name: "macOS Clang C++23", | |
os: macos-latest, | |
cc: "clang", cxx: "clang++", | |
cxx_standard: 2b, | |
cxx_asan: true | |
} | |
# MSVC 2022 | |
- { | |
name: "Windows MSVC 2022 C++11", | |
os: windows-2022, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 11, | |
} | |
- { | |
name: "Windows MSVC 2022 C++14", | |
os: windows-2022, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 14, | |
} | |
- { | |
name: "Windows MSVC 2022 C++17", | |
os: windows-2022, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 17, | |
} | |
- { | |
name: "Windows MSVC 2022 C++20", | |
os: windows-2022, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 20, | |
} | |
# MSVC 2019 | |
- { | |
name: "Windows MSVC 2019 C++11", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 11, | |
} | |
- { | |
name: "Windows MSVC 2019 C++14", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 14, | |
} | |
- { | |
name: "Windows MSVC 2019 C++17", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 17, | |
} | |
- { | |
name: "Windows MSVC 2019 C++20", | |
os: windows-2019, | |
cc: "cl", cxx: "cl", | |
cxx_standard: 20, | |
} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Configure MSVC console (Windows) | |
if: startsWith(matrix.config.os, 'windows') | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Set MacOS compiler env | |
id: set_macos_cc_cxx | |
if: startsWith(matrix.config.os, 'macos') | |
shell: bash | |
run: | | |
env brew install parallel ninja | |
echo "CC=clang" >> $GITHUB_ENV | |
echo "CXX=clang++" >> $GITHUB_ENV | |
- name: Verify compilation errors | |
if: (!startsWith(matrix.config.os, 'windows')) | |
shell: bash | |
run: | | |
CXXFLAGS="-std=c++${{ matrix.config.cxx_standard }}" ./check_errors.sh | |
- name: Configure | |
shell: bash | |
run: | | |
STD=${{ matrix.config.cxx_standard }} | |
if [ "x${{ matrix.config.libcxx }}" == "xtrue" ] | |
then | |
cxx_flags="${cxx_flags} -stdlib=libc++ -Wno-unused-command-line-argument" | |
link_flags="${link_flags} -lc++abi" | |
STDLIB="libc++" | |
fi | |
if [ "x${{ matrix.config.cxx_asan }}" == "xtrue" ] | |
then | |
cxx_flags="${cxx_flags} -fno-omit-frame-pointer" | |
fi | |
[ -n "${{ matrix.config.no_coverage }}" ] || { | |
echo ${{ matrix.config.name }} | grep -q -e '^Windows' || cxx_flags="${cxx_flags} --coverage" | |
} | |
cmake \ | |
-S . \ | |
-B build \ | |
-D TROMPELOEIL_BUILD_TESTS=yes \ | |
-D CMAKE_BUILD_TYPE=Debug \ | |
-D CMAKE_VERBOSE_MAKEFILE=ON \ | |
-D CXX_STANDARD:STRING=${STD} \ | |
-D CMAKE_PREFIX_PATH="/usr/local/lib/c++${STD}${STDLIB}" \ | |
-D CMAKE_CXX_FLAGS:STRING="${cxx_flags}" \ | |
-D CMAKE_EXE_LINKER_FLAGS:STRING="${link_flags}" \ | |
-D SANITIZE=${{matrix.config.cxx_asan}} \ | |
${{ matrix.config.cmake_args }} \ | |
${extra_cmake_args} \ | |
-G Ninja | |
- name: Build | |
shell: bash | |
run: | | |
cmake --build build --target self_test | |
- name: Run tests | |
shell: bash | |
run: | | |
./build/test/self_test | |
- name: Collect coverage | |
if: (!startsWith(matrix.config.name, 'windows') && !matrix.config.no_coverage) | |
run: | | |
COV=`echo "${{ matrix.config.name }}}" | grep -q -e "Linux.*Clang" && echo "llvm-cov gcov"|| echo gcov` | |
${COV} -abcfup `find build/test -name "*.gcno"` | |
ls *.gcov| grep -v 'include#trompeloeil'|xargs rm | |
- name: Upload coverage | |
if: (!startsWith(matrix.config.name, 'windows') && !matrix.config.no_coverage) && github.repository == 'rollbear/trompeloeil' | |
uses: codecov/codecov-action@v3 | |
with: | |
gcov_include: "include/trompeloeil" | |
name: "${{ matrix.config.name }}" | |
fail_ci_if_error: false | |
verbose: true | |