readme tweaks #77
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linting & Testing | |
defaults: | |
run: | |
shell: bash | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
branches: | |
- 'main' | |
jobs: | |
debug: | |
name: Debugging action on ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Installing tree | |
run: sudo apt-get -y install tree & which tree | |
- name: Listing all files | |
run: tree -I "target*|.git*" | |
fmt: | |
name: Running cargo fmt on ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_TERM_COLOR: always | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Update toolchain & add rustfmt | |
run: | | |
rustup update | |
rustup component add rustfmt | |
- name: Run rustfmt | |
run: cargo fmt --all --check | |
check: | |
name: Running cargo check on ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_TERM_COLOR: always | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Update toolchain | |
run: rustup update | |
- name: Run check | |
run: cargo check | |
clippy: | |
name: Running cargo clippy on ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: "-Dwarnings" | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Update toolchain & add clippy | |
run: | | |
rustup update | |
rustup component add clippy | |
- name: Cache Rust dependencies | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: clippy-v0 | |
key: clippy-${{ matrix.os }} | |
- name: Fetch dependencies | |
run: cargo fetch --locked | |
- name: Run clippy | |
run: cargo clippy -- --deny warnings | |
test: | |
name: Running cargo test on ${{ matrix.os }} | |
needs: [fmt, check, clippy] | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_TERM_COLOR: always | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Update toolchain | |
run: rustup update | |
- name: Cache Rust dependencies | |
uses: Swatinem/rust-cache@v2 | |
with: | |
prefix-key: test-v0 | |
key: test-${{ matrix.os }} | |
- name: Build | |
run: cargo build | |
- name: Run tests | |
run: cargo test |