@inigomarquinez/howto-release-please
v1.0.1
Published
POC to use Google's release-please github action to create releases
Downloads
9
Readme
🤔 HOW TO - Release please
POC to use Google's release-please github action to create releases.
📝 Instructions
Prerequisites
It is highly recommended that you use squash-merges when merging pull requests.
release-please requires a GitHub token to access the GitHub API.
You can create your own token with at least Read and Write access to
code
andpull requests
.But you can also use the built-in
GITHUB_TOKEN
secret and configure your repository to allow GitHub actions to create and approve pull requests. Read this to know how to do it.Commits must follow the Conventional Commits convention. You can enforce this by using tools such as commitlint and husky.
But apart from the commits, what is really important is that the pull request title follows the convention. This is because release-please uses the pull request title to determine the release type. You can use this GitHub action to ensure it. You can find an example in this same repository. Take a look at the ./.github/workflows/lint-pull-request.yml file.
Steps
Follow the steps described in the official documentation of the release-please action.
Remember that you can customize the GitHub action by using different configuration parameters.
The most important ones are
token
,release-type
andpackage-name
.
Take into account
By default the PR doesn't include all the suported commit types, only the most important ones such as
feat
orfix
.If you want to customize this, you can use the
changelog-types
input parameter as described here.Release Please allows you to represent multiple changes in a single commit using footers, as described here.
🎁 Bonus track - Publish to npm
With a few additions, the Release Please action can be made to publish to npm when a Release PR is merged, as described here.
👀 Example
You can find an example in this same repository. Take a look at the .github/workflows/release-please.yml file.
🔗 Useful links
release please related documentation:
GitHub related documentation:
Conventional Commits related documentation: