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

use setuptools_scm for python version management #627

Merged
merged 4 commits into from
Nov 26, 2019

Conversation

luizirber
Copy link
Contributor

Hello,

I noticed https://pypi.org/project/wasmtime/ is still stuck in 0.2, and releases like 0.8.0 still generate version 0.0.1 for the Python wheels.

This PR uses setuptools_scm to read version information from the git tags, so the right version will be picked up (and no manual update is needed in setup.py).

TODO: check what happens with the dev tag...

@luizirber luizirber force-pushed the setuptools_scm branch 2 times, most recently from 971e3f7 to 29de1c9 Compare November 25, 2019 04:40
@alexcrichton
Copy link
Member

Thanks for the PR! You can check out the "tarballs" artifact of this PR and see that there's names like:

  • wasmtime-0.1.dev2088+gf15450b-cp37-cp37m-win_amd64.whl

I think that's probably not quite what we want? Would it be possible to just use dev for the branch builds?

Also can you try making a tag in your local repository to make sure that the name generation works for tagged builds as expected?

@luizirber
Copy link
Contributor Author

Thanks for the PR! You can check out the "tarballs" artifact of this PR and see that there's names like:

* `wasmtime-0.1.dev2088+gf15450b-cp37-cp37m-win_amd64.whl`

Also can you try making a tag in your local repository to make sure that the name generation works for tagged builds as expected?

I merged this PR into my fork, and tagged 0.8.1 to see what happened. Turns out that calculating versions from git describe is not working for deriving versions from untagged commits, but it does work for tagged ones. Here's an example:

https://github.com/luizirber/wasmtime/runs/319963416
generating wasmtime-0.8.1-cp37-cp37m-macosx_10_13_x86_64.whl

I think that's probably not quite what we want? Would it be possible to just use dev for the branch builds?

I can try to figure out this, or is it good enough that the proper version is being generated for tags/releases for github? This is the generated release for 0.8.1: https://github.com/luizirber/wasmtime/releases/tag/v0.8.1

I'll also create a new dev tag and see what happens.

@alexcrichton
Copy link
Member

Nice!

For the dev/master releases we largely just want a constant filename there, that allows us to have a stable download link.

@luizirber luizirber force-pushed the setuptools_scm branch 2 times, most recently from 2838822 to 6caacf2 Compare November 26, 2019 02:06
@luizirber
Copy link
Contributor Author

For the dev/master releases we largely just want a constant filename there, that allows us to have a stable download link.

I just found about the version_scheme and local_scheme configs, and it's easy to define a new function to do what we want (if there is a tag, use the tag; else default to dev).

The issue is that auditwheel can't parse the dev version (it's not valid according to PEP 440 - see log). Should I default the dev version to 0.0.1 to match current dev releases?

@alexcrichton
Copy link
Member

Seems reasonable to me, and we can always continue to tweak as necessary. Thanks @luizirber!

@alexcrichton alexcrichton merged commit 5cdae1d into bytecodealliance:master Nov 26, 2019
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.

None yet

2 participants