Handle tags created through GitHub in publish release workflow #451
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, the GitHub Actions workflow for publishing a release assumes that the version is tag is created locally and pushed to GitHub. It automatically creates a corresponding GitHub Release with automatically generated release notes.
/~https://github.com/broadinstitute/gnomad_methods/blob/00365eb7b11ae1f93ad865f1c56917b04c19006f/CONTRIBUTING.md#publishing-a-release
gnomad_methods/.github/workflows/publish.yml
Lines 50 to 57 in 00365eb
However, it's also possible to create a tag through GitHub by manually creating a GitHub Release.
In that case, the last step of the release workflow fails because a release already exists for the tag. This happened for the 0.6.2 release and caused confusion because, while everything ended in the desired state (version tagged, code published to PyPI, and release notes in a GitHub Release), the publish release workflow showed as failed.
This changes the publish release workflow to handled the case where a tag is created through GitHub by first checking if a GitHub Release already exists for the version tag before attempting to create one.