name: Rust on: push: branches: - main pull_request: jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Setup | Checkout uses: actions/checkout@v2 - name: Setup | Rust uses: ATiltedTree/setup-rust@v1 with: rust-version: stable components: clippy - name: Build | Lint run: cargo clippy compile: name: Compile runs-on: ubuntu-latest steps: - name: Setup | Checkout uses: actions/checkout@v2 - name: Setup | Rust uses: ATiltedTree/setup-rust@v1 with: rust-version: stable - name: Build | Compile run: cargo check test: name: Test strategy: matrix: rust: - stable - beta - nightly runs-on: ubuntu-latest needs: [compile] steps: - name: Setup | Checkout uses: actions/checkout@v2 - name: Setup | Rust uses: ATiltedTree/setup-rust@v1 with: rust-version: ${{ matrix.rust }} - name: Build | Compile run: cargo test