blob: 21e8948cb5b9ce91f4887d17e5a929066a9e1bbf [file] [log] [blame]
Davide Pesavento8f0028d2021-07-27 20:01:06 -04001name: CI
2on:
3 push:
Davide Pesavento13dae352021-08-13 15:40:54 -04004 paths-ignore:
5 - 'docs/**'
6 - '*.md'
7 - '.mailmap'
Davide Pesavento8f0028d2021-07-27 20:01:06 -04008 workflow_dispatch:
9
Davide Pesavento13dae352021-08-13 15:40:54 -040010permissions:
11 contents: read
12
Davide Pesavento8f0028d2021-07-27 20:01:06 -040013jobs:
14 linux:
15 name: ${{ matrix.compiler }} on ${{ matrix.os }}
Davide Pesavento4791fcb2022-08-14 17:40:05 -040016 runs-on: ${{ matrix.os }}
Davide Pesavento8f0028d2021-07-27 20:01:06 -040017 strategy:
18 fail-fast: false
19 matrix:
Davide Pesavento8f0028d2021-07-27 20:01:06 -040020 os: [ubuntu-20.04]
Davide Pesavento4791fcb2022-08-14 17:40:05 -040021 compiler: [g++-7, g++-8, g++-9, g++-10,
22 clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
Davide Pesavento8f0028d2021-07-27 20:01:06 -040023 include:
Davide Pesavento4791fcb2022-08-14 17:40:05 -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 Pesavento8f0028d2021-07-27 20:01:06 -040032 env:
33 CXX: ${{ matrix.compiler }}
Davide Pesavento8f0028d2021-07-27 20:01:06 -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 Pesaventoc52cd5e2022-03-05 20:40:54 -050040 uses: actions/checkout@v3
Davide Pesavento4791fcb2022-08-14 17:40:05 -040041 with:
42 submodules: true
Davide Pesavento8f0028d2021-07-27 20:01:06 -040043 - name: Build and test
44 run: ./.jenkins
45
46 macos:
47 name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
Davide Pesavento4791fcb2022-08-14 17:40:05 -040048 runs-on: ${{ matrix.os }}
Davide Pesavento8f0028d2021-07-27 20:01:06 -040049 strategy:
50 fail-fast: false
51 matrix:
Davide Pesavento4791fcb2022-08-14 17:40:05 -040052 os: [macos-11]
53 xcode: ['12.4', '12.5', '13.2']
Davide Pesaventof28a0612021-09-29 23:13:32 -040054 include:
Davide Pesavento4791fcb2022-08-14 17:40:05 -040055 - os: macos-12
56 xcode: '13.4'
Davide Pesavento8f0028d2021-07-27 20:01:06 -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 Pesaventoc52cd5e2022-03-05 20:40:54 -050063 uses: actions/checkout@v3
Davide Pesavento4791fcb2022-08-14 17:40:05 -040064 with:
65 submodules: true
Davide Pesavento8f0028d2021-07-27 20:01:06 -040066 - name: Build and test
67 run: ./.jenkins