name: PyTaiko on: push: branches: ["main"] pull_request: branches: ["main"] permissions: contents: write pull-requests: write issues: write repository-projects: write jobs: build: strategy: matrix: os: [ubuntu-22.04, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Check-out repository uses: actions/checkout@v4 - name: Install libaudio Dependencies (macOS) if: runner.os == 'macOS' run: | brew update brew install libsndfile speexdsp - name: Install libaudio Dependencies (Windows) if: runner.os == 'Windows' uses: msys2/setup-msys2@v2 with: update: true install: >- base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-libsndfile mingw-w64-x86_64-speexdsp - name: Install libaudio Dependencies (Linux) if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y \ build-essential \ pkg-config \ libsndfile1-dev \ libspeexdsp-dev \ - name: Build libaudio shell: ${{ runner.os == 'Windows' && 'msys2 {0}' || 'bash' }} run: | cd libs/audio make clean make all make verify - name: Upload libaudio Artifacts uses: actions/upload-artifact@v4 with: name: libaudio-${{ runner.os }}-${{ runner.arch }} path: | libs/audio/libaudio.dll libs/audio/libaudio.so libs/audio/libaudio.dylib libs/audio/*.a if-no-files-found: ignore