Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get rid of versioneer from cuda-bindings #233

Closed
leofang opened this issue Nov 9, 2024 · 2 comments · Fixed by #307
Closed

Get rid of versioneer from cuda-bindings #233

leofang opened this issue Nov 9, 2024 · 2 comments · Fixed by #307
Assignees
Labels
cuda.bindings Everything related to the cuda.bindings module P0 High priority - Must do! packaging Anything related to wheels or Conda packages

Comments

@leofang
Copy link
Member

leofang commented Nov 9, 2024

Offline discussions with @vyars @bryevdv suggests that any of those tools listed here could be a good alternative.

Alternatively, we can just manually bump __version__ in _version.py, as done in cuda.core, and let it propagate to other places (ex: pyproject.toml).

versioneer has the following disadvantages

  • add an extra build-time dependency (to calculate the version)
  • the version scheme is nonsense for local development
  • no way to decouple release versions from git tags
    • confirmed with @vzhurba01 it is fundamentally unfriendly with our release process (that QA could discover bugs after tagging), meaning we tag first, build wheels, if there are bugs caught by QA then we fix the code, revoke the old tag, and re-tag the same tag at the latest commit (with the fixes included)
    • the highlighted part is the most problematic if not also confusing
@leofang leofang added cuda.bindings Everything related to the cuda.bindings module P1 Medium priority - Should do packaging Anything related to wheels or Conda packages labels Nov 9, 2024
@leofang leofang added this to the cuda-python 12-next, 11-next milestone Dec 2, 2024
@leofang leofang added P0 High priority - Must do! and removed P1 Medium priority - Should do labels Dec 8, 2024
@leofang
Copy link
Member Author

leofang commented Dec 8, 2024

Bumping this to P0 as this would prevent the cuda-binidngs wheels generated in the CI from being reusable, as the git tag would be included as part of the version tag, and we can't update the git tags casually. @vzhurba01 please prioritize for this, thanks.

@bdice
Copy link

bdice commented Dec 9, 2024

Removing versioneer should also help fix this issue I saw in conda-forge packages:

$ conda install -c conda-forge cuda-python
$ conda list | grep cuda-python
cuda-python               12.6.2          py312he9d8a76_1    conda-forge
$ python -c "import cuda.bindings; print(cuda.bindings.__version__)"
0+untagged.302.g4a12ae2.dirty

I discussed with @vzhurba01 and it seems this is occurring because no git tags are present in the source tarballs used to build conda-forge packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuda.bindings Everything related to the cuda.bindings module P0 High priority - Must do! packaging Anything related to wheels or Conda packages
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants