name: Rust on: pull_request: branches: - master push: branches: - master jobs: test: name: test runs-on: ubuntu-latest steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 with: access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v3 - name: Install Toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal - name: Rust Cache uses: Swatinem/rust-cache@v1.4.0 - name: Run tests run: cargo test --verbose lint: name: Lint runs-on: ubuntu-latest steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 with: access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v3 - name: Install Toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal - name: Install Clippy run: rustup component add clippy - name: Install RustFmt run: rustup component add rustfmt - name: Rust Cache uses: Swatinem/rust-cache@v1.4.0 - name: Run format check run: cargo fmt --all --check - name: Run clippy run: cargo clippy --all --all-targets -- -D warnings audit: name: Audit runs-on: ubuntu-latest steps: - name: Checkout Sources uses: actions/checkout@v2 - name: Install Toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal - name: Install Audit run: cargo install cargo-audit - name: Rust Cache uses: Swatinem/rust-cache@v1.4.0 - name: Run Audit uses: actions-rs/cargo@v1 with: command: audit build: name: Build runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest] rv: [stable, beta, nightly] steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 with: access_token: ${{ github.token }} - name: Checkout Sources uses: actions/checkout@v2 - name: Install Toolchain uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rv }} - name: Rust Cache uses: Swatinem/rust-cache@v1.4.0 - name: Cargo Build uses: actions-rs/cargo@v1 with: command: build