name: CI | |
on: | |
push: | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
- '.mailmap' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
linux: | |
name: ${{ matrix.compiler }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
compiler: [g++-7, g++-8, g++-9, g++-10, | |
clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12] | |
include: | |
- os: ubuntu-22.04 | |
compiler: g++-11 | |
- os: ubuntu-22.04 | |
compiler: g++-12 | |
- os: ubuntu-22.04 | |
compiler: clang++-13 | |
- os: ubuntu-22.04 | |
compiler: clang++-14 | |
env: | |
CXX: ${{ matrix.compiler }} | |
steps: | |
- name: Install C++ compiler | |
run: | | |
sudo apt-get -qy install ${CXX/clang++/clang} | |
${CXX} --version | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build and test | |
run: ./.jenkins | |
macos: | |
name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-11] | |
xcode: ['12.4', '12.5', '13.2'] | |
include: | |
- os: macos-12 | |
xcode: '13.4' | |
- os: macos-12 | |
xcode: '14.1' | |
steps: | |
- name: Set up Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build and test | |
run: ./.jenkins |