Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add release checklist #442

Merged
merged 4 commits into from
Jun 17, 2022
Merged

feat: add release checklist #442

merged 4 commits into from
Jun 17, 2022

Conversation

rvagg
Copy link
Member

@rvagg rvagg commented Jun 15, 2022

Closes: #387
Ref: #384 (comment)

Putting into practice @ #440 for v0.17.0

@rvagg rvagg requested a review from BigLep June 15, 2022 09:12
@rvagg rvagg self-assigned this Jun 15, 2022
Copy link

@BigLep BigLep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this up @rvagg! The big win here to me is that we're getting this documented so it can be iterated.

Some non-blocking thoughts:

  1. It seems like we have a decent amount of manual steps here in creating the changelog. I agree a human is needed to pull important thoughts out out though, especially for breaking changes or to highlight important new additions.
  2. I think the changelog / release notes themselves could likely benefit from some more headers/emojis (e.g., https://github.com/ipfs/go-ipfs/releases/tag/v0.13.0 ). Something like "Breaking Changes", "Notable Feeatures". Anyways, this process doesn't preclude that and it can be improved in the future if relevant.

HACKME_releases.md Outdated Show resolved Hide resolved
@rvagg
Copy link
Member Author

rvagg commented Jun 16, 2022

@BigLep:

It seems like we have a decent amount of manual steps here in creating the changelog

That's why I'm recommending using changelog-maker to help craft it. I wrote that tool in 2015 to help better communicate changes in Node.js releases and it's since become a standard part of the process. It's helped by a formalised commit message scheme that can be pulled apart into sub-sections automatically, and some metadata that's now mandatory in each merged commit. I've done some updating of it (@ nodejs/changelog-maker#130) so it doesn't need the metadata on commits to match PRs so it can be used on any repo. With descriptive enough commits I think it should be fairly minimal work to group things together, remove extraneous ones and do a bit of renaming an highlighting to make a workable changelog entry.

I've reduced the manual steps even more from the ones that Eric has previously taken and documented in #384 (comment), I think it's more manageable now. With better commit conventions it could be even better but one thing at a time, people get precious about their git conventions.

some more headers/emojis

Oh, you're stretching me there with emojis ... But OK, I'll do the headers thing in #440 and come back and update this.

@rvagg
Copy link
Member Author

rvagg commented Jun 16, 2022

Added 🤮 emojis and grouped the changes into two sections to highlight "breaking" changes in #440; updated the docs here to suggest that.

@BigLep
Copy link

BigLep commented Jun 16, 2022

@rvagg : it all looks good to me - thanks for moving this forward.

That's great about changelog-maker.

Concerning changelog organization, I think having headers is useful. Don't feel pressured in to using emojis because of me if that isn't the IPLD way.

Thanks again for doing this Rod.


## Checklist

Prior to opening a release proposal pull request, create an issue with the following markdown checklist to help ensure the requisite steps are taken. The issue can also be used to alert subscribed developers to the timeframe and the approximate scope of changes in the release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to create a GH issue template for this?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I think that is smart to do and have it point back to this file.

Example of this being done in go-libp2p: https://github.com/libp2p/go-libp2p/blob/master/.github/ISSUE_TEMPLATE/release.md

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really want to do this because we currently don't have any issue templates, so it introduces an extra step in the New Issue flow for everyone, just to support releases for one person.

If/when we start adding templates for other types of issues then we could add this one, otherwise it's going to be an extra "do you want to file an issue or make a release" in-between step for everyone.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah totally fair. Revisiting once there are other templates seems like a good idea. 😁

@rvagg
Copy link
Member Author

rvagg commented Jun 17, 2022

Going to punt on the issue template thread for further discussion and maybe implementation later; just not in this current version.

@rvagg rvagg merged commit 6dc2231 into master Jun 17, 2022
@rvagg rvagg deleted the rvagg/release-checklist branch June 17, 2022 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🎉 Done
Development

Successfully merging this pull request may close these issues.

Create a release checklist/SOP
3 participants