You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are currently bumping the major/minor version every time we are doing a release. This is a quite "heavy" operation and also means that crates are never compatible with each other even if they didn't changed. Another issue is that we don't have the versions in the master branch and thus, it is quite hard to for example patch a branch to some external repo that is using the crate releases. The proper way to solve this is that we start versioning the Cargo.toml files manually in the pull requests. Then on each release we only pick the crates which version changed and release them using this version. To make this job more easier, we need the following improvements to the repository:
Introduce a CI check that helps in identifying SemVer breaking changes. Luckily there exists already a github action for this. While the tool is not perfect, it may helps to detect certain kind of SemVer breaking changes. The tool should be configured to always run against the latest release branch.
We should move all the internal crates to workspace.dependencies and then use them from there in all our crates. This should reduce the merge conflicts to a single file when it comes to version changes.
Introduce another CI check that ensures that we don't bump the any of the versions multiple times in between two releases. For example there are two pull requests that would bump the patch version of one crate, the CI job should reject the second bump. This is not that important, but it would be nice to prevent these double bumps most of the time if possible.
The text was updated successfully, but these errors were encountered:
We are currently bumping the major/minor version every time we are doing a release. This is a quite "heavy" operation and also means that crates are never compatible with each other even if they didn't changed. Another issue is that we don't have the versions in the master branch and thus, it is quite hard to for example patch a branch to some external repo that is using the crate releases. The proper way to solve this is that we start versioning the
Cargo.toml
files manually in the pull requests. Then on each release we only pick the crates which version changed and release them using this version. To make this job more easier, we need the following improvements to the repository:workspace.dependencies
and then use them from there in all our crates. This should reduce the merge conflicts to a single file when it comes to version changes.patch
version of one crate, the CI job should reject the second bump. This is not that important, but it would be nice to prevent these double bumps most of the time if possible.The text was updated successfully, but these errors were encountered: