feat(forgejo): Forgejo-native uses: pins resolve against Forgejo, not github.com #17

Merged
ryangr0 merged 1 commit from feat/forgejo-gitea-tags into main 2026-09-18 11:10:56 +00:00
Owner

Wat

forgejo.json krijgt een customManagers-entry die webgrip/* job-level reusable-workflowpins via de gitea-tags-datasource tegen Forgejo oplost, plus drie packageRules die de github-actions-manager voor webgrip/** uitzetten, de commitvorm ci(actions): behouden en pinDigests voor custom.regex uitschakelen.

Waarom

De github-actions-manager wijst zijn datasource toe bij extractie en kent er maar één: github-tags, tegen api.github.com. Voor actions/checkout klopt dat. Voor webgrip/workflows niet — dat is Forgejo-authoritative, en zijn github.com-tweeling draagt wel branches maar geen tags omdat github-distribute.yml er niet op draait.

Een lege taglijst geeft Can't find version matching vX.Y.Z in plaats van een fout. Geen enkele job wordt rood, er komt nooit een PR, en de pin bevriest zonder signaal.

Gevonden in webgrip/twente.dev op 2026-09-18: zeven pins onoplosbaar, drie lanes op v1.6.0 en v2.1.0 terwijl v2.7.2 al uit was. Elke repo in het estate met een webgrip/*-reusable heeft dezelfde bug, dus hoort de fix hier.

Verificatie

gitea-tags implementeert getDigest en lost met een newValue de tag op naar zijn commit, dus digest én versiecomment schuiven samen op. Gecontroleerd tegen de live instance:

GET /api/v1/repos/webgrip/workflows/tags/v2.7.2  ->  cd0550751c9e0414c8dc32d62ff099ff38c7a284
pin in twente.dev on_source_change.yml           ->  cd0550751c9e0414c8dc32d62ff099ff38c7a284

pnpm validate (renovate-config-validator --strict over alle zes presets) is groen.

Let op

  • registryUrlTemplate bevat het publieke Forgejo-host letterlijk. De Renovate-job praat cluster-intern met Forgejo voor platformcalls omdat Cloudflare %2F in branch-ref-paden normaliseert; tagpaden hebben dat segment niet, dus dit is veilig — maar het is wel een tweede adres voor één instance.
  • Een regex-manager is brozer dan een echte. Een uses: in een vorm die het patroon niet matcht is opnieuw stil onbeheerd. twente.dev heeft daar just renovate-coverage voor, een telling die faalt als er eentje wegvalt.
  • Na de release kan twente.dev zijn eigen kopie van deze customManager laten vallen; die staat er nu lokaal omdat de fix daar eerder nodig was dan hier.

Achtergrond: twente.dev ADR 0022

🤖 Generated with Claude Code


Tweede commit: het schema staat open

Het venster stond op weekdagen 3–7 uur plus het hele weekend. Met dependencyDashboardApproval op true voor elk update-type gaat er sowieso niets open zonder een klik van een mens, dus het venster voegde geen veiligheid toe — alleen vertraging. Een vinkje op vrijdagmiddag bleef tot zaterdag 00:00 liggen, en default.json regel 12 documenteert zelf dat Renovate een goedkeuring niet bewaart als hij er niet naar kan handelen, dus zo'n klik kon stil verdwijnen. Concreet gezien op frontend-toolkit issue #5 vandaag.

Het vocht ook met de overstap naar uurlijkse runs (2026-08-04), die juist gedaan is om deze wachttijd weg te halen. CI-kosten zitten per PR en niet per run, dus openzetten spreidt de belasting eerder dan dat het hem vergroot. Een repo die stille uren wil, zet zijn eigen schedule.

## Wat `forgejo.json` krijgt een `customManagers`-entry die `webgrip/*` job-level reusable-workflowpins via de `gitea-tags`-datasource tegen Forgejo oplost, plus drie `packageRules` die de github-actions-manager voor `webgrip/**` uitzetten, de commitvorm `ci(actions):` behouden en `pinDigests` voor `custom.regex` uitschakelen. ## Waarom De github-actions-manager wijst zijn datasource toe bij extractie en kent er maar één: `github-tags`, tegen `api.github.com`. Voor `actions/checkout` klopt dat. Voor `webgrip/workflows` niet — dat is Forgejo-authoritative, en zijn github.com-tweeling draagt wel branches maar geen tags omdat `github-distribute.yml` er niet op draait. Een lege taglijst geeft `Can't find version matching vX.Y.Z` in plaats van een fout. Geen enkele job wordt rood, er komt nooit een PR, en de pin bevriest zonder signaal. Gevonden in `webgrip/twente.dev` op 2026-09-18: zeven pins onoplosbaar, drie lanes op v1.6.0 en v2.1.0 terwijl v2.7.2 al uit was. Elke repo in het estate met een `webgrip/*`-reusable heeft dezelfde bug, dus hoort de fix hier. ## Verificatie `gitea-tags` implementeert `getDigest` en lost met een `newValue` de tag op naar zijn commit, dus digest én versiecomment schuiven samen op. Gecontroleerd tegen de live instance: ``` GET /api/v1/repos/webgrip/workflows/tags/v2.7.2 -> cd0550751c9e0414c8dc32d62ff099ff38c7a284 pin in twente.dev on_source_change.yml -> cd0550751c9e0414c8dc32d62ff099ff38c7a284 ``` `pnpm validate` (renovate-config-validator --strict over alle zes presets) is groen. ## Let op - `registryUrlTemplate` bevat het publieke Forgejo-host letterlijk. De Renovate-job praat cluster-intern met Forgejo voor platformcalls omdat Cloudflare `%2F` in branch-ref-paden normaliseert; tagpaden hebben dat segment niet, dus dit is veilig — maar het is wel een tweede adres voor één instance. - Een regex-manager is brozer dan een echte. Een `uses:` in een vorm die het patroon niet matcht is opnieuw stil onbeheerd. `twente.dev` heeft daar `just renovate-coverage` voor, een telling die faalt als er eentje wegvalt. - Na de release kan `twente.dev` zijn eigen kopie van deze customManager laten vallen; die staat er nu lokaal omdat de fix daar eerder nodig was dan hier. Achtergrond: [twente.dev ADR 0022](https://forgejo.webgrip.dev/webgrip/twente.dev/src/branch/development/docs/adrs/0022-forgejo-native-deps-resolve-against-forgejo.md) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- ## Tweede commit: het schema staat open Het venster stond op weekdagen 3–7 uur plus het hele weekend. Met `dependencyDashboardApproval` op true voor elk update-type gaat er sowieso niets open zonder een klik van een mens, dus het venster voegde geen veiligheid toe — alleen vertraging. Een vinkje op vrijdagmiddag bleef tot zaterdag 00:00 liggen, en `default.json` regel 12 documenteert zelf dat Renovate een goedkeuring niet bewaart als hij er niet naar kan handelen, dus zo'n klik kon stil verdwijnen. Concreet gezien op frontend-toolkit issue #5 vandaag. Het vocht ook met de overstap naar uurlijkse runs (2026-08-04), die juist gedaan is om deze wachttijd weg te halen. CI-kosten zitten per PR en niet per run, dus openzetten spreidt de belasting eerder dan dat het hem vergroot. Een repo die stille uren wil, zet zijn eigen schedule.
feat(forgejo): Forgejo-native uses: pins resolven tegen Forgejo, niet tegen github.com
All checks were successful
Validate Renovate presets / validate (forgejo.json) (pull_request) Successful in 2m4s
Validate Renovate presets / validate (default.json) (pull_request) Successful in 2m6s
Validate Renovate presets / validate (golang.json) (pull_request) Successful in 1m48s
Validate Renovate presets / validate (gitops.json) (pull_request) Successful in 2m11s
Validate Renovate presets / validate (grouped.json) (pull_request) Successful in 1m15s
Validate Renovate presets / validate (safe-automerge.json) (pull_request) Successful in 1m42s
Validate Renovate presets / validate all presets (pull_request) Successful in 1m44s
f17dca0a61
De github-actions-manager kent maar één datasource en die wijst altijd naar
api.github.com. Voor actions/checkout klopt dat — daar publiceert de upstream.
Voor webgrip/workflows niet: dat is Forgejo-authoritative, en zijn
github.com-tweeling draagt wel branches maar geen tags. Een lege taglijst geeft
"Can't find version matching vX.Y.Z" in plaats van een fout, dus de pin bevriest
zonder signaal.

Gevonden in twente.dev (ADR 0022), waar zeven pins maandenlang onoplosbaar waren
en drie lanes op v1.6.0 en v2.1.0 stonden terwijl v2.7.2 al uit was. Elke repo in
het estate met een webgrip/*-reusable heeft dezelfde bug, dus hoort de fix hier
en niet per repo.

gitea-tags implementeert getDigest, dus een tag lost op naar zijn commit en de
digest en het `# vX.Y.Z`-comment schuiven samen op.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
webgrip/renovate-config!17
No description provided.