docs(linear-release-sync): root-cause analysis for cross-line release leak#141
Closed
Piotr1215 wants to merge 1 commit into
Closed
docs(linear-release-sync): root-cause analysis for cross-line release leak#141Piotr1215 wants to merge 1 commit into
Piotr1215 wants to merge 1 commit into
Conversation
… leak LastStableReleaseBeforeTag orders github releases by CREATED_AT DESC, not by semver. For a repository that maintains multiple stable release lines in parallel (loft-sh/loft: 4.5.x, 4.6.x, 4.7.x, 4.8.x), the most-recently-cut stable release on a different line gets returned as the "previous tag" of a patch release. The downstream PR compare range then spans the wrong git ancestry, drags in PRs from earlier patches on the current line, and the per-tag dedup guard happily posts a fresh "Now available in stable release" comment to issues that already shipped one or more patches ago. This is the bug reported on ENGUI-494: the issue shipped in v4.8.0 and received an unwanted v4.8.2 comment because v4.6.3 (cut two minutes before v4.8.2) was picked as the previous tag. Investigation-only — no code change. Filing a follow-up for the fix. References DEVOPS-874
Contributor
Author
|
Closing — investigation-only PR was the wrong artifact. Findings belong in Linear, the fix belongs in code. Reopening with the actual code fix shortly. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Investigation report for DEVOPS-874 — why ENGUI-494 (shipped in v4.8.0) received a "Now available in stable release v4.8.2" comment.
Root cause:
LastStableReleaseBeforeTagorders GitHub releases byCREATED_AT DESCinstead of by semver, so on repositories that maintain multiple stable release lines in parallel (loft-sh/loft: 4.5.x, 4.6.x, 4.7.x, 4.8.x) the lookup returns the most-recently-cut stable on a different line as the "previous tag" of a patch release. The compare range then spans the wrong git ancestry, drags in PRs from earlier patches on the current line, and the per-tag dedup guard happily posts a fresh comment to issues that already shipped one or more patches ago.Concrete repro from the loft release timeline: v4.6.3 was cut 2 minutes before v4.8.2 on 2026-04-28, so the sync run for v4.8.2 used
compare(v4.6.3..v4.8.2)— pulling in every commit unique to the 4.8 line (4.8.0 + 4.8.1 + 4.8.2).Key Changes
.github/actions/linear-release-sync/INVESTIGATION.mdwith timeline, mechanism, scope, and ranked fix options.Dependencies
None.
TODO
previous-tagfrom the loft release workflow as the immediate operational mitigation).References DEVOPS-874