Skip to content

Wheels report their own version, not "<tag>-128-NOTFOUND" - #31

Merged
jcschaff merged 1 commit into
mainfrom
build/wheel-version-string
Oct 5, 2026
Merged

jcschaff merged 1 commit into
mainfrom
build/wheel-version-string

Conversation

@jcschaff

@jcschaff jcschaff commented Oct 5, 2026

Copy link
Copy Markdown
Member

pyvcell_fvsolver.version() from the PyPI wheels reports a broken version, e.g. Finite Volume version v0.11.0-128-NOTFOUND with smoldyn version 2.38; 0.10.8's said v0.10.8-128-NOTFOUND. The release archives' executables are fine (Finite Volume version 0.10.8 …).

Cause

  • Archives: CI passes -DVCELL_VERSION_STRING=<version> to CMake.
  • Wheels: the cibuildwheel / scikit-build-core builds pass nothing, so CMakeLists.txt falls back to git describe. Git fails in that build environment (exit 128), and GetGitRevisionDescription turns the failure into …-128-NOTFOUND.

Fix

When scikit-build-core is building (SKBUILD_PROJECT_VERSION is defined) and no version string is given, use the wheel's own version from pyproject.toml. version() then says Finite Volume version 0.11.x …, matching the archives and __version__. Native builds, and anything that passes VCELL_VERSION_STRING, are unchanged.

Test

New test_version_names_the_installed_package checks that version() contains no NOTFOUND and names the installed package's version. It fails on the released 0.11.0 wheel from PyPI with Finite Volume version v0.11.0-128-NOTFOUND …. CI runs it on every platform's wheel, on Python 3.12 and 3.14.

🤖 Generated with Claude Code

The release archives pass -DVCELL_VERSION_STRING=<version>, but the wheel builds
(cibuildwheel + scikit-build-core) pass nothing, so CMake fell back to git describe,
which fails there (exit 128): version() reported e.g. "v0.11.0-128-NOTFOUND".
When scikit-build-core is building and no version string is given, use the
wheel's own version (SKBUILD_PROJECT_VERSION), as the archives do.

test_version_names_the_installed_package fails on the released 0.11.0 wheel.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@jcschaff
jcschaff merged commit 8d9d066 into main Oct 5, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant