Skip to content

fix(release): deviating guard message — reject the rebuilt attempt, burn only vs the original anchor (#353)#369

Merged
haiyuan-eng-google merged 2 commits into
GoogleCloudPlatform:mainfrom
caohy1988:fix/353-guard-deviating-message
Jul 15, 2026
Merged

fix(release): deviating guard message — reject the rebuilt attempt, burn only vs the original anchor (#353)#369
haiyuan-eng-google merged 2 commits into
GoogleCloudPlatform:mainfrom
caohy1988:fix/353-guard-deviating-message

Conversation

@caohy1988

@caohy1988 caohy1988 commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Code/test follow-up requested in the #353 operational reviews: the guard's deviating message previously said "the version is burned there" for any mismatch against the current attempt's bytes, which mislabeled an accidental full rerun as a burn — and its first fix wrongly claimed finalize would report the burn state.

The message now states BOTH interpretations of the same guard inputs explicitly:

  • Original workflow attempt: the current distributions ARE the original workflow build anchor — the index already holds conflicting or pre-existing files that can never be replaced, so the version is BURNED (bump, rebuild, re-tag). finalize cannot classify that run: github-release fails at this guard and finalize is gated on its success (the docstring documents this).
  • Full rerun: the mismatch proves only that the rebuilt attempt must be abandoned (NOT burned by this check alone) — return to the ORIGINAL workflow attempt and re-run its failed jobs for authoritative reconciliation.

Two regressions pin the two interpretations (test_deviating_message_states_the_first_attempt_burn_branch — including an assertion that the removed "accepted anchor" wording never reappears — and test_deviating_message_states_the_full_rerun_reject_branch). Full producer suite: 547 passed, 4 skipped.

Status: rebased onto post-#367 main; head 4d56520 descends directly from the #367 merge (96a079f). All 19 checks pass (Hash-lock drift included) plus the four expected conditional zizmor skips. Blocked only on required review.

Part of #353.

…inal run before asserting a burn (GoogleCloudPlatform#353)

A deviation from THIS attempt's rebuilt bytes does not by itself burn
the version: an accidental full rerun is rejected, and the operator is
directed back to the ORIGINAL workflow attempt whose preserved
artifact matches what the index accepted. The burn clause is scoped
to a deviation from the ORIGINAL accepted anchor (which finalize
reports as a burn state). Tests assert the message shape and ordering
(original-run direction before the burn clause).
…explicitly (GoogleCloudPlatform#353 review round 2)

The guard's inputs cannot distinguish a first-attempt index conflict
from a full rerun, so the message now states both branches: on the
ORIGINAL workflow attempt the current distributions ARE the original
workflow build anchor and pre-existing/conflicting index files burn
the version outright (finalize cannot classify that run —
github-release fails at this guard); on a full rerun the mismatch
proves only that the rebuilt attempt must be abandoned in favor of the
recoverable original run. 'original accepted anchor' wording replaced
with 'original workflow build anchor'; regressions pin BOTH
interpretations.
@caohy1988
caohy1988 force-pushed the fix/353-guard-deviating-message branch from 12c8ab4 to 4d56520 Compare July 15, 2026 22:00
@haiyuan-eng-google
haiyuan-eng-google merged commit 7cd8401 into GoogleCloudPlatform:main Jul 15, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants