Soon the generated clients will be more stable, and we won't be making breaking changes to all of them in each release.
At that point we would want to automate the version bumps. We need sidekick to perform the following steps:
- For each generated client:
- If any code has changed, we need to run
cargo semver-checks to determine if the major version or minor version needs a bump.
- For each hand-crafted core library (
*-auth, *-gax, *-wkt, *-lro, *-gax-internal)
- If any code has changed, we need to run
cargo semver-checks to determine if the major version or minor version needs a bump.
- When updating a version number we need to change the version number in:
- For generated libraries, we need to update the .sidekick.toml file for the library
- The Cargo.toml file for the library, for generated libraries the previous step will update on the next
refreshall.
- If the library is mentioned in the top-level Cargo.toml file
[dependencies] section then it is a dep of another library, we need to update its version number there too.
Once all the version bumps are done we can create a PR.
It is possible that tools like release-please or release-plz can do a lot of this work for us.
Soon the generated clients will be more stable, and we won't be making breaking changes to all of them in each release.
At that point we would want to automate the version bumps. We need sidekick to perform the following steps:
cargo semver-checksto determine if the major version or minor version needs a bump.*-auth,*-gax,*-wkt,*-lro,*-gax-internal)cargo semver-checksto determine if the major version or minor version needs a bump.refreshall.[dependencies]section then it is a dep of another library, we need to update its version number there too.Once all the version bumps are done we can create a PR.
It is possible that tools like
release-pleaseorrelease-plzcan do a lot of this work for us.