Skip to content

chore(validation): speed up pre-push checks#1122

Closed
jSydorowicz21 wants to merge 1 commit into
RunMaestro:rcfrom
jSydorowicz21:fix/fast-local-validation
Closed

chore(validation): speed up pre-push checks#1122
jSydorowicz21 wants to merge 1 commit into
RunMaestro:rcfrom
jSydorowicz21:fix/fast-local-validation

Conversation

@jSydorowicz21

Copy link
Copy Markdown
Contributor

Summary

Switches local pre-push validation from a repo-wide full gate to changed-file checks for formatting and ESLint. The full repo validation remains available as bun run validate:push:full or by setting MAESTRO_FULL_PUSH_VALIDATE=1 before pushing.

Why

The previous .husky/pre-push path ran repo-wide Prettier, all TypeScript project checks, all ESLint, and the full Vitest suite on every push. That made normal branch pushes slow enough to time out during issue-triage work, even after targeted tests had already passed.

Changes

  • Added scripts/validate-push-fast.ts to derive changed files from Git pre-push stdin, with manual-run fallback for committed, staged, unstaged, and untracked files.
  • Updated validate:push to call the fast validator by default.
  • Added validate:push:full for the previous full repo gate using bun run.
  • Updated Husky hooks to use bunx instead of npx for staged-file checks.
  • Preserved delete-only push skipping in .husky/pre-push.

Validation

  • bun scripts/validate-push-fast.ts
  • bun run validate:push:fast
  • bunx prettier --check --ignore-unknown .husky/pre-push .husky/pre-commit .husky/pre-merge-commit package.json scripts/validate-push-fast.ts
  • git diff --check
  • Synthetic pre-push stdin piped into bun scripts/validate-push-fast.ts
  • Synthetic pre-push stdin piped into sh .husky/pre-push
  • Delete-only synthetic pre-push stdin piped into sh .husky/pre-push
  • Real git push -u fork fix/fast-local-validation, which ran the fast hook successfully

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f0a95f31-26a1-4f7b-9cbf-3830e6ee2def

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant