From ad74568955cecf368d5cd62d5abd9fee649ae05a Mon Sep 17 00:00:00 2001 From: nicktrn <55853254+nicktrn@users.noreply.github.com> Date: Fri, 3 Jul 2026 16:56:01 +0100 Subject: [PATCH] ci: run oxfmt + oxlint on pre-push (lefthook) (#4147) Adds a lefthook `pre-push` job that runs the same checks as CI code-quality (`oxfmt --check .` + `oxlint .`), so formatting/lint failures are caught locally before they reach a PR. Uses the existing lefthook setup - no new tooling. Caveat noted in the config: GitButler uses its own git implementation and only runs hooks when "Run hooks" is enabled in its per-project settings; with that off, this protects plain `git push`. Enable that setting to have it fire on `but push` too. --- lefthook.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lefthook.yml b/lefthook.yml index 2e8212d33..48c1e35e0 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -4,3 +4,14 @@ pre-commit: jobs: - name: 🚫 Prevent main branch commits run: exit 1 + +# Mirror the CI code-quality check locally so unformatted / lint-failing pushes +# are caught before they hit the PR. Note: GitButler uses its own git +# implementation and only runs hooks when "Run hooks" is enabled in its +# settings - with that off, this protects plain `git push` only. +pre-push: + jobs: + - name: format + run: pnpm exec oxfmt --check . + - name: lint + run: pnpm exec oxlint .