eslint-config-hardcore icon indicating copy to clipboard operation
eslint-config-hardcore copied to clipboard

Automate releasing

Open EvgenyOrekhov opened this issue 4 years ago • 3 comments

The simplest way is

"preversion": "npm test",
"postversion": "git push && git push --tags && npm publish"

Investigate:

  • [ ] https://github.com/semantic-release/semantic-release (aims to make releasing fully automatic)
  • [ ] ~https://github.com/zeit/release~ (not standardized, the scope is limited only to publishing changelogs to GitHub releases)
  • [ ] https://github.com/commitizen/cz-cli (uses an interactive prompt on commit, guides you to create a valid commit message, which is better than just throwing an "Invalid format" error; not sure how it would work for intermediate WIP-commits)
  • [ ] https://github.com/conventional-changelog/commitlint
  • [ ] ~https://github.com/jlegrone/create-semantic-module~ (I have enough experience to know that it's better to use the original tool than a wrapper)
  • [ ] ~https://github.com/conventional-changelog/conventional-changelog~ (recommends using standard-version or semantic-release)
  • [ ] https://github.com/conventional-changelog/standard-version (unlike semantic-release, it doesn't aim to fully automate the release process)
  • [ ] https://github.com/changesets/changesets

EvgenyOrekhov avatar Dec 04 '19 11:12 EvgenyOrekhov

Looks like none of the release management solutions support monorepos.

EvgenyOrekhov avatar May 27 '20 19:05 EvgenyOrekhov

I have set up Commitizen for conventional commits and Standard Version for publishing in my own ESLint config. For what it's worth, I found these two tools to be very simple to set up and easy to use. I now have a one-button release process which also handles semantic versioning and changelog updates automatically.

If you would like help setting these up for this repo, please let me know.

trevinhofmann avatar Feb 21 '21 06:02 trevinhofmann

Perhaps Changesets is worth considering?

stormwarning avatar Feb 03 '22 06:02 stormwarning