mumble/.github/workflows/build.yml
Robert Adam c2b42aecb4 CI: Use --output-on-failure flag for ctest
This flag makes sure that the verbose output of running the test cases
is not shown, unless the test fails. In that case the full output is
displayed (for that test case).
2022-02-07 20:13:03 +01:00

72 lines
1.9 KiB
YAML

name: Build
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CMAKE_OPTIONS: |
-Dtests=ON -Dsymbols=ON -Dgrpc=ON -Ddisplay-install-paths=ON
MUMBLE_ENVIRONMENT_SOURCE: 'https://dl.mumble.info/build/vcpkg/'
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, ubuntu-20.04]
type: [shared] # Currently the "static" build doesn't work for Linux systems
arch: [64bit]
runs-on: ${{ matrix.os }}
steps:
- name: Print diskspace
run: df -BM
shell: bash
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Set environment variables
run: $GITHUB_WORKSPACE/.github/workflows/set_environment_variables.sh "${{ matrix.os }}" "${{ matrix.type }}" "${{ matrix.arch }}" "${{ runner.workspace }}"
shell: bash
- uses: actions/cache@v2
with:
path: '${{ env.MUMBLE_BUILD_ENV_PATH }}'
key: ${{ env.MUMBLE_ENVIRONMENT_VERSION }}
- uses: ./.github/actions/install-dependencies
with:
type: ${{ matrix.type }}
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
- name: Create build dir
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Run CMake
run: |
cmake -G Ninja -S $GITHUB_WORKSPACE -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CMAKE_OPTIONS \
-DCMAKE_UNITY_BUILD=ON $ADDITIONAL_CMAKE_OPTIONS $VCPKG_CMAKE_OPTIONS
shell: bash
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config $BUILD_TYPE
shell: bash
- name: Test
working-directory: ${{runner.workspace}}/build
shell: bash
run: QT_QPA_PLATFORM=offscreen ctest -output-on-failure -C $BUILD_TYPE