NVIDIA / NVIDIA/cccl

Tagging and versioning in `main`

Open
#5,280 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

The versioning in `main` is confusing due to the way tagging is currently being done. Most tags are only reachable from the release branches, so as of this moment if I run `git desribe` on `main` I see `v2.7.0-rc0-1687-g4afbf18dd`. To make the wheels work I added `ci/generate_version.sh` and use the JSON file `cccl-version.json` to get the version in main, and then append the number of commits since the last tag.

I suggest that after branching for a release we add a tag in `main` that would offer a known tag for the main development branch, such as `v3.0.0.dev` and then `git describe would output `v3.0.0.dev-5-g` if 5 commits had been made since tagging. That would simplify the wheels versioning. The `v` and `dev` might be replaced depending on the packaging system etc.

A large number of tools use some combination of the `git describe output`, i.e. the last reachable tag, the number of commits since that tag and the SHA of the commit.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.