| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- name: Continuous Integration
- on: [push, pull_request]
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- gcc:
- name: GCC
- runs-on: ubuntu-22.04
- strategy:
- fail-fast: false
- matrix:
- include:
- - gcc: "5"
- - gcc: "6"
- - gcc: "7"
- - gcc: "8"
- - gcc: "9"
- - gcc: "10"
- cxxflags: -funsigned-char # Issue #1715
- - gcc: "11"
- - gcc: "12"
- steps:
- - name: Workaround for actions/runner-images#9491
- run: sudo sysctl vm.mmap_rnd_bits=28
- - name: Install
- run: |
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
- sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ xenial main universe'
- sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ bionic main universe'
- sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ focal main universe'
- sudo apt-get update
- sudo apt-get install -y gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
- timeout-minutes: 5
- - name: Checkout
- uses: actions/checkout@v4
- timeout-minutes: 1
- - name: Configure
- run: cmake -DCMAKE_BUILD_TYPE=Debug .
- env:
- CC: gcc-${{ matrix.gcc }}
- CXX: g++-${{ matrix.gcc }}
- CXXFLAGS: ${{ matrix.cxxflags }}
- timeout-minutes: 1
- - name: Build
- run: cmake --build .
- timeout-minutes: 10
- - name: Test
- run: ctest --output-on-failure -C Debug .
- timeout-minutes: 2
- clang:
- name: Clang
- strategy:
- fail-fast: false
- matrix:
- include:
- - clang: "7"
- runner: ubuntu-22.04
- archive: focal
- - clang: "8"
- runner: ubuntu-22.04
- archive: focal
- - clang: "9"
- runner: ubuntu-22.04
- archive: focal
- - clang: "10"
- runner: ubuntu-22.04
- archive: focal
- - clang: "11"
- runner: ubuntu-22.04
- - clang: "12"
- runner: ubuntu-22.04
- - clang: "13"
- runner: ubuntu-22.04
- - clang: 16
- - clang: 17
- - clang: 18
- - clang: 19
- runs-on: ${{ matrix.runner || 'ubuntu-latest' }}
- steps:
- - name: Add archive repositories
- if: matrix.archive
- run: |
- sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
- sudo gpg --export 3B4FE6ACC0B21F32 | sudo tee /etc/apt/trusted.gpg.d/ubuntu-keyring.gpg > /dev/null
- sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ ${{ matrix.archive }} main'
- sudo add-apt-repository -yn 'deb http://archive.ubuntu.com/ubuntu/ ${{ matrix.archive }} universe'
- - name: Install Clang ${{ matrix.clang }}
- run: |
- sudo apt-get update
- sudo apt-get install -y clang-${{ matrix.clang }}
- - name: Install libunwind ${{ matrix.clang }}
- if: matrix.clang == 12 # dependency is missing in Ubuntu 22.04
- run: sudo apt-get install -y libunwind-${{ matrix.clang }}-dev
- - name: Checkout
- uses: actions/checkout@v4
- - name: Configure
- run: cmake -DCMAKE_BUILD_TYPE=Debug .
- env:
- CC: clang-${{ matrix.clang }}
- CXX: clang++-${{ matrix.clang }}
- CXXFLAGS: ${{ matrix.cxxflags }}
- - name: Build
- run: cmake --build .
- - name: Test
- run: ctest --output-on-failure -C Debug .
|