Skip to content

fix(release): avoid post-merge ancestry race - #128

Merged
vitormattos merged 1 commit into
mainfrom
fix/finalize-remote-ancestry-race
Oct 5, 2026
Merged

vitormattos merged 1 commit into
mainfrom
fix/finalize-remote-ancestry-race

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Fix a race observed while finalizing LibreSign 15.0.7.

The first post-merge attempt failed with:

fatal: Not a valid commit name 8954ab3bdcd3b3ca785f039d89cd35b1b347a1e4

That SHA was a valid merge commit created on stable35 by the previous release history synchronization while the 15.0.7 finalization job was already running. GitHub's API returned the new branch head, but the local checkout had been fetched just before that commit existed.

Ancestry validation of a live remote branch should therefore not depend on the local clone containing the latest remote head. This change validates the final release commit against the observed GitHub branch head through the GitHub compare API instead.

It keeps the safety check: diverged history is still rejected, while a branch that advanced after the release merge is accepted when the release commit remains its ancestor.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos merged commit 5524b80 into main Oct 5, 2026
17 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.

1 participant