Skip to content

Commit a64e84a

Browse files
committed
Release action does not overwrite pre release draf
1 parent cdb093f commit a64e84a

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

.github/workflows/publish.yml

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,27 @@ jobs:
6161
run: |
6262
python -m build
6363
64-
- name: Create Release
64+
- name: Find and Publish Draft Release
6565
if: steps.check-version.outputs.is_new_version == 'true'
66-
id: create_release
67-
uses: ncipollo/release-action@v1
68-
with:
69-
tag: v${{ steps.check-version.outputs.new_version }}
70-
name: Release v${{ steps.check-version.outputs.new_version }}
71-
draft: false
72-
prerelease: false
73-
generateReleaseNotes: false
74-
omitBodyDuringUpdate: true
66+
id: publish_release
67+
run: |
68+
# Find the draft release for this version
69+
RELEASE_ID=$(gh release list --json id,name,isDraft --jq '.[] | select(.name | contains("v${{ steps.check-version.outputs.new_version }}")) | select(.isDraft == true) | .id')
70+
71+
if [ -n "$RELEASE_ID" ]; then
72+
echo "Found draft release with ID: $RELEASE_ID"
73+
# Edit the existing draft to make it published
74+
gh release edit "v${{ steps.check-version.outputs.new_version }}" --draft=false
75+
echo "Published existing draft release"
76+
else
77+
echo "No draft release found, creating new release"
78+
# Fallback: create new release (though this shouldn't happen if release-drafter is working)
79+
gh release create "v${{ steps.check-version.outputs.new_version }}" \
80+
--title "Release v${{ steps.check-version.outputs.new_version }}" \
81+
--generate-notes
82+
fi
83+
env:
84+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7585

7686
- name: Publish to PyPI
7787
if: steps.check-version.outputs.is_new_version == 'true'

0 commit comments

Comments
 (0)