Ease the process of code versioning
@MelReyCG is already working on this.
Since Sep 27, 2024.
- Dominant language
- C++
- Stars
- 287
- Forks
- 109
- Avg merge
- 4d 41m
- Merged PRs (30d)
- 5
Description
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.
Work steps:
- #3043
- #3266
- Add semver-action to compute next version based on semver
- Add version to code (CMakeLists, GEOS_VERSION in c++, version tag in schema)
- stop pushing the schema in PRs / generate it at merge step via the CI
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.