From 67f0fb459964f0c2e1a794c0d7d06129bc421228 Mon Sep 17 00:00:00 2001 From: Patrick Dodgen Date: Mon, 13 Jul 2026 11:48:07 -0600 Subject: [PATCH] fix(helm-deploy-eks): pass makeLatest=legacy so GH re-evaluates latest on prod Surfaced 2026-07-13 on encodium/batch: rc.9 stayed pinned as 'latest' even after later rc iters were successfully promoted (all had prerelease flipped to false). Root cause: GH REST PATCH /releases/{id} only reevaluates the 'latest' designation if the request explicitly includes make_latest. Per GH docs: 'If not defined, the release will not be reevaluated.' The ncipollo/ release-action documents makeLatest=legacy as its default but when the input is omitted it doesn't include the field in the outgoing PATCH. Fix: pass makeLatest=legacy explicitly. GitHub then compares this release against the current latest by semver + creation date and re-designates if higher. For RT v2 tag shape (vX.Y.Z-rc..), every promoted rc becomes latest when semver-higher than the previous latest. Rollback deploys of older rc's correctly leave the newer rc as latest (legacy doesn't downgrade). --- .github/workflows/helm-deploy-eks.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/helm-deploy-eks.yaml b/.github/workflows/helm-deploy-eks.yaml index 325efd7..59a72a9 100644 --- a/.github/workflows/helm-deploy-eks.yaml +++ b/.github/workflows/helm-deploy-eks.yaml @@ -140,3 +140,21 @@ jobs: prerelease: false allowUpdates: true omitBodyDuringUpdate: true + # DEVEX-1655 (2026-07-13): explicitly set makeLatest=legacy so + # GitHub re-evaluates the "latest release" designation on this + # PATCH. Per GH REST docs, if `make_latest` is not defined on + # an update, "the release will not be reevaluated" — the + # previous latest sticks. The ncipollo action documents + # `legacy` as its default but doesn't actually pass the field + # when the input is omitted, so we hit the "no reevaluation" + # case. + # + # `legacy` = "determine based on release creation date and + # higher semantic version," which is the semantic we want for + # RT v2: every promoted rc becomes latest if it's semver-higher + # than the previous latest. A rollback deploy of an older rc + # will correctly leave the newer rc as latest. + # + # Surfaced 2026-07-13 on encodium/batch — rc.9 stayed pinned as + # "latest" after rc.10/11/12 were successfully promoted. + makeLatest: legacy