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

Add macOS wheels and simplify release process #267

Merged
merged 1 commit into from
Oct 6, 2021

Conversation

jborean93
Copy link
Contributor

This changes the github workflows to an actual yaml definition (my personal preference over the quoting hell that is json).

This now uses cibuildwheel to build the Windows and macOS wheels instead of it being a manual step. The release process on PyPI is now one step instead of the manual twine call.

Fixes #230

Signed-off-by: Jordan Borean jborean93@gmail.com

@jborean93 jborean93 force-pushed the macOS-wheel branch 3 times, most recently from 8f2654d to fe405b5 Compare October 6, 2021 05:31
Converts the existing GitHub action files to YAML to reduce some of the
quotes, lines, and support comments. Changes the release process to
build the sdist first and then the wheels are built from that sdist.
Also adds macOS wheels to the publishing process.

Signed-off-by: Jordan Borean <jborean93@gmail.com>
@jborean93
Copy link
Contributor Author

The wheels and sdist to test from this release process. Will need to manually verify this still works on Windows and macOS before merging this PR. The artifact is from https://github.com/pythongssapi/python-gssapi/pull/267/checks?check_run_id=3811298187 which essentially ran the release.yml workflow just without the publishing steps.

artifact.zip

@jborean93 jborean93 marked this pull request as ready for review October 6, 2021 11:35
@jborean93
Copy link
Contributor Author

@aiudirog if you get a chance it would be great if you could validate some of the Windows wheels in artifact.zip. This PR changes the build process to use cibuildwheel and while I don't forsee any problems with the changes it would be nice to have that validated by someone who uses the library.

I've done a comparison on some of the .pyd files in the cibuildwheel wheels and ones from the latest release on PyPI and I couldn't find any linking differences which is a good sign. I was also able to install and import them just fine with Python 3.9 but that was a very basic sanity check.

@jborean93
Copy link
Contributor Author

I've manually tested the macOS wheels on an M1 Mac Mini and the wheels generated install and import correctly on both the arm64 and x86_64 Python installs I have there. Using otool I can validate the dynamic links are the same with a manually built wheel from the sdist that currently occurs with pip install gssapi right now.

I feel confident the macOS wheels here will be fine going forward.

@aiudirog
Copy link
Member

aiudirog commented Oct 6, 2021

This looks great! Can we do an RC release (either 1.8.0rc1 or 1.7.1rc1, not sure where we are semver speaking) so the wheels get built this way and uploaded to PyPI but not set as the default for the public yet? Then I can run some tests on them exactly as they will be built.

@jborean93
Copy link
Contributor Author

That's a good idea, I'll probably settle on 1.7.1rc1 as functionality there are no changes to the library, just the new wheel. There shouldn't be any breaking changes and hopefully the rc will prove that.

@jborean93 jborean93 merged commit 7c0c20a into pythongssapi:main Oct 6, 2021
@jborean93 jborean93 deleted the macOS-wheel branch October 6, 2021 18:58
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.

MacOS wheels
2 participants