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

Update legacy version as it's not compatible after setuptools 66+ #1018

Conversation

marcoag
Copy link
Contributor

@marcoag marcoag commented Jan 22, 2024

It seems that legacy versions are not supported after setuptools 66+: pypa/setuptools#2497.

This results in the the following error:

setuptools.extern.packaging.version.InvalidVersion: Invalid version: '3.0.1-master'

I updated the version so it works, not sure if this is the correct one we want to set so feel free to suggest a different one.

Copy link
Contributor

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably the correct thing to do, but this version syntax has been in use by the production buildfarm for quite some time and changing it may require deeper review and changes.

Copy link
Member

@cottsay cottsay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been using this and it seems to work correctly. I'll hold off merging until @nuclearsandwich has conducted or clarified the aforementioned testing.

Marco A. Gutierrez and others added 2 commits November 12, 2024 10:06
@nuclearsandwich
Copy link
Contributor

This is probably the correct thing to do, but this version syntax has been in use by the production buildfarm for quite some time and changing it may require deeper review and changes.

Thanks for holding off on this based on my concerns. To satisfy myself I had to re-read many o of the job configuration templates and how they track the package version, because I had rough memories of dealing with ros_buildfarm changes when doing the xenial branch migration.

When running configurations locally, the current git branch is found and used via git-rev-parse so reaching the codepath that this changes locally required some experimentation.

That the master branch is also used as a default value in the job templates also made it hard to observe detection failures when working with a local master branch incorporating these changes.

Looking at the Version API in https://packaging.pypa.io/en/stable/version.html it looks like we're now using a "local version" specifier. I'm not sure how that compares to the Legacy API but it seems reasonable.

When this started hitting me on Archlinux I began using a development release specifier rather than the local specifier: 3.0.1.dev0 Since we do frequently work from this main branch does it make sense to indicate that what's in production is always a development release rather than a true release as well? If so I can add that in a follow-up PR.

@nuclearsandwich nuclearsandwich force-pushed the marcoag/update_legacy_version branch from 2233235 to 044931d Compare November 12, 2024 19:28
@nuclearsandwich nuclearsandwich merged commit 922e838 into ros-infrastructure:master Nov 12, 2024
24 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.

3 participants