| 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 |