This post goes over how to migrate to the Release Please manifest config.
Problem
In Release Please Action v3 and below, advanced options can be configured via GitHub Actions inputs in the workflow:
# .github/workflows/release-please.yml
name: release-please
on:
push:
branches:
- master
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v3
with:
release-type: node
pull-request-title-pattern: 'build${scope}: release${component} ${version}'
extra-files: |
README.md
But in v4, the GitHub Actions inputs were deprecated and moved to the config file.
Solution
Create a .release-please-manifest.json
:
touch .release-please-manifest.json
Add the version if your repository contains a single package:
{
".": "1.2.3"
}
Or add the versions if your repository contains multiple packages:
{
"my-package-a": "1.2.3",
"my-package-b": "2.3.4"
}
Then create release-please-config.json
:
touch release-please-config.json
Add the $schema
and configure the options:
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"release-type": "node",
"pull-request-title-pattern": "build${scope}: release${component} ${version}",
"extra-files": ["README.md"],
"packages": {
".": {}
}
}
If your monorepo has different configurations for each package, then update the
packages
field. See the documentation for more details.
Upgrade the action to v4 and remove the options from the GitHub Actions workflow:
# .github/workflows/release-please.yml
name: release-please
on:
push:
branches:
- master
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4