Bevries de gekeurde base-commit vóór merge en tag #2299

Closed
opened 2026-10-05 23:41:44 +00:00 by brenno · 1 comment
Owner

Aanleiding

De releasebranch wordt vroeg van origin/main gemaakt en daarna lokaal gebouwd, genotariseerd en via drie poorten gekeurd. De merge controleert alleen de head-SHA van de releasebranch. Als main in de tussentijd verdergaat, kan de servermerge nieuwe base-wijzigingen meenemen. De getagde mergeboom is dan niet de boom die lokaal gebouwd of door de head-poorten gekeurd is.

Bewijs

  • scripts/release_auto.sh:1878-1883 maakt de branch vanaf de toenmalige origin/main.
  • scripts/release_auto.sh:2018-2040 voert daarna de lange lokale keten uit.
  • scripts/release_auto.sh:1458-1529 koppelt poorten alleen aan de release-head.
  • scripts/release_auto.sh:1532-1564 mergeert met head_commit_id en tagt daarna de servermergecommit.

Gewenst gedrag

  • Leg de base-SHA bij branchcreatie vast.
  • Controleer onmiddellijk vóór merge dat de PR-base nog exact die SHA is.
  • Bij base-drift: niet mergen/taggen; update de releasebranch en voer alle inhoudsafhankelijke keuringen en builds opnieuw uit, of stop met helder hersteladvies.
  • De uiteindelijk getagde tree moet byte-inhoudelijk de gekeurde releaseboom zijn.

Regressietoets

Laat main na de releasekeuring één commit vooruitgaan. De merge/tag moet worden geweigerd totdat de nieuwe base opnieuw is gekeurd; de oude resultaten mogen niet worden hergebruikt.

## Aanleiding De releasebranch wordt vroeg van origin/main gemaakt en daarna lokaal gebouwd, genotariseerd en via drie poorten gekeurd. De merge controleert alleen de head-SHA van de releasebranch. Als main in de tussentijd verdergaat, kan de servermerge nieuwe base-wijzigingen meenemen. De getagde mergeboom is dan niet de boom die lokaal gebouwd of door de head-poorten gekeurd is. ## Bewijs - scripts/release_auto.sh:1878-1883 maakt de branch vanaf de toenmalige origin/main. - scripts/release_auto.sh:2018-2040 voert daarna de lange lokale keten uit. - scripts/release_auto.sh:1458-1529 koppelt poorten alleen aan de release-head. - scripts/release_auto.sh:1532-1564 mergeert met head_commit_id en tagt daarna de servermergecommit. ## Gewenst gedrag - Leg de base-SHA bij branchcreatie vast. - Controleer onmiddellijk vóór merge dat de PR-base nog exact die SHA is. - Bij base-drift: niet mergen/taggen; update de releasebranch en voer alle inhoudsafhankelijke keuringen en builds opnieuw uit, of stop met helder hersteladvies. - De uiteindelijk getagde tree moet byte-inhoudelijk de gekeurde releaseboom zijn. ## Regressietoets Laat main na de releasekeuring één commit vooruitgaan. De merge/tag moet worden geweigerd totdat de nieuwe base opnieuw is gekeurd; de oude resultaten mogen niet worden hergebruikt.
Author
Owner

Release v0.6.14 leverde op 2026-10-06 het concrete bewijs: de releasebranch en alle drie exacte poorten waren groen op b97437904, maar main was tijdens de lange poort vier commits doorgelopen naar b8b402c6. PR #2293 werd daardoor mergeable=false met conflicten in de gegenereerde SBOM. release_auto.sh controleerde de gekeurde base niet opnieuw en probeerde alsnog te mergen. De releasebranch moet nu met main worden bijgewerkt, SBOM opnieuw gegenereerd en alle poorten opnieuw gedraaid. Acceptatie moet daarom ook eisen dat base-drift vóór/na de poort wordt gedetecteerd en dat de merge alleen tegen de exact gekeurde base plaatsvindt.

Release v0.6.14 leverde op 2026-10-06 het concrete bewijs: de releasebranch en alle drie exacte poorten waren groen op b97437904, maar main was tijdens de lange poort vier commits doorgelopen naar b8b402c6. PR #2293 werd daardoor `mergeable=false` met conflicten in de gegenereerde SBOM. `release_auto.sh` controleerde de gekeurde base niet opnieuw en probeerde alsnog te mergen. De releasebranch moet nu met main worden bijgewerkt, SBOM opnieuw gegenereerd en alle poorten opnieuw gedraaid. Acceptatie moet daarom ook eisen dat base-drift vóór/na de poort wordt gedetecteerd en dat de merge alleen tegen de exact gekeurde base plaatsvindt.
brenno 2026-10-07 04:22:40 +00:00
Sign in to join this conversation.
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
LibreKAT/Ocideck#2299
No description provided.