name: CI | |
on: | |
push: | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
- '.mailmap' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
linux: | |
name: ${{ matrix.compiler }} on ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [g++-8, g++-9, g++-10, g++-11, | |
clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12] | |
os: [ubuntu-20.04] | |
include: | |
- compiler: g++-7 | |
os: ubuntu-18.04 | |
- compiler: clang++-6.0 | |
os: ubuntu-18.04 | |
runs-on: ${{ matrix.os }} | |
env: | |
CXX: ${{ matrix.compiler }} | |
NODE_LABELS: Linux Ubuntu | |
WAF_JOBS: 2 | |
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 }} | |
strategy: | |
fail-fast: false | |
matrix: | |
xcode: ['11.3', '11.7', '12.4'] | |
os: [macos-10.15] | |
include: | |
- xcode: '12.5' | |
os: macos-11 | |
- xcode: '13.2' | |
os: macos-11 | |
runs-on: ${{ matrix.os }} | |
env: | |
NODE_LABELS: OSX | |
WAF_JOBS: 3 | |
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 |