GEOS-DEV / GEOS-DEV/GEOS

Ease the process of code versioning

Open
#3,035 4 comments 1 reaction 3 assignees View on GitHub

@MelReyCG is already working on this.

Since Sep 27, 2024.

  • #3043 by @untereiner — merged
  • #3266 by @untereiner — closed without merging
type: feature type: new
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:

  1. #3043
  2. #3266
  3. Add semver-action to compute next version based on semver
    1. Add version to code (CMakeLists, GEOS_VERSION in c++, version tag in schema)
    2. stop pushing the schema in PRs / generate it at merge step via the CI

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.