From d50c9e38d30c10565a58632b56480966badf4195 Mon Sep 17 00:00:00 2001 From: NathanJ60 Date: Sat, 13 Dec 2025 10:32:34 +0100 Subject: [PATCH] feat: add git pre-push hooks (#432) - Add cargo-husky for automatic hook installation - Run cargo sqlx prepare --check before push - Run cargo clippy with warnings as errors before push Closes #403 --- .cargo-husky/hooks/pre-push | 15 +++++++++++++++ backend/storage/Cargo.toml | 5 +++++ 2 files changed, 20 insertions(+) create mode 100755 .cargo-husky/hooks/pre-push diff --git a/.cargo-husky/hooks/pre-push b/.cargo-husky/hooks/pre-push new file mode 100755 index 00000000..ee4941fc --- /dev/null +++ b/.cargo-husky/hooks/pre-push @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +echo "=== Pre-push checks ===" + +echo "Checking sqlx prepare in backend/storage..." +(cd backend/storage && cargo sqlx prepare --check) + +echo "Checking sqlx prepare in shared..." +(cd shared && cargo sqlx prepare --check) + +echo "Running cargo clippy..." +cargo clippy --all-targets -- -D warnings + +echo "=== All checks passed! ===" diff --git a/backend/storage/Cargo.toml b/backend/storage/Cargo.toml index cd92d24a..8ddf8ac8 100644 --- a/backend/storage/Cargo.toml +++ b/backend/storage/Cargo.toml @@ -24,3 +24,8 @@ utoipa = { version = "5.3.1", features = ["actix_extras"] } indexmap = { version = "2.11.0", default-features = false, features = ["std", "serde"] } regex = "1.11.1" arcadia-shared = { path = "../../shared" } + +[dev-dependencies.cargo-husky] +version = "1.5" +default-features = false +features = ["user-hooks"]