Run the tests on macOS 14 #150
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 }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04, windows-2019, macos-14] | |
rust: [stable] | |
experimental: [false] | |
include: | |
- os: ubuntu-20.04 | |
rust: nightly | |
experimental: true | |
- os: windows-2019 | |
rust: nightly | |
experimental: true | |
- os: macos-14 | |
rust: nightly | |
experimental: true | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install Rust | |
run: rustup toolchain install ${{ matrix.rust }} --profile minimal --component rustfmt clippy | |
- name: Check format | |
shell: bash | |
run: rustup run ${{ matrix.rust }} cargo fmt --all -- --check | |
# Skip clippy checks for `systest` | |
- name: Clippy | |
shell: bash | |
run: rustup run ${{ matrix.rust }} cargo clippy -p cubeb -p cubeb-backend -p cubeb-core -p cubeb-sys -- -D warnings | |
- name: Build | |
shell: bash | |
run: rustup run ${{ matrix.rust }} cargo build --all | |
- name: Setup Audio | |
if: ${{ 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: Grant microphone access | |
if: ${{ 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: Test | |
shell: bash | |
run: rustup run ${{ matrix.rust }} cargo test --all | |
- name: Run systest | |
shell: bash | |
run: rustup run ${{ matrix.rust }} cargo run -p systest | |