fix(release): handmatige herstelroutes ref-veilig maken (#2295) #2342

Merged
brenno merged 2 commits from fix/2295-ref-safe-recovery into main 2026-10-07 08:10:16 +00:00
Owner

Summary

  • Nieuwe helper scripts/release_scans_image.sh vX.Y.Z bouwt ci-image-scans-publish in een tijdelijke werkboom op de release-ref (branch, of tag als de branch opgeruimd is) met de scannerpins van díe ref, en leest daarna exact die registrytag terug uit de registry.
  • ensure_worktree_on_tag bewijst nu dat de lokale tag díe van origin is (peeled commit-vergelijking) vóór deploy-web mag bouwen; een afwijkende ref blokkeert met hersteladvies.
  • --status en de faalpaden adviseren uitsluitend --resume of de ref-gebonden helper — geen los make-commando meer dat impliciet de huidige checkout leest.
  • Regressietest test/release_ref_safe_recovery_test.dart: start vanaf main met afwijkende release-pins, alleen de release-image-tag wordt gebouwd/geverifieerd, een afwijkende lokale tag blokkeert de webdeploy.
  • Testhardening: file_service_extra schreef 32 MiB via ~33k kleine writes en raakte zo de 30 s-timeout onder suite-load (twee rode poortruns) — nu 1 MiB-chunks, zelfde asserties.

Test plan

  • make check volledig groen
  • 5 nieuwe regressietests + alle bestaande release-tests aangepast en groen

Generated with Devin

## Summary - Nieuwe helper `scripts/release_scans_image.sh vX.Y.Z` bouwt `ci-image-scans-publish` in een tijdelijke werkboom op de release-ref (branch, of tag als de branch opgeruimd is) met de scannerpins van díe ref, en leest daarna exact die registrytag terug uit de registry. - `ensure_worktree_on_tag` bewijst nu dat de lokale tag díe van `origin` is (peeled commit-vergelijking) vóór `deploy-web` mag bouwen; een afwijkende ref blokkeert met hersteladvies. - `--status` en de faalpaden adviseren uitsluitend `--resume` of de ref-gebonden helper — geen los `make`-commando meer dat impliciet de huidige checkout leest. - Regressietest `test/release_ref_safe_recovery_test.dart`: start vanaf `main` met afwijkende release-pins, alleen de release-image-tag wordt gebouwd/geverifieerd, een afwijkende lokale tag blokkeert de webdeploy. - Testhardening: `file_service_extra` schreef 32 MiB via ~33k kleine writes en raakte zo de 30 s-timeout onder suite-load (twee rode poortruns) — nu 1 MiB-chunks, zelfde asserties. #### Test plan - [x] `make check` volledig groen - [x] 5 nieuwe regressietests + alle bestaande release-tests aangepast en groen Generated with [Devin](https://devin.ai)
Na een fase-2-fout adviseerde de keten 'make ci-image-scans-publish' terwijl
de werkboom alweer op main stond — de Makefile leest de scannerpins uit de
huidige checkout, dus dat publiceerde het image met de verkeerde pins. En
--status adviseerde 'git checkout TAG && make deploy-web', wat de schone-
werkboomcontrole, de tag-vergelijking en het terugzetten van de startbranch
omzeilde.

Nieuwe helper scripts/release_scans_image.sh bouwt in een tijdelijke
werkboom op de release-ref (branch, of tag als de branch opgeruimd is) en
leest daarna exact die registrytag terug. ensure_worktree_on_tag bewijst
nu ook dat de lokale tag díe van origin is voordat deploy-web mag bouwen;
een afwijkende ref blokkeert met hersteladvies. Geen faalmelding adviseert
nog een los make-commando dat impliciet van HEAD uitgaat.

Bevat ook een testhardening: file_service_extra schreef 32 MiB via ~33k
kleine writes en raakte zo de 30 s-timeout op een belaste machine —
nu 1 MiB-chunks, zelfde asserties.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 6a532297c9 into main 2026-10-07 08:10:16 +00:00
Sign in to join this conversation.
No description provided.