-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Add additional-paths config to specify dependencies outside of package #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…package This adds support for the 'additional-paths' configuration option that allows a package to declare dependencies on file paths outside its main package directory. When commits modify files in these additional paths, they will be included in the release for the dependent package. This is useful for monorepos where multiple packages may depend on shared code that lives outside their package directories. Inspired by googleapis#2534 Co-Authored-By: Leo Galindo-Frias <[email protected]>
…package This adds support for the 'additional-paths' configuration option that allows a package to declare dependencies on file paths outside its main package directory. When commits modify files in these additional paths, they will be included in the release for the dependent package. This is useful for monorepos where multiple packages may depend on shared code that lives outside their package directories. Inspired by googleapis#2534 Co-Authored-By: Leo Galindo-Frias <[email protected]>
… googleapis The build-action job was referencing googleapis/release-please which caused CI failures for PRs in this fork. Updated to use nominal-io/release-please with the PR head SHA for proper testing. Co-Authored-By: Leo Galindo-Frias <[email protected]>
…er.devin.ai/proxy/github.com/nominal-io/release-please into devin/1765847530-additional-paths
| "exclude-paths": true, | ||
| "component-no-space": false | ||
| "component-no-space": false, | ||
| "additional-paths": true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this making it required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is more of a whitelist to control what properties can be used at the json "root" level.
Its used in conjunction with:
https://json-schema.org/understanding-json-schema/reference/object#additionalproperties
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I.e if this was false, we would only be able to use additional-paths in the "packages" directory. Its sometimes useful if a repo wants to apply a trigger on ALL packages. (fern docs is an example of this)
scout not so much
🤖 I have created a release *beep* *boop* --- ## [18.1.0](v18.0.2...v18.1.0) (2025-12-16) ### Features * Add additional-paths config to specify dependencies outside of package ([#5](#5)) ([760afee](760afee)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This adds support for the 'additional-paths' configuration option that allows a package to declare dependencies on file paths outside its main package directory. When commits modify files in these additional paths, they will be included in the release for the dependent package.
This is useful for monorepos where multiple packages may depend on shared code that lives outside their package directories.
Inspired by googleapis#2534
Summary of Changes
Core Implementation
additional-pathsschema definition (array of strings, manifest-only)additionalPathstoReleaserConfiginterface and updatedCommitSplitinstantiation to passRecord<string, string[]>formatpackagePathstype fromstring[]toRecord<string, string[]>and implemented two-pass commit assignment:additional-pathsnormalizePathfunction for single path normalizationTests
test/fixtures/manifest/config/additional-paths.jsonadditional-pathsfrom manifest configadditionalPathstriggering releasesCommitSplittests to use newRecord<string, string[]>formatCI Fix
.github/workflows/ci.yamlto referencenominal-io/release-pleaseinstead ofgoogleapis/release-pleasefor the build-action jobHuman Review Checklist
commit-split.ts:98-140correctly assigns commits to both primary and additional packagesRecord<string, string[]>format change doesn't break any other usagesLink to Devin run: https://app.devin.ai/sessions/60f42b0519ac4cd2bdd8ab1de108eddf
Requested by: Leo Galindo-Frias (@Leundai)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #<issue_number_goes_here> 🦕