Koppel Windows-herdispatch aan een exacte workflowrun-id #2300

Closed
opened 2026-10-05 23:42:40 +00:00 by brenno · 0 comments
Owner

Aanleiding

De Windows-spiegelroute probeert een oude mislukte run van een nieuwe dispatch te onderscheiden met een tijdvenster van vijf minuten. Een mislukte run van één minuut geleden valt in datzelfde venster. Zolang GitHub de nieuwe dispatch nog niet toont, wordt die oude failure als de nieuwe poging gezien en breekt herstel onterecht af.

Bewijs

  • .forgejo/workflows/release.yml:530-536 leest geen run-id uit.
  • .forgejo/workflows/release.yml:538-543 zet T0 vijf minuten vóór dispatch.
  • .forgejo/workflows/release.yml:582-603 behandelt elke failure/cancelled na T0 als de huidige poging.
  • test/windows_packaging_test.dart:619-640 toetst alleen of created_at en T0 tekstueel aanwezig zijn.

Gewenst gedrag

  • Leg vóór dispatch de hoogste bestaande run-id voor workflow plus tag vast.
  • Beoordeel na dispatch uitsluitend een nieuwere, exact passende run.
  • Een oude failure blijft informatief maar mag de nieuwe poging niet beëindigen.
  • Vertraagde zichtbaarheid blijft een wachttoestand met een begrensde timeout.

Regressietoets

Een mislukte run van één minuut oud blijft enkele polls zichtbaar voordat de nieuwe run verschijnt. De job moet wachten en daarna de nieuwe run volgen, niet op de oude failure stoppen.

## Aanleiding De Windows-spiegelroute probeert een oude mislukte run van een nieuwe dispatch te onderscheiden met een tijdvenster van vijf minuten. Een mislukte run van één minuut geleden valt in datzelfde venster. Zolang GitHub de nieuwe dispatch nog niet toont, wordt die oude failure als de nieuwe poging gezien en breekt herstel onterecht af. ## Bewijs - .forgejo/workflows/release.yml:530-536 leest geen run-id uit. - .forgejo/workflows/release.yml:538-543 zet T0 vijf minuten vóór dispatch. - .forgejo/workflows/release.yml:582-603 behandelt elke failure/cancelled na T0 als de huidige poging. - test/windows_packaging_test.dart:619-640 toetst alleen of created_at en T0 tekstueel aanwezig zijn. ## Gewenst gedrag - Leg vóór dispatch de hoogste bestaande run-id voor workflow plus tag vast. - Beoordeel na dispatch uitsluitend een nieuwere, exact passende run. - Een oude failure blijft informatief maar mag de nieuwe poging niet beëindigen. - Vertraagde zichtbaarheid blijft een wachttoestand met een begrensde timeout. ## Regressietoets Een mislukte run van één minuut oud blijft enkele polls zichtbaar voordat de nieuwe run verschijnt. De job moet wachten en daarna de nieuwe run volgen, niet op de oude failure stoppen.
brenno 2026-10-07 03:55:28 +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#2300
No description provided.