| 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.2' |
| 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 |