ci: schrijf een echte commit-status voor de static-gate (Gitea 1.22-bug) #1260
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1260
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/ci-static-gate-status-bridge"
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?
Wat
Forgejo/Gitea 1.22 schrijft bij een Actions-run een commit-status met
status: successmaar laat het legacystate-veldnull. Branch-bescherming leeststate, dus de poort is groen terwijl de merge permanent geblokkeerd blijft — de vereiste checkstatic-gate / static-gate (pull_request)staat voor altijd opnull(upstream go-gitea/gitea#38364). Dat dwong admin-force-merges om werk te landen.Wijziging
Een laatste stap in
static-gate.ymlschrijft zélf een commit-status via de REST API, met een echtestate(success/failure) onder een context die we beheren (static-gate). De auto-status gebruikt een andere context, dus die overschrijft de onze niet.if: always()zodat een falende poortfailurerapporteert in plaats van niets — fail-closed.Verificatie
Deze PR dient tegelijk als test: de static-gate-workflow draait op deze PR's head-sha. Ik bekijk of de context
static-gatemetstate: successverschijnt op de commit-status API. Zo ja, dan werkt de repo-helft van de fix.Vervolg (niet in deze PR)
Zodra deze stap geverifieerd is, pas ik de branch-bescherming aan: vereis
static-gatein plaats van de kapottestatic-gate / static-gate (pull_request). Daarna kan een PR met een groene poort normaal mergen — zonder admin-force.Generated with Devin