amazon-ion / ion-python

A Python implementation of Amazon Ion.
https://amazon-ion.github.io/ion-docs/
Apache License 2.0
260 stars 51 forks source link

Fix release workflow, externally managed environment error #388

Closed nirosys closed 2 weeks ago

nirosys commented 2 weeks ago

Issue #, if available: n/a

Description of changes: With the release of 0.13.0 a few maintenance issues have popped up with the release workflow. The latest is a change to the MacOS runners which introduces PEP-668, disallowing pip to be used directly on a system install. (Example failed run)

Most of our workflows use virtual environments, which satisfies PEP-668, however the release workflow does not use a virtual environment when building wheels with cibuildwheel.

This PR updates the release workflow to lean on the cibuildwheel GHA for building our wheels, rather than manually installing and running cibuildwheel. This simplifies the workflow, and allows the cibuildwheel version to be maintained by dependabot. Internally cibuildwheel's GHA uses pipx which satisfies the PEP-668 issue.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.