Add a log callback that takes a formatted message. #659
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-13, macos-14] | |
type: [Release, Debug] | |
steps: | |
- uses: actions/checkout@v4 | |
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: Install virtual audio devices (Windows) | |
run: git clone https://github.com/LABSN/sound-ci-helpers && powershell sound-ci-helpers/windows/setup_sound.ps1 | |
if: ${{ matrix.os == 'windows-2019' }} | |
- name: Allow microphone access to all apps (Windows) | |
shell: pwsh | |
run: | | |
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppPrivacy\" | |
New-ItemProperty -Path "HKLM:\SOFTWARE\policies\microsoft\windows\appprivacy" -Name "LetAppsAccessMicrophone" -Value "0x00000001" -PropertyType "dword" | |
if: ${{ matrix.os == 'windows-2019' }} | |
- name: Install virtual audio devices (macOS) | |
if: ${{ matrix.os == 'macos-13' || matrix.os == 'macos-14' }} | |
run: | | |
brew install switchaudio-osx | |
brew install blackhole-2ch | |
SwitchAudioSource -s "BlackHole 2ch" -t input | |
SwitchAudioSource -s "BlackHole 2ch" -t output | |
- name: Allow microphone access to all apps (macOS) | |
if: ${{ matrix.os == 'macos-13' || matrix.os == 'macos-14' }} | |
env: | |
tcc_extra_columns: ${{ matrix.os == 'macos-14' && ',NULL,NULL,''UNUSED'',1687786159' || '' }} | |
run: sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159${{ env.tcc_extra_columns }});" | |
- 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) | |
- name: Test winmm | |
shell: bash | |
run: (cd build && CUBEB_BACKEND=winmm ctest -V) | |
if: ${{ matrix.os == 'windows-2019' }} | |
build-android: | |
runs-on: ubuntu-22.04 | |
env: | |
BUILD_TYPE: ${{ matrix.type }} | |
BUILD_ARCH: ${{ matrix.arch }} | |
strategy: | |
matrix: | |
type: [Release, Debug] | |
arch: [arm64-v8a, armeabi-v7a, x86_64] | |
steps: | |
- uses: actions/checkout@v4 | |
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-28 -DANDROID_ABI=$BUILD_ARCH | |
- name: Build | |
shell: bash | |
run: cmake --build build | |
check_format: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install Dependencies (Linux) | |
run: sudo apt-get update && sudo apt-get install clang-format-15 | |
- name: Configure CMake | |
shell: bash | |
run: cmake -S . -B build -DCLANG_FORMAT_BINARY=clang-format-15 | |
- name: Check format | |
shell: bash | |
run: cmake --build build --target clang-format-check | |