GEOS icon indicating copy to clipboard operation
GEOS copied to clipboard

Ease the process of code versioning

Open untereiner opened this issue 1 year ago • 4 comments

What is the requested feature? Automate the code versioning process to have effective versioning of the code and maybe releases.

Is your request related to a specific problem? I would like an easy, human readable, comparable way to discriminate versions of the public API (i.e. represented as xsd files https://github.com/GEOS-DEV/GEOS/issues/2971). Not sure a commit hash is the right way.

Describe the solution you'd like I was thinking to something close to semver.

But, doing it manually is painful and time consuming. So what about using a github-action like this one: https://github.com/ietf-tools/semver-action. It will flow seamlessly for those using commit prefixes. For the others, we could simply avoid the patch part and adopt a simple algorithm like this one:

If the PR needs a rebaseline (xsd change)  then bump major part
else bump minor part.

This action will make the next version available as a variable in the pipeline. It should then be easy to patch the CMakeLists, a header file, xsd schemas, or whatever...

What to you think ?

Describe alternatives you've considered n.a.

Additional context n.a.

Related: #3043

untereiner avatar Mar 11 '24 16:03 untereiner

So, if I iterate on my branch, the version number will not change. To improve this version number, I think we should add a build part (As semver seems to allow it).

MelReyCG avatar Mar 12 '24 09:03 MelReyCG

We should also keep this issue in mind.

MelReyCG avatar Mar 12 '24 10:03 MelReyCG

@castelletto1 What do we want to do regarding this?

TotoGaz avatar Mar 18 '24 15:03 TotoGaz

if #3043 is merged, it will be easy to add versions by following the semantic conventions of the merged commit messsages. The semver-action will roll-out the commit messages between the tip and the previous release and analyse the prefixes to compute a new version number

untereiner avatar Mar 18 '24 16:03 untereiner