name: CI Validation on: workflow_dispatch: pull_request: push: branches: - main - master jobs: rust-validate: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Cache cargo registry and target uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git target key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo- - name: Format check run: cargo fmt --all -- --check - name: Build run: cargo build --locked - name: Clippy run: cargo clippy --bin hulypulse --all-features -- -D warnings - name: Unit tests run: cargo test --bin hulypulse --locked