name: CI on: pull_request: push: branches: - master env: RUST_BACKTRACE: 1 permissions: contents: read # to fetch code (actions/checkout) jobs: ci-pass: name: CI is green runs-on: ubuntu-latest needs: - style - test - msrv steps: - run: exit 0 style: name: Check Style runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: cargo fmt --check run: cargo fmt --check test: name: Test ${{ matrix.rust }} on ${{ matrix.os }} needs: [style] strategy: matrix: rust: - stable - beta os: - ubuntu-latest runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v3 - name: Install Rust (${{ matrix.rust }}) uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Test run: cargo test msrv: name: Check MSRV needs: [style] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Install Rust MSRV uses: dtolnay/rust-toolchain@master with: toolchain: 1.36.0 - name: Check run: cargo build