-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
ARROW-9014: [Packaging] Bump the minor part of the automatically generated version in crossbow #7327
Conversation
@github-actions crossbow submit wheel-manylinux1-cp36m |
The produced wheel should have version number: |
Revision: 838509c Submitted crossbow builds: ursa-labs/crossbow @ actions-281
|
major, minor, patch = map(int, match.groups()) | ||
|
||
# the bumped version number after 0.17.x will be 0.18.0.dev300 | ||
return "{}.{}.{}.dev{}".format(major, minor + 1, patch, version.distance) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure patch
is 0 here? Otherwise you could get e.g. 0.18.1.dev300
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the packaging builds are executed from the master branch we should have patch equal to zero.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
Crossbow uses setuptools_scm to generate a development version number using git describe command. This means that it finds the latest reachable tag from the current commit on master.
The minor releases are created from the master branch whereas the patch release tags point to commits on maintenance branches (like 0.17.x) which means that if we already have released a patch version, like 0.17.1 then crossbow generates a version number like 0.17.0.dev
{number-of-commits-from-0.17.0}
and bumps its patch tag, eventually creating binary packages with version 0.17.1.dev123.
The main problem with this is that the produced nightly python wheels are not picked up by pip, because on pypi we already have that patch release available and pip doesn't consider 0.17.1.dev123 newer than 0.17.1 (with --pre option passed).
So to force pip to install the newer nightly packages we need to bump the minor version instead.