blob: f328d39a812cbd8fc314019906436d0a1d15f775 [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 }}
Davide Pesaventob97a1122022-08-12 18:26:07 -040016 runs-on: ${{ matrix.os }}
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040017 strategy:
18 fail-fast: false
19 matrix:
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040020 os: [ubuntu-20.04]
Davide Pesaventob97a1122022-08-12 18:26:07 -040021 compiler: [g++-7, g++-8, g++-9, g++-10,
22 clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040023 include:
Davide Pesaventob97a1122022-08-12 18:26:07 -040024 - os: ubuntu-22.04
25 compiler: g++-11
26 - os: ubuntu-22.04
27 compiler: g++-12
28 - os: ubuntu-22.04
29 compiler: clang++-13
30 - os: ubuntu-22.04
31 compiler: clang++-14
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040032 env:
33 CXX: ${{ matrix.compiler }}
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040034 steps:
35 - name: Install C++ compiler
36 run: |
37 sudo apt-get -qy install ${CXX/clang++/clang}
38 ${CXX} --version
39 - name: Checkout
Davide Pesavento96412a12022-03-05 13:34:23 -050040 uses: actions/checkout@v3
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040041 - name: Build and test
42 run: ./.jenkins
43
44 macos:
45 name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
Davide Pesaventob97a1122022-08-12 18:26:07 -040046 runs-on: ${{ matrix.os }}
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040047 strategy:
48 fail-fast: false
49 matrix:
Davide Pesaventob97a1122022-08-12 18:26:07 -040050 os: [macos-11]
51 xcode: ['12.4', '12.5', '13.2']
Davide Pesavento2c8ec072021-09-30 00:04:23 -040052 include:
Davide Pesaventob97a1122022-08-12 18:26:07 -040053 - os: macos-12
54 xcode: '13.4'
Davide Pesavento6f168562022-11-13 15:57:02 -050055 - os: macos-12
Davide Pesavento3b4ee2f2022-12-31 01:55:06 -050056 xcode: '14.2'
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040057 steps:
58 - name: Set up Xcode
59 uses: maxim-lobanov/setup-xcode@v1
60 with:
61 xcode-version: ${{ matrix.xcode }}
62 - name: Checkout
Davide Pesavento96412a12022-03-05 13:34:23 -050063 uses: actions/checkout@v3
Davide Pesaventoe8c82ef2021-07-28 02:38:51 -040064 - name: Build and test
65 run: ./.jenkins