Repository navigation
build: derive package versions from Git - #66
Conversation
There was a problem hiding this comment.
No blocking findings.
One non-blocking observation: the runtime installed by the Action reports 0.0.0. The runner delivers a remote action as an archive of the repository (GITHUB_ACTION_PATH), so the install step in action.yml has no Git metadata; the new hatch-vcs source falls back to fallback-version, and landing --version and the OpenAPI version field therefore report 0.0.0 for every uses: bubbuild/landing@<ref> run, including refs pinned to a release tag. Reproduced by installing that same archive (gh api repos/bubbuild/landing/tarball/build-vcs-version, extract, uv pip install <dir>), which succeeds but yields 0.0.0; before this change that path reported the released version. Nothing in the Action's inputs, outputs, comments or queue depends on the value, so the effect is limited to someone checking the runtime version while debugging; if you want it to identify the revision, the install step would need to supply SETUPTOOLS_SCM_PRETEND_VERSION itself, since the archive carries no version metadata.
There was a problem hiding this comment.
No blocking findings.
The version derivation holds on the paths this PR changes: a GitHub source archive of 2b7a6f8 builds as 0.2.1.dev17+g2b7a6f8, so an Action run reports the revision instead of 0.0.0, and a git install from the branch reports 0.2.1.dev17+g2b7a6f8a1. One documented local-build path still reports 0.0.0; details in the inline comment on compose.yaml.
Purpose
Derive release and development versions with hatch-vcs, including GitHub Action archives. Carry versions into containers, include bundled skills in images, and remove release pins from usage examples.
Validation
127 tests passed for the package changes; 21 affected behavior tests passed for archive support. Type checking, pre-commit, strict docs and package builds pass. Verified tagged and development archives, cache refresh, Compose image CLI/HTTP versions and container skill loading.
Compatibility
Examples use Action
main, imagelatestand the latest PyPI release. Fixed tags and digests remain supported. Source copies without version metadata use0.0.0.AI assistance
Implemented with Codex.