diff --git a/.github/workflows/github-release.yaml b/.github/workflows/github-release.yaml index 7bb9d70931404..23508e63bc43d 100644 --- a/.github/workflows/github-release.yaml +++ b/.github/workflows/github-release.yaml @@ -51,9 +51,23 @@ jobs: id: generate-changelog uses: autowarefoundation/autoware-github-actions/generate-changelog@v1 + - name: Select verb + id: select-verb + run: | + has_previous_draft=$(gh release view --json isDraft -q ".isDraft" "${{ steps.set-tag-name.outputs.tag-name }}") + + verb=create + if [ "$has_previous_draft" = "true" ]; then + verb=edit + fi + + echo ::set-output name=verb::"$verb" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Release to GitHub run: | - gh release create "${{ steps.set-tag-name.outputs.tag-name }}" \ + gh release ${{ steps.select-verb.outputs.verb }} "${{ steps.set-tag-name.outputs.tag-name }}" \ --draft \ --target "${{ steps.set-target-name.outputs.target-name }}" \ --title "Release ${{ steps.set-tag-name.outputs.tag-name }}" \