fix(ci): begrens en reconcile HTTP-mutaties bij releasepublicatie (#2312) #2331

Merged
brenno merged 2 commits from fix/release-http-deadlines into main 2026-10-06 20:50:38 +00:00
Owner

Samenvatting

  • publiceren krijgt timeout-minutes: 30 en élke curl in de release-keten draagt --connect-timeout + --max-time — een blackhole-endpoint hing de job voorheen tot de zes-uur-standaard.
  • Onzekere mutaties (POST/PUT/PATCH/DELETE waarvan het antwoord niet terugkwam) reconcilieren eerst read-only: release-POST via GET-by-tag, kandidaat-upload via de assets-lijst op naam, hernoeming via naam+id, DELETE via een verificatie-GET die 404 van een transportfout onderscheidt.
  • publish_debian_package.sh reconcileert nu op package-SHA na élke niet-201 (voorheen alleen 409) en meldt expliciet timeout / onbekende externe toestand / bevestigde mislukking. Deadlines zijn via OCI_CURL_* overschrijfbaar voor tests.
  • Nieuwe regressietests: structureel (elke curl begrensd, reconcile-markers) + functioneel tegen een fake endpoint én een echte blackhole-socket (script eindigt in seconden, precies één PUT, geen dubbele schrijver).

Verificatie

  • make check volledig groen in de worktree; test/release_http_deadlines_test.dart 10/10.
  • Geen PR-statuschecks op de forge; de lokale poort is de verificatie. De echte release-API-route is niet lokaal te draaien — de blackhole- en lost-PUT-tests dekken de gevraagde faalmodi.

Fixes #2312

Generated with Devin

## Samenvatting - `publiceren` krijgt `timeout-minutes: 30` en élke curl in de release-keten draagt `--connect-timeout` + `--max-time` — een blackhole-endpoint hing de job voorheen tot de zes-uur-standaard. - Onzekere mutaties (POST/PUT/PATCH/DELETE waarvan het antwoord niet terugkwam) reconcilieren eerst read-only: release-POST via GET-by-tag, kandidaat-upload via de assets-lijst op naam, hernoeming via naam+id, DELETE via een verificatie-GET die 404 van een transportfout onderscheidt. - `publish_debian_package.sh` reconcileert nu op package-SHA na élke niet-201 (voorheen alleen 409) en meldt expliciet timeout / onbekende externe toestand / bevestigde mislukking. Deadlines zijn via `OCI_CURL_*` overschrijfbaar voor tests. - Nieuwe regressietests: structureel (elke curl begrensd, reconcile-markers) + functioneel tegen een fake endpoint én een echte blackhole-socket (script eindigt in seconden, precies één PUT, geen dubbele schrijver). ## Verificatie - `make check` volledig groen in de worktree; `test/release_http_deadlines_test.dart` 10/10. - Geen PR-statuschecks op de forge; de lokale poort is de verificatie. De echte release-API-route is niet lokaal te draaien — de blackhole- en lost-PUT-tests dekken de gevraagde faalmodi. Fixes #2312 Generated with [Devin](https://devin.ai)
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 556d9530ec into main 2026-10-06 20:50:38 +00:00
Sign in to join this conversation.
No description provided.