support auto git semver versioning of packages #1635
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: Reuben Miller reuben.miller@softwareag.com
Proposed changes
Support an automatic versioning based on git describe. It provides a way to generate binaries/packages with a unique version number between official releases (e.g. as soon as it is merged into
main
).Versioning overview
Version is determined from the distance from the last git tag
0.9.0
). For official releases theCargo.toml
should still be updated, but the file should be updated and committed, then tagged!0.9.0-2-gabcdef10
, where it follows the schema<tag>-<distance>-g<commit_sha>
support setting a custom version (for dev and testing purposes only)
export GIT_SEMVER=0.9.0-experiment-0.1 ./ci/build_scripts/build.sh
The relationship between the version, the git tag, and the distance from the last tag is illustrated in the following table.
Example
Below shows two official releasese
0.1.0
and0.2.0
. As soon as thefeature-x
branched is merged intomain
, the automatic git version will be0.1.0-1-gabcdef12
Types of changes
Paste Link to the issue
Checklist
cargo fmt
as mentioned in CODING_GUIDELINEScargo clippy
as mentioned in CODING_GUIDELINESFurther comments