name: Builds on: push: branches: ["main"] pull_request: branches: ["main"] env: CARGO_TERM_COLOR: always jobs: build: strategy: matrix: include: - os: windows-latest target: x86_64-pc-windows-msvc - os: windows-latest target: aarch64-pc-windows-msvc extraargs: --exclude livekit-api # livekit-api isn't compatible with windows arm64 (waiting for v0.17 of ring) - os: macos-latest target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin name: Build (${{ matrix.target }}) runs-on: ${{ matrix.os }} steps: - name: Install Protoc uses: arduino/setup-protoc@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Rust toolchain run: | rustup update --no-self-update stable rustup target add ${{ matrix.target }} - uses: actions/checkout@v3 with: submodules: true - name: Build run: cargo build --workspace --release --verbose --target ${{ matrix.target }} ${{ matrix.extraargs }} - name: Build examples working-directory: examples run: cargo build --release --verbose --target ${{ matrix.target }}