testing.yml (1092B)
1 # This workflow runs Rust tests and checks on push and pull request events 2 name: Rust Testing 3 4 on: 5 pull_request: 6 push: 7 branches: [ main ] 8 workflow_dispatch: 9 workflow_call: 10 11 env: 12 CARGO_TERM_COLOR: always 13 14 jobs: 15 test: 16 name: Test 17 runs-on: ${{ matrix.os }} 18 needs: ["check"] 19 strategy: 20 matrix: 21 os: [ubuntu-latest, windows-latest] 22 steps: 23 - uses: actions/checkout@v3 24 - name: Cache Rust dependencies 25 uses: Swatinem/rust-cache@v2 26 - name: Test Build 27 run: cargo build --verbose 28 - name: Run tests 29 run: cargo test --verbose 30 31 check: 32 name: Rustfmt 33 runs-on: ubuntu-latest 34 steps: 35 - uses: actions/checkout@v3 36 - name: Cache Rust dependencies 37 uses: Swatinem/rust-cache@v2 38 - name: Install Rust fmt 39 run: rustup component add rustfmt 40 - name: Install Rust clippy 41 run: rustup component add clippy 42 - name: Run rustfmt 43 run: cargo fmt --all -- --check 44 - name: Run clippy 45 run: cargo clippy --all-targets --all-features -- -D warnings