name: Build on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} env: BUILD_TYPE: ${{ matrix.type }} strategy: matrix: os: [ubuntu-20.04, windows-2019, macos-10.15] type: [Release, Debug] steps: - uses: actions/checkout@v2 with: submodules: true - name: Install Dependencies (Linux) run: sudo apt-get update && sudo apt-get install libpulse-dev pulseaudio if: matrix.os == 'ubuntu-20.04' - name: Start Sound Server (Linux) run: pulseaudio -D --start if: matrix.os == 'ubuntu-20.04' - name: Configure CMake shell: bash run: cmake -S . -B build -DCMAKE_BUILD_TYPE=$BUILD_TYPE - name: Build shell: bash run: cmake --build build - name: Test shell: bash run: (cd build && ctest -V) if: ${{ matrix.os == 'ubuntu-20.04' || matrix.os == 'macos-10.15' }} build-android: runs-on: ubuntu-20.04 env: BUILD_TYPE: ${{ matrix.type }} strategy: matrix: type: [Release, Debug] steps: - uses: actions/checkout@v2 with: submodules: true - name: Configure CMake shell: bash run: cmake -S . -B build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-26 - name: Build shell: bash run: cmake --build build check_format: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: true - name: Configure CMake shell: bash run: cmake -S . -B build - name: Check format shell: bash run: cmake --build build --target clang-format-check