eslint-plugin-eslint-plugin
eslint-plugin-eslint-plugin copied to clipboard
chore(CI): add automatic release
@eslint-community/eslint-tsc In order to make the automatic release work, we should add the NPM_TOKEN secret in the Action secret settings.
I think it's best to set a PAT for the eslint-community-bot npm user btw.
This branch depends on #313
Closes #301
This PR is inspired by what I did for @mysticatea/eslint-plugin in https://github.com/eslint-community/mysticatea__eslint-plugin/pull/8
I added an npm automation token as NPM_TOKEN at the organization level. To be safe it’s not enabled for any repos. You can enable it just for the repos that need it.
@MichaelDeBoey how will the automatic releases work? When will they happen? And what if we want to do a single release with multiple changes?
I added an npm automation token as NPM_TOKEN at the organization level.
@nzakas Thanks! 🙏
how will the automatic releases work? When will they happen?
@bmish semantic-release will take care of the release on every commit that's done to the main/next/alpha/beta branch
It will look at the commit message & release a patch version for fix, a minor version for feat & a major version for every commit that has a BREAKING CHANGE in their body
More info on how they work, can be found at:
- https://github.com/semantic-release/semantic-release#how-does-it-work
- https://github.com/semantic-release/semantic-release#triggering-a-release
what if we want to do a single release with multiple changes?
You can create pre-releases when pushing to the alpha/beta branch. Each commit will still be released, but not for people who install the package normally, only for people who use the -alpha.X/-beta.X suffix or alpha/beta token (like npm install eslint-plugin-eslint-plugin@alpha).
Have a look at how this is working for testing-library-eslint-config:
- https://github.com/testing-library/eslint-plugin-testing-library/releases
- https://www.npmjs.com/package/eslint-plugin-testing-library?activeTab=versions
Should we add the github badge so people know things will be released automatically? https://github.com/semantic-release/semantic-release#badge
Should we get rid of release-it at this point to avoid having multiple systems in place for releasing? Added here: https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/131
Is this compatible with the conventional commits we currently use? https://github.com/eslint-community/eslint-plugin-eslint-plugin/pull/221
Should we add the github badge so people know things will be released automatically?
Was going to cleanup the badges in a separate PR
Should we get rid of
release-itat this point to avoid having multiple systems in place for releasing?
Indeed a good idea to remove it
Is this compatible with the conventional commits we currently use?
Yes it very much is!
The docs I referenced are even mentioning commitizen & commitlint
Tools such as commitizen or commitlint can be used to help contributors and enforce valid commit messages.