name: Builds on: push: branches: ["main"] pull_request: branches: ["main"] env: CARGO_TERM_COLOR: always jobs: build: strategy: fail-fast: false matrix: include: - os: windows-latest target: x86_64-pc-windows-msvc - os: windows-latest target: aarch64-pc-windows-msvc extraargs: --exclude livekit-api --exclude livekit-ffi # waiting for v0.17 of ring - os: macos-latest target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin - os: ubuntu-latest target: x86_64-unknown-linux-gnu #- os: ubuntu-latest # target: aarch64-unknown-linux-gnu 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 }} - name: Install linux dependencies if: ${{ matrix.os == 'ubuntu-latest' }} run: | sudo apt update -y sudo apt install -y libssl-dev libx11-dev libgl1-mesa-dev libxext-dev - 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 }}