on: push: pull_request: env: CARGO_TERM_COLOR: always jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set rust version run: | source ci/rust-version.sh echo "RUST_STABLE=$rust_stable" | tee -a $GITHUB_ENV # The toolchain action should definitely be run before the cache action - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: ${{ env.RUST_STABLE }} components: rustfmt, clippy cache: false # avoid the default "-D warnings" which thrashes cache rustflags: "" # https://github.com/actions/cache/blob/main/examples.md#rust---cargo - uses: actions/cache@v3 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run fmt+clippy run: | cargo fmt --all --check cargo clippy --workspace --all-targets - name: Build run: | cargo build --all-targets