ci: add create release wf
This pull request introduces automation for the release process by adding a GitHub Actions workflow and a supporting shell script, along with documentation to guide maintainers through the new workflow. The changes streamline how release branches and tags are created, reducing manual steps and potential errors.
Release automation:
- Added
.github/workflows/create-release.yamlto define a GitHub Actions workflow that creates release branches and tags based on user input, including support for pre-releases and stable releases. - Added
.github/scripts/create-release.sh, a shell script that validates semantic versioning, creates the appropriate release branch and tag, and pushes them to the repository. Handles alpha releases and checks for existing branches/tags.
Documentation:
- Added
RELEASE.mdto document the new release process, describing how to use the workflow, steps for pre-releases, stable releases, and patch releases, and linking to broader project guidelines.
I think there needs to be open discussion and planning for a release pipeline to de-risk the cutting of releases. Although this PR does introduce some reproducability into releases, I don't think a pipeline should reside in this repository.
The goal is not to build a full release pipeline here. It just removes the manual tag step and makes the release flow match what we already do in dapr/dapr. It is only standardizing the existing process so releases are easier and less error-prone.
I don't think a pipeline should reside in this repository.
@mikeee can you please share your thoughts a bit more here as to why?