Skip to content

ci: run CodeQL on our runners except for fork pull requests - #45

Merged
ThePrismSystem merged 1 commit into
mainfrom
ci/codeql-self-hosted
Aug 6, 2026
Merged

ci: run CodeQL on our runners except for fork pull requests#45
ThePrismSystem merged 1 commit into
mainfrom
ci/codeql-self-hosted

Conversation

@ThePrismSystem

Copy link
Copy Markdown
Owner

CodeQL was the one workflow still pinned to ubuntu-latest after the rest of CI moved to self-hosted. It now carries the same expression every job in ci.yml uses:

runs-on: ${{ github.event.pull_request.head.repo.fork && 'ubuntu-latest' || 'self-hosted' }}

So the analysis runs on our hardware for pushes to main, the weekly cron and branch pull requests, and falls back to GitHub's hardware for fork pull requests.

build-mode: none parses the tree rather than executing it, so this job never carried ci.yml's arbitrary-code exposure. The guard is here so the trust boundary is stated the same way in both workflows rather than inferred per file.

Worth watching on the first run

The self-hosted runner needs outbound access to github.com to pull the CodeQL bundle, and enough disk for the database. Nothing else — build-mode: none needs no toolchain.

CodeQL was the one workflow still pinned to ubuntu-latest after the rest of
CI moved to self-hosted. It now uses the same expression every job in ci.yml
carries, so the analysis runs on our hardware for pushes, the weekly cron and
branch pull requests, and falls back to GitHub's for fork pull requests.

build-mode: none parses the tree rather than executing it, so this job never
had ci.yml's arbitrary-code exposure. The guard is here so the trust boundary
is stated in one form across both workflows rather than inferred per file.
@ThePrismSystem
ThePrismSystem merged commit 5355667 into main Aug 6, 2026
@ThePrismSystem
ThePrismSystem deleted the ci/codeql-self-hosted branch August 6, 2026 17:13
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