name: test on: push pull_request: types: [synchronize, review_requested] env: CARGO_TERM_COLOR: always permissions: contents: read jobs: build: runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: runner: - ubuntu-latest - windows-latest - macos-latest features: - java - js - py - luajit - lua54 toolchain: - stable - beta - nightly steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.toolchain }} - run: cargo build --release --verbose --features=${{ matrix.features }} test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: toolchain: - stable - beta - nightly steps: - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.toolchain }} - run: cargo test --verbose