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 software versions in CI, including enabling Python 3.12 wheels #37

Merged
merged 3 commits into from
Apr 18, 2024

Conversation

wshanks
Copy link
Contributor

@wshanks wshanks commented Apr 17, 2024

The main purpose of this PR is to update the version of Python used in CI to generate the wheel files. The current version is Python 3.7 which is out of support. Using 3.7 leads to outdated versions of setuptools and cibuildwheel being installed. Most significantly, this means that the version of cibuildwheel used does not build wheels for Python 3.12.

While updating the Python version, I noticed warnings about GitHub actions versions being outdated and going out of support soon, so I updated them as well. That work could be split out of the PR if preferred.

Detailed list of distinct changes:

  • Update CI Python to 3.12 (cibuildwheel still runs Python 3.6-3.11 and now runs 3.12 as well).
  • Replace python setup.py sdist with python -m build --sdist since the former was deprecated and does not work with the latest setuptools.
  • Update setup-python action from v1 to v5
  • Update setup-msbuild from v1.0.2 to v2
  • Update upload-artifact from v1 to v5
  • Add a step to merge artifacts to maintain the behavior of a single wheels.zip artifact. The new upload-artifact does not support mutating an artifact after upload. Alternatively, this setup could be dropped and there could just be separate .zip files for each OS.

wshanks added 3 commits April 17, 2024 12:19
Python 3.7 has fallen out of support and could not install the latest
versions of build tools like setuptools and cibuildwheel.

Also, the setup-python action was updated to v5 as the v1 version was
producing warnings about end of life.

With the latest version of setuptools, `python setup.py sdist` no longer
works so the sdist creation step was modified to use pypa/build instead.
The main upload-artifact action no longer supports merging so the
artifacts must be uploaded independently with unique names and merged in
a follow up step using subaction from upload-artifact called "merge".
@CLAassistant
Copy link

CLAassistant commented Apr 17, 2024

CLA assistant check
All committers have signed the CLA.

Copy link
Collaborator

@bstellato bstellato left a comment

Choose a reason for hiding this comment

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

Looks great to me. Thanks for making these changes

@bstellato bstellato merged commit 24ee71b into osqp:master Apr 18, 2024
5 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