#!/usr/bin/env bash
# Pre-push hook for stygian
# Runs the same strict checks expected by this repository.

set -euo pipefail

echo "Running pre-push checks..."

echo "-> Running workspace tests..."
cargo test --workspace --all-features

echo "-> Running strict clippy profile..."
cargo clippy --workspace --all-targets --all-features -- \
  -W clippy::all \
  -W clippy::pedantic \
  -W clippy::nursery \
  -W clippy::cargo \
  -W clippy::perf \
  -A clippy::module_name_repetitions \
  -A clippy::must_use_candidate \
  -A clippy::missing_errors_doc \
  -A clippy::missing_panics_doc \
  -A clippy::struct_excessive_bools \
  -A clippy::multiple_crate_versions \
  -D clippy::unwrap_used \
  -D clippy::expect_used \
  -D clippy::panic \
  -D clippy::indexing_slicing \
  -D clippy::cast_ptr_alignment \
  -D clippy::suspicious \
  -D warnings

echo "-> Building release artifacts..."
cargo build --workspace --all-features --release

echo "-> Building docs..."
cargo doc --workspace --all-features --no-deps

echo "Pre-push checks passed"
