Skip to content

ci: lean Linux-only CI, lint and typecheck move to the pre-push hook - #206

Merged
YosefHayim merged 2 commits into
mainfrom
chore/205-ci-standard
Oct 26, 2026
Merged

YosefHayim merged 2 commits into
mainfrom
chore/205-ci-standard

Conversation

@YosefHayim

@YosefHayim YosefHayim commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Fixes #205

Summary

CI now runs only test and build on Linux. Biome and both typechecks run in the husky pre-push hook. Actions are pinned to SHAs. CI runs on PRs and on push to main, and the main run saves the pnpm cache.

Moved

  • Biome job: pnpm run check:ci now in .husky/pre-push
  • Typecheck job: pnpm run typecheck and pnpm run typecheck:mcp-apps now in the hook
  • Test and Build jobs merged into one job (each took under 2 minutes, so one setup instead of two)
  • Removed report-failure (it only fired on push to main, which CI no longer runs) and the four reusable workflow files
  • api-sync.yml (manual, files issues) was not a check job; only its actions were pinned
  • Release and publish: actions pinned only, triggers and cancel untouched

Hook proof

Probe commit with a type error was blocked: src/index.ts(150,14): error TS2322: Type 'string' is not assignable to type 'number'. then husky - pre-push script failed (code 2). The probe was dropped; this branch pushed through the hook.

Timing

Job Before (recent main runs) After (this PR)
Biome 35-45s moved to hook
Typecheck 30-35s moved to hook
Test 80-105s merged into Test and build: 1m35s total
Build 35-50s merged into Test and build
Wall time about 2m10s about 1m50s
Billed job time about 3m30s about 1m50s

Test plan

  • Hosted CI green on this PR
  • Hook blocks a type error

Confidence 8/10

Update: CI also runs on main

Public repo, so minutes are free: checks now run on pull_request, push to main (paths-ignore **/*.md) and workflow_dispatch. Cancel only applies to pull requests. The main run saves the pnpm cache, so warm-cache.yml was removed. Push runs the full suite (since is empty). The main-failure issue workflow (report-failure) is restored, with a timeout and pinned SHAs.

@YosefHayim
YosefHayim merged commit d2e9452 into main Oct 26, 2026
7 checks passed
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.

Lean Linux-only CI: lint and typecheck move to a pre-push hook

1 participant