This project is a fork of the excellent work in create-rwjblue-release-it-setup
This is a simple npm init package to add the perfect release-plan setup. Running this init package will automatically do the following:
- add
release-plandependency - add the required
.github/workflowsfiles - add a
CHANGELOG.md - add a
RELEASE.md - update your repository's labels with sensible defaults
- Obtain a GitHub personal access token.
- Make sure the token is available as the
GITHUB_AUTHenvironment variable. For instance:
export GITHUB_AUTH=abc123def456This is used to add the required Labels to your repo, if you don't want to automatically generate them you can run the next command with --no-label-updates
npm init release-plan-setup@latest
This can be run again later to make sure your setup is on the latest and greatest setup.
As this workflow automatically creates a PR for you during the release process you need to make sure that your {{GITHUB_TOKEN}} available to your actions has enough permissions to create a PR. In most cases this should be turned on by default but if you find that there is an permissions error when one of the Release Plan Review action is creating a PR you can:
- open the settings for your repo
- click Actions > General in the left menu
- scroll to the Workflow permissions section at the botom of the page
- make sure that your GITHUB_TOKEN has
Read and write permissionsand that theAllow GitHub Actions to create and approve pull requestsis checked - Hit save
Once you're ready to do your first release with this release-plan setup your GitHub Actions will need to have a npm token to actually do the release. We recommend that you generate a single Granular Access Token that is able to release your package (or all the packages in a your monorepo).
To create an access token you can follow this guide on the npm docs. Once you have your access token you can add it to your repo following these steps:
- open the settings for your repo
- click
Secrets and variables>Actionsin the left menu - in the
Repository secretssection click theNew repository secretbutton - name your token
NPM_TOKENas this is what the release action expects - paste the token you generated into the
Secretfield and hit save
Now you should be free to merge your PR and release your package with release-plan 🎉
This project is licensed under the MIT License.