node-datadog-metrics icon indicating copy to clipboard operation
node-datadog-metrics copied to clipboard

Script versioning/publishing releases

Open Mr0grog opened this issue 2 years ago • 0 comments

This is a follow-on from #79 — we should probably have some scripting around releases to make sure version bumps, release notes, GitHub releases and NPM publishing all go together and are coordinated.

Specifically, this should probably cover:

  • Updating the “(In development)” section of the changelog to be a version number and date.
  • Bumping the version number in package.json.
  • Committing.
  • Tagging the release in git with v{version number}.
  • Pushing the commit and tags to GitHub.
  • Publishing the release to NPM.
  • Publishing a release on GitHub.
  • Starting a new “(In development)” section in the changelog.

The workflow described here might be a good place to start: https://superface.ai/blog/npm-publish-gh-actions-changelog (it needs some minor changes at a minimum, since it uses yarn, and requires a separate changelog file instead of having the changelog in the README). I like it because I am a fan of manual release notes that are more readable and provide more guidance, rather than automatically generating them from commit messages, which I often find creates hard-to-understand release notes as a package user. (See also https://keepachangelog.com, which I think is generally good guidance.)

Short of automating this, it would at least be good to document the above checklist so it’s easier for anyone doing manual releases to make sure they’ve covered everything, and we don’t have to do something like #79 again. 😉

Mr0grog avatar Sep 22 '22 04:09 Mr0grog