blob: 15841e623d84f5d40b242b81c9c90ee26e562eca [file] [log] [blame]
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -04001name: CI
2on:
3 push:
Davide Pesaventoc4343232021-08-13 23:17:05 -04004 paths-ignore:
5 - 'docs/**'
6 - '*.md'
7 - '.mailmap'
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -04008 workflow_dispatch:
9
Davide Pesaventoc4343232021-08-13 23:17:05 -040010permissions:
11 contents: read
12
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040013jobs:
14 linux:
15 name: ${{ matrix.compiler }} on ${{ matrix.os }}
16 strategy:
17 fail-fast: false
18 matrix:
19 compiler: [g++-8, g++-9, g++-10, g++-11,
20 clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
21 os: [ubuntu-20.04]
22 include:
23 - compiler: g++-7
24 os: ubuntu-18.04
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040025 - compiler: clang++-6.0
26 os: ubuntu-18.04
27 runs-on: ${{ matrix.os }}
28 env:
29 CXX: ${{ matrix.compiler }}
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040030 steps:
31 - name: Install C++ compiler
32 run: |
33 sudo apt-get -qy install ${CXX/clang++/clang}
34 ${CXX} --version
35 - name: Checkout
Davide Pesavento96412a12022-03-05 13:34:23 -050036 uses: actions/checkout@v3
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040037 - name: Build and test
38 run: ./.jenkins
39
40 macos:
41 name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
42 strategy:
43 fail-fast: false
44 matrix:
45 xcode: ['11.3', '11.7', '12.4']
46 os: [macos-10.15]
Davide Pesavento2c8ec072021-09-30 00:04:23 -040047 include:
48 - xcode: '12.5'
49 os: macos-11
Davide Pesavento50882eb2021-12-29 13:23:23 -050050 - xcode: '13.2'
Davide Pesavento2c8ec072021-09-30 00:04:23 -040051 os: macos-11
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040052 runs-on: ${{ matrix.os }}
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040053 steps:
54 - name: Set up Xcode
55 uses: maxim-lobanov/setup-xcode@v1
56 with:
57 xcode-version: ${{ matrix.xcode }}
58 - name: Checkout
Davide Pesavento96412a12022-03-05 13:34:23 -050059 uses: actions/checkout@v3
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040060 - name: Build and test
61 run: ./.jenkins