name: CMake Ubuntu on: [push, pull_request] env: BUILD_TYPE: Release jobs: build: strategy: fail-fast: false matrix: include: - os: ubuntu-20.04 compiler: clang compiler-version: 11 ignore-errors: false - os: ubuntu-20.04 compiler: clang compiler-version: 10 ignore-errors: false - os: ubuntu-18.04 compiler: clang compiler-version: "6.0" # This compiler is supported only on a best-effort basis ignore-errors: true - os: ubuntu-20.04 compiler: gcc compiler-version: 10 ignore-errors: false - os: ubuntu-20.04 compiler: gcc compiler-version: 9 ignore-errors: false - os: ubuntu-18.04 compiler: gcc compiler-version: 7 ignore-errors: false runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.ignore-errors }} steps: - uses: actions/checkout@v2 - name: Install ninja-build tool uses: seanmiddleditch/gha-setup-ninja@v3 - name: Install/configure Clang compiler toolchain if: matrix.compiler == 'clang' run: | sudo apt-get install -qy clang-${{matrix.compiler-version}} echo "CXX=clang++-${{matrix.compiler-version}}" >> $GITHUB_ENV echo "CC=clang-${{matrix.compiler-version}}" >> $GITHUB_ENV - name: Install/configure GCC compiler toolchain if: matrix.compiler == 'gcc' run: | sudo apt-get install -qy g++-${{matrix.compiler-version}} echo "CXX=g++-${{matrix.compiler-version}}" >> $GITHUB_ENV echo "CC=gcc-${{matrix.compiler-version}}" >> $GITHUB_ENV - name: Create Build Environment run: | pip3 install absl-py clang cmake -E make_directory ${{runner.workspace}}/build - name: Configure CMake working-directory: ${{runner.workspace}}/build run: cmake $GITHUB_WORKSPACE -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE - name: Build working-directory: ${{runner.workspace}}/build run: cmake --build . --config $BUILD_TYPE # TODO(cblichmann): Before enabling this, make sure all OSS tests pass #- name: Test # working-directory: ${{runner.workspace}}/build # run: ctest -C $BUILD_TYPE