harmonium
harmonium copied to clipboard
Owner/Admin - Release Management - Document Steps to Publish a Release
I'm submitting a ...
- [ ] other
Background
Currently, contributors from Revelry are unaware of the steps required to get a new release published. Let's fix that by adding some documentation.
Scenario: Available Release Instructions
Given I am viewing this project's repo
- [ ] When I want to publish a new release
- [ ] Then I can find and follow documentation to publish a release
Here's what I had to do so far. I'll update if I have to do anything else
- When you push up your changes it needs a commit like feat: DESCRIPTION_OF_CHANGES, or fix: DESCRIPTION_OF_CHANGES to engage release pipeline
If the changes have already been pushed but you still need to trigger the release pipeline:
- Do
git commit --allow-empty -m 'fix: Fix spacing on button groups
on a branch. Push that up and create a PR. - Merge it into master
- When the build runs for that new commit, it'll
- (a) push a commit back bumping the version number
- (b) a few minutes later put the new version on NPM
Once its done you'll notice the version bump in 2 places:
- https://github.com/revelrylabs/harmonium/releases
- https://www.npmjs.com/package/harmonium
Then in your project run:
-
npm install
again
Preferred way:
- When you merge a PR, you use the squash option, and make the title of the squashed commit something matching the conventional commits https://www.conventionalcommits.org/en/v1.0.0-beta.2/ standard.
- The robot bumps the package version as is appropriate given conventional commit and republishes the package.
"Oops, I forgot to do a conventional commit" way:
- Make another PR, using
git commit --allow-empty -m 'FILL IN CONVENTIONAL COMMIT HERE'
if you have no other commits to merge, and follow the above instructions.
BONUS POINTS: You can, but do not have to, list issue numbers in the #123 format in the conventional commit title or body, and semantic release robot will comment back on those issues letting people know the issue has been resolved in version $MAJOR.$MINOR.$PATCH.
@prehnRA I don't think I know what "you use the squash option" means. When you have a moment could you update this play by play where necessary?
Laura opens a branch to work on a bug ticket
Laura commits her changes for the bug with a title like fix: added blah to blah to fix blah
For bonus points, Laura adds fixes #346
to the commit body
Laura makes a pull request and assigns it to someone
The PR gets merged
All is well
Where is the squash?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.