Uh oh!
There was an error while loading. Please reload this page.
improvement(ci): move CodeQL off default setup onto Blacksmith - #6219
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview The new
Reviewed by Cursor Bugbot for commit e29086b. Configure here. |
Greptile SummaryThe PR replaces GitHub CodeQL default setup with a repository-managed advanced setup using Blacksmith runners and scoped concurrency.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the previously reported production-route coverage hole is fixed by removing the broad test-directory exclusions.
|
| Filename | Overview |
|---|---|
| .github/codeql/codeql-config.yml | Adds extraction exclusions while retaining coverage of production routes under directories named test; the previously reported coverage hole is fixed. |
| .github/workflows/codeql.yml | Adds the advanced CodeQL workflow with Blacksmith runner selection, scoped cancellation, draft handling, pinned actions, and JavaScript/TypeScript plus Actions matrices. |
Reviews (2): Last reviewed commit: "fix(ci): restore CodeQL coverage of the ..." | Re-trigger Greptile
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Default setup pinned every scan to a 4-vCPU GitHub-hosted runner with no cancel-in-progress: PR scans ran 30-125 min and re-ran on every push (#6183 burned six overlapping runs). None of that is reachable from the settings UI, so the config moves into the repo. - Blacksmith 8-vCPU via the same CI_PROVIDER escape hatch as ci.yml - cancel-in-progress scoped to pull_request so push/schedule scans finish - push to main + PR to main/staging + nightly safety net - paths filter so doc-only PRs skip the run entirely - paths-ignore config drops tests/mocks/fixtures: 12,716 -> 11,128 files - languages: javascript-typescript + actions; python dropped (7 files in tree) Default setup has been disabled; the two cannot both be active.
Review round 1. - Drop the '**/test/**' and '**/tests/**' globs. A `test` directory is a routable Next.js path segment, and those globs excluded apps/sim/app/api/organizations/[id]/data-drains/[drainId]/test/route.ts — a POST handler that authorizes, decrypts destination credentials and makes an outbound request. CodeQL paths-ignore has no `!` negation to carve it back out, and the globs only covered 76 of 12,716 files. - Add `ready_for_review` to the pull_request activity types. It is not a default type, so a PR opened as a draft and later marked ready was skipped by the draft guard and never rescanned until the next push.
1f1b2e7 to
e29086bComparewaleedlatif1
commented
Aug 3, 2026
waleedlatif1
commented
Aug 3, 2026
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e29086b. Configure here.
CodeQL was running via GitHub Advanced Security default setup — no workflow file, so no control over runner, triggers, or concurrency. Result: PR scans of 30–125 min on a 4-vCPU GitHub-hosted runner, re-running on every push. PR #6183 alone burned six overlapping runs (94/96/100/100/125/93 min).
This replaces it with advanced setup. Default setup has already been disabled — the two cannot both be active.
Changes
CI_PROVIDERescape-hatch expression asci.ymlcancel-in-progressscoped topull_request, mirroringci.yml:31, so push and scheduled scans still run to completionmain+ PR tomain/staging+ nightly safety net +workflow_dispatchpathsfilter so doc/config-only PRs skip the run entirelypaths-ignoreconfig dropping tests/mocks/fixtures: 12,716 → 11,128 extracted fileslanguages: [javascript-typescript, actions]— python dropped (7 files in the tree)persist-credentials: false, SHA-pinned actions,timeout-minutes: 60On the language list
Default setup listed
javascript,javascript-typescriptandtypescript. Those are aliases of one extractor (github/codeql-action→src/languages/builtin.json), so it was always a single analysis, not three — the logs showExtracting javascriptonce. Not a source of the slowness.Prior art
Modelled on how comparable OSS repos configure this. Notably, none of n8n, cal.com, supabase, twenty, PostHog, medusa, next.js or trigger.dev commit a CodeQL workflow at all. Among those that do:
javascript!tests/**) + weeklyjavascriptjavascriptKibana is the closest analogue (large TS tree) and solves it the same way: dedicated runner + aggressive
paths-ignore.Not adopted: kibana's
CODEQL_EXTRACTOR_JAVASCRIPT_OPTION_SKIP_TYPES: true. It is the largest single speedup available, but a GitHub code search returns 4 hits worldwide (kibana + a fork), it is undocumented, and it weakens type-based taint tracking. Available as an escape hatch if runtimes are still unacceptable.Verification owed