devx: add a repo-managed pre-push CI gate

Add a versioned pre-push runner that mirrors the basic required CI suites we can execute locally, including version/changelog checks, Rust fmt/clippy/core checks, Python lint/typecheck/tests, docs, and the WASM gate.

Wire the runner into pre-commit at the pre-push stage, add make prepush and make hooks for manual use and hook installation, and document the workflow in the contribution guides.

Also add pre-commit to the development dependency set and refresh uv.lock so a synced dev environment can install and run the hook reproducibly.
This commit is contained in:
Pratik Bhadane
2026-03-24 14:24:44 +05:30
parent 29c6f5cf84
commit ba77fbd418
7 changed files with 352 additions and 4 deletions
+11 -1
View File
@@ -1,5 +1,5 @@
# Pre-commit hooks for ferro-ta
# Install: pre-commit install
# Install: pre-commit install --hook-type pre-commit --hook-type pre-push
# Run: pre-commit run --all-files
default_language_version:
python: python3
@@ -31,3 +31,13 @@ repos:
# entry: mypy python/ferro_ta --ignore-missing-imports
# language: system
# pass_filenames: false
- repo: local
hooks:
- id: ci-basic-pre-push
name: ci basic pre-push
entry: scripts/pre_push_checks.sh
language: system
pass_filenames: false
always_run: true
stages: [pre-push]