chore: support split release-please configuration#2162
Conversation
sofisl
left a comment
There was a problem hiding this comment.
I'm worried the logic here is restrictive (what if one of the handwrittens wants to release with the other libraries? We might want to start thinking about an exclusion list). but then that feels really complicated.
What if we treated the release-please-submodules.json as the handwritten exclusion list. So, same logic, if we see something in that file, we just remove it from the release-please-config.json. And instead we iterate through both handwritten/ and packages/ in release-please.config.json. So in other words the default is to be in release-please-config.json, but if someone manually adds it to the other file, it is deleted from the release-please-config.json. That would basically let us have an implicit "exclusion" list in case any handwritten wants to be released with other packages, or vice versa.
… bundled release
This makes sense. Updated to use the other config as an exclusion list, otherwise it's included in the bundled release. |
Fixes b/483416307
This commit updates the OwlBot post-processor to support a split configuration for release-please in the Node.js monorepo (google-cloud-node).
If a
release-please-submodules.jsonfile is detected, handwritten packages (inhandwritten/) are automatically routed torelease-please-submodules.jsonand GAPIC packages (inpackages/) are routed to the mainrelease-please-config.json.The script ensures packages do not duplicate across configuration files.
Lastly, if
release-please-submodules.jsonis not present, the existing behavior (adding all packages torelease-please-config.json) is preserved.