fix(ci): authenticate gh release lookup and fail loud on lookup error

Two issues caught in review on #2597:

1. `gh release list` in GitHub Actions requires GH_TOKEN. The release
   notes step in `.github/workflows/ci.yml` had no env block, so gh would
   exit non-zero and the script's silent fallback would re-strand the
   silent-tag entries this change is meant to recover. Pass
   `GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}` to the step.

2. Silently degrading to legacy single-version output on gh failure is
   itself the regression vector — a future token misconfig or gh outage
   would lose data with no signal. `resolvePublishedFloorTag` now throws
   on gh failure with an actionable hint ("pass GH_TOKEN in Actions; set
   OMP_RELEASE_NOTES_FLOOR= locally to opt into legacy mode"). The
   thrown error propagates out of `main` and exits non-zero, failing the
   CI step loudly so the release is rebuilt with the fix.

The legitimate null path is preserved: `OMP_RELEASE_NOTES_FLOOR=`
(empty) still forces single-version mode, and a successful gh call with
no candidate < target still returns null (first-ever publish case).

Verified locally: hiding gh from PATH now exits 1 with the hint;
`OMP_RELEASE_NOTES_FLOOR=` with hidden gh still produces the legacy
84-bullet single-version output.

Refs #2596
This commit is contained in:
roboomp
2026-06-14 23:43:17 +00:00
parent 4d9f9d9edf
commit 77a5befd53
2 changed files with 27 additions and 14 deletions
+7
View File
@@ -649,6 +649,13 @@ jobs:
with:
bun-version: "1.3"
- name: Generate release notes from CHANGELOGs
env:
# `gh release list` (used to find the latest published GitHub
# Release tag below the target so silent-tag changelog sections
# roll forward — #2596) requires GH_TOKEN in Actions. Without
# it gh exits non-zero and the script would degrade to legacy
# single-version notes, defeating the recovery.
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: bun scripts/ci-release-notes.ts ${{ needs.release_metadata.outputs.release-tag }}
- name: Download release binaries
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1