diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a05b4d6..c24e7af 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -175,13 +175,21 @@ jobs: echo "$FORMATTED_CHANGELOG" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT - - name: Create or Update Release + - name: Create Release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} VERSION: ${{ steps.create_tag.outputs.new_tag }} run: | DEB_VERSION=$(echo $VERSION | sed 's/^v//') + # Always delete existing release first (handles re-runs) + if gh release view $VERSION &>/dev/null; then + echo "Deleting existing release $VERSION..." + gh release delete $VERSION --yes --cleanup-tag=false + echo "Waiting for GitHub to process deletion..." + sleep 10 + fi + cat > /tmp/release_notes.md << 'NOTES' ${{ steps.changelog.outputs.changelog }} @@ -221,17 +229,8 @@ jobs: ``` NOTES - # Check if release already exists - if gh release view $VERSION &>/dev/null; then - echo "Release $VERSION exists, updating assets with --clobber..." - gh release upload $VERSION --clobber \ - dist/sekai-cli-* dist/*.deb dist/checksums.txt dist/*.sig - # Update release notes - gh release edit $VERSION --notes-file /tmp/release_notes.md - else - echo "Creating new release $VERSION..." - gh release create $VERSION \ - --title "Release $VERSION" \ - --notes-file /tmp/release_notes.md \ - dist/sekai-cli-* dist/*.deb dist/checksums.txt dist/*.sig - fi + echo "Creating release $VERSION..." + gh release create $VERSION \ + --title "Release $VERSION" \ + --notes-file /tmp/release_notes.md \ + dist/sekai-cli-* dist/*.deb dist/checksums.txt dist/*.sig