Task: Consolidate `release` and `release-drafter` workflows
Describe the task
We currently have two separate GitHub Actions workflows: release and release-drafter. The goal is to consolidate them into a single workflow that automates the release process. This workflow should handle the following:
- Publish release notes.
- Manage semantic versioning.
- Trigger whenever we merge the
stagingbranch intomain. - Provide an option to manually trigger the workflow.
Note: The existing release workflow is not functioning properly at the moment and should not be used as a model.
Acceptance Criteria
- [ ] Create a single consolidated workflow that includes functionality from both
releaseandrelease-drafter. - [ ] The workflow should publish release notes with a clear changelog based on PRs merged into
main. - [ ] Implement semantic versioning that automatically increments the version based on PR labels (e.g.,
fix,feat,breaking). - [ ] Ensure the workflow triggers automatically when merging
stagingintomain. - [ ] Add the ability to manually trigger the workflow via the GitHub Actions interface.
- [ ] Validate the new workflow operates correctly and replace the old workflows.
Additional context
- Review the current
releaseandrelease-drafterworkflows to identify overlapping and unique functionality, but note thatreleaseis not working properly and may require significant adjustments. - Consider using tools like
semantic-releaseoractions/github-scriptfor managing versioning and release notes. - Ensure backward compatibility with our current release process.
- Refer to GitHub's release documentation for guidance on best practices.
- The PR should clean up and deprecate the old workflows once the new one is verified to work.
This issue has been marked as stale because it has been open for 30 days with no activity.
Hello! I would like to work on this.
@eparirishit assigned!
@CodeWritingCow, could you please clarify the following questions?
- Where is the release version tracked in the code?
- Are we using the labels such as
featandbreaking? - I was exploring the
semantic-releasetool to use that all the commit messages should be in a particular format. Do we have any such standards currently?
I have a draft version in my fork with actions/github-script tool which I am currently testing for release notes but I would like to understand the first question to manage version as well.
Hi @eparirishit:
- The release version is tracked on GitHub itself. We're not tracking it within our code
- The project isn't using
featorbreakinglabels - We don't have a standard for commit messages
@CodeWritingCow, any update on the PR review?