name: Rust on: push: branches: [ "master" ] pull_request: branches: [ "master" ] env: CARGO_TERM_COLOR: always jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal components: rustfmt,clippy - uses: Swatinem/rust-cache@v2 - name: Formatting run: cargo fmt --check --all - name: Linting run: cargo clippy --all --tests test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal - uses: Swatinem/rust-cache@v2 - run: cargo test build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal - uses: Swatinem/rust-cache@v2 - name: Build run: cargo build