mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 10:06:15 -08:00
ci(release): re-assert rolling draft title after asset upload
action-gh-release@v2 updates name/body/target_commitish on the normal draft-reuse path, but in a rare race (release listing transiently missing the draft) it uploads assets to the canonical oldest draft without refreshing its metadata. PATCH the title and commitish on the release id the action actually used, so the draft title always names the current head SHA; the body is left alone to preserve generated notes. Addresses Codex round-2 feedback on #1202. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
df812649b6
commit
4dd950a8ee
1 file changed
+21
@@ -880,6 +880,7 @@ jobs:
|
||||
echo "state=$(gh api "repos/${GITHUB_REPOSITORY}/pulls/${{ github.event.pull_request.number }}" --jq '.state')" >> "${GITHUB_OUTPUT}"
|
||||
|
||||
- name: Create Draft Release
|
||||
id: draft-release
|
||||
if: github.event_name != 'pull_request' || steps.pr-state.outputs.state == 'open'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
@@ -915,6 +916,26 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Rare action-gh-release path: when the release listing transiently
|
||||
# misses the rolling draft, the action creates a duplicate, deletes
|
||||
# it in favor of the canonical (oldest) draft, and uploads assets
|
||||
# there WITHOUT refreshing that draft's metadata. Re-assert the
|
||||
# composed title and commitish on whatever release the action ended
|
||||
# up using; the body is left alone to preserve generated notes.
|
||||
- name: Ensure draft metadata is current
|
||||
if: steps.draft-release.outputs.id != ''
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RELEASE_ID: ${{ steps.draft-release.outputs.id }}
|
||||
RELEASE_NAME: ${{ steps.release-meta.outputs.name }}
|
||||
RELEASE_COMMITISH: ${{ steps.release-meta.outputs.commitish }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
gh api -X PATCH "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" \
|
||||
-f name="${RELEASE_NAME}" \
|
||||
-f target_commitish="${RELEASE_COMMITISH}" > /dev/null
|
||||
|
||||
publish-snap:
|
||||
name: Publish to Snapcraft Store
|
||||
needs: build
|
||||
|
||||
Reference in new issue
Block a user