name: Rust on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: build: name: Build strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Install Protoc uses: arduino/setup-protoc@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup toolchain run: rustup show - uses: Swatinem/rust-cache@v2 - name: Build run: cargo xtask build test: name: Test strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Install Protoc uses: arduino/setup-protoc@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup toolchain run: rustup show - uses: Swatinem/rust-cache@v2 - name: Test run: cargo xtask test format: name: Check Formatting runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup toolchain run: rustup show - name: Check Format run: cargo xtask format --check clippy: name: Check Clippy Lints runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install Protoc uses: arduino/setup-protoc@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup toolchain run: rustup show - uses: Swatinem/rust-cache@v2 - name: Check clippy lints run: cargo xtask clippy