ci: schrijf een echte commit-status voor de static-gate (Gitea 1.22-bug) #1260

Merged
brenno merged 1 commit from fix/ci-static-gate-status-bridge into main 2026-08-05 09:38:46 +00:00
Owner

Wat

Forgejo/Gitea 1.22 schrijft bij een Actions-run een commit-status met status: success maar laat het legacy state-veld null. Branch-bescherming leest state, dus de poort is groen terwijl de merge permanent geblokkeerd blijft — de vereiste check static-gate / static-gate (pull_request) staat voor altijd op null (upstream go-gitea/gitea#38364). Dat dwong admin-force-merges om werk te landen.

Wijziging

Een laatste stap in static-gate.yml schrijft zélf een commit-status via de REST API, met een echte state (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 poort failure rapporteert 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-gate met state: success verschijnt 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-gate in plaats van de kapotte static-gate / static-gate (pull_request). Daarna kan een PR met een groene poort normaal mergen — zonder admin-force.

Generated with Devin

## Wat Forgejo/Gitea 1.22 schrijft bij een Actions-run een commit-status met `status: success` maar laat het legacy `state`-veld `null`. Branch-bescherming leest `state`, dus de poort is groen terwijl de merge permanent geblokkeerd blijft — de vereiste check `static-gate / static-gate (pull_request)` staat voor altijd op `null` (upstream [go-gitea/gitea#38364](https://github.com/go-gitea/gitea/issues/38364)). Dat dwong admin-force-merges om werk te landen. ## Wijziging Een laatste stap in `static-gate.yml` schrijft zélf een commit-status via de REST API, met een echte `state` (`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 poort `failure` rapporteert 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-gate` met `state: success` verschijnt 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-gate` in plaats van de kapotte `static-gate / static-gate (pull_request)`. Daarna kan een PR met een groene poort normaal mergen — zonder admin-force. Generated with [Devin](https://devin.ai)
ci: schrijf een echte commit-status voor de static-gate (werkt om Gitea 1.22-bug)
All checks were successful
scans / scans (pull_request) Successful in 2m22s
static-gate Static gate passed
static-gate / static-gate (pull_request) Successful in 5m25s
e254bfa3d1
Forgejo/Gitea 1.22 schrijft bij een Actions-run een commit-status met
`status: success` maar laat het legacy `state`-veld `null`. Branch-bescherming
leest `state`, dus de poort is groen terwijl de merge permanent geblokkeerd
blijft — de vereiste check `static-gate / static-gate (pull_request)` staat
voor altijd op `null` (upstream issue go-gitea/gitea#38364). Dat dwong
admin-force-merges om werk te landen.

Deze commit voegt een laatste stap toe die zélf een commit-status schrijft
via de REST API, met een echte `state` (`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
poort `failure` rapporteert in plaats van niets — fail-closed.

De bijbehorende branch-beschermingswijziging (vereis `static-gate` in plaats
van de kapotte auto-context) volgt nadat deze stap empirisch is geverifieerd
op een PR-run.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit e157fd274c into main 2026-08-05 09:38:46 +00:00
Sign in to join this conversation.
No description provided.