Skip to content

docs(linear-release-sync): root-cause analysis for cross-line release leak#141

Closed
Piotr1215 wants to merge 1 commit into
mainfrom
devops-874/review-release-sync-comments
Closed

docs(linear-release-sync): root-cause analysis for cross-line release leak#141
Piotr1215 wants to merge 1 commit into
mainfrom
devops-874/review-release-sync-comments

Conversation

@Piotr1215
Copy link
Copy Markdown
Contributor

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: LastStableReleaseBeforeTag orders GitHub releases by CREATED_AT DESC instead 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

  • Adds .github/actions/linear-release-sync/INVESTIGATION.md with timeline, mechanism, scope, and ranked fix options.
  • No code change — this is investigation-only per the original triage verdict ("HUMAN REVIEW (no +queued)").

Dependencies

None.

TODO

  • Open a follow-up Linear issue for the fix (sort by semver, plus an explicit previous-tag from the loft release workflow as the immediate operational mitigation).
  • Decide whether to retroactively suppress / amend the wrongly posted v4.8.2 comments (out of scope for this PR).

References DEVOPS-874

… 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
@Piotr1215
Copy link
Copy Markdown
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.

@Piotr1215 Piotr1215 closed this May 11, 2026
@Piotr1215 Piotr1215 deleted the devops-874/review-release-sync-comments branch May 11, 2026 08:00
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