Skip to content

Commit

Permalink
docs(conf.py): improve version detection logic for tagged and untagge…
Browse files Browse the repository at this point in the history
…d commits

The commit enhances the version detection logic in `conf.py` to differentiate between tagged and untagged commits. For tagged commits, the version is used directly as the release. For untagged commits, the version is appended with the git hash. This ensures more accurate versioning in documentation builds. Debugging prints are added to log the detected version, git hash, and tags for clarity.
  • Loading branch information
yxlao committed Jan 11, 2025
1 parent 5ffea7a commit e7e6f7d
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,41 @@
# Get version from camtools package
version = ct.__version__

# Get git commit hash
# When building a tagged commit, only use the tag as "release". Otherwise,
# use the version number and the git hash as "release".
print("[Detecting docs version]")
try:
git_hash = (
subprocess.check_output(["git", "rev-parse", "--short", "HEAD"])
.decode("ascii")
.strip()
)
release = f"{version}+{git_hash}"
all_tags = (
subprocess.check_output(["git", "tag", "--list"])
.decode("ascii")
.strip()
.split()
)
head_tags = (
subprocess.check_output(["git", "tag", "--points-at", "HEAD"])
.decode("ascii")
.strip()
.split()
)
print(f"- Version : {version}")
print(f"- Git hash : {git_hash}")
print(f"- All tags : {all_tags}")
print(f"- HEAD tags : {head_tags}")

if not head_tags:
release = f"{version}+{git_hash}"
print(f"- Docs version : {release} (untagged commit)")
else:
release = version
print(f"- Docs version : {release} (tagged commit)")
except subprocess.CalledProcessError:
release = version
print(f"- Docs version : {release} (cannot detect tags)")

project = "CamTools"
copyright = "2024, Yixing Lao"
Expand Down

0 comments on commit e7e6f7d

Please sign in to comment.