name: Build, Lint, Test
on:
push:
branches:
- main
pull_request:
jobs:
build-test-lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Set git username
run: git config --global user.name "alex289"
- name: Check dependencies
run: cargo install --locked cargo-deny && cargo deny check
- name: Install dependencies
run: cargo build --verbose
- name: Run Clippy (Linting)
run: cargo clippy -- -D warnings
- name: Check formatting
run: cargo fmt -- --check
- name: Run tests
run: cargo test --verbose