CodeQL cannot run on Forgejo — decide what replaces it in Api, Ordo and Site #148
Labels
No labels
area: api
area: auth
area: build
area: cache
area: ci
area: compare
area: model
area: provenance
area: rite
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Api#148
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
codeql.ymlruns on push, on PR, and weekly on a schedule, inDirectorium/Api,Directorium/OrdoandDirectorium/Site. It has never passed in any of them, and it cannot.Until today it failed early, because the runner could not fetch the action at all:
That was an infrastructure fault and it is fixed — the runner now resolves actions against github.com. With the action fetching cleanly,
Directorium/Apirun 35 (task 2263) gets one step further and then:codeql-action/initcalls GitHub's code-scanning endpoints onGITHUB_API_URL, which under Actions-on-Forgejo points at Forgejo. Forgejo does not implement code scanning, so it answers 404. There is no token or setting that changes this: the action wants a service this forge does not have.The workflow's own header explains what it is for:
So the value is real and worth keeping — it is the only thing auditing these workflows — but the mechanism is GitHub-only. Three options, roughly in increasing order of effort:
codeql.ymlfrom the three repos. Honest, and stops a weekly red that trains everyone to ignore the CI column. Loses the check.codeql-action/analyzetakesupload: neverwithoutput:. Unverified against Forgejo;initmay still 404 beforeanalyzeis reached, so this needs testing before it is adopted.actionlintorzizmorare single binaries, run anywhere, and cover the same ground (injection via untrusted${{ }}, unpinned actions, over-broad permissions). This is the option that keeps the intent.Whichever is chosen, it should be applied to all three repos together — they carry byte-identical copies from the same template.
Related: while confirming this,
deploy.ymlin the same three repos turned out not to be valid YAML, which failed a check on every push independently of anything CI did (fixed in273d897/95d1c89/18ece2a). Between them, those two workflows are the entire reason "CI red on Api, Ordo" appeared in every estate digest since 2026-07-12.