googleapis / googleapis/release-please

Need guidance on updating chart dependencies in monorepo

Open
#2,064 2 comments 0 reactions 1 assignee Claimed by @chingor13 View on GitHub
priority: p3 type: question
Dominant language
TypeScript
Stars
7.5k
Forks
588
Avg merge
12h 16m
Merged PRs (30d)
7

Description

- What you're trying to do
I have a monorepo with 10 charts. Most of the charts depend on other charts in the same monorepo. I would like to use release-please to manage the CHANGELOGs and versions for the charts, but I am unable to update the dependent chart version in the relative charts.

- What code you've already tried
```
{
"packages": {
"charts/chart1": {
"changelog-path": "CHANGELOG.md",
"extra-files": [
{
"type": "yaml",
"path": "../chart2/Chart.yaml",
"jsonpath": "$.dependencies[?(@.name=='chart1')].version"
}
],
"include-component-in-tag": true,
"release-type": "simple",
"bump-minor-pre-major": false,
"bump-patch-for-minor-pre-major": false,
"draft": false,
"prerelease": false
},
"charts/chart2": {
"changelog-path": "CHANGELOG.md",
"include-component-in-tag": true,
"release-type": "simple",
"bump-minor-pre-major": false,
"bump-patch-for-minor-pre-major": false,
"draft": false,
"prerelease": false
}
},
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
}
```

- Any error messages you're getting
```
release-please failed: illegal pathing characters in path: charts/chart1/../chart2/Chart.yaml
```

I also attempt to symlink the files into the package directories but I get the following error
```
release-please failed: obj needs to be an object
```

Is there any way to do this? How do I update dependent versions in other packages?

Similarly I would like to update the root README with the update version numbers, but it seems like the replace only works on a single keyword `x-release-please-version` so also only works in the package.

Thanks for any help.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.