Add an action to build distributions on tagged releases - #518
Open
jacklovell wants to merge 3 commits into
Open
Conversation
Use the CIbuildwheel Github action to build wheels for all currently-supported Python versions. Manylinux wheels are produced, using the manylinux2014 image where possible (to support JET/UKAEA computers which still run SL7), with manylinux_2_28 for Python 3.14 as that isn't available in manylinux2014. Only Linux wheels are built for now: MacOS (and Windows should Raysect ever support it) are deferred. But the strategy matrix for the wheels is written in such a way as to easily add other OS's or architectures later as necessary. To avoid wasting compute cycles, the workflow is configured to only run on tagged pushes: we manually tag RC and stable releases so should only get distributions on these versions. If necessary, tagging a development version with an M.m.p.dev<n> version can also trigger a build. Automatic uploading to PyPI is not implemented: the distribution files should be downloaded from the `gather_artifacts` job's artifacts and checked locally before uploading to PyPI. This is to reduce the risk of uploading broken distributions: if the process proves robust and reliable then automatic uploading to PyPI can be revisited. Addresses one of the items in #507
Tag this commit to check the Cibuildwheel action.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Use the CIbuildwheel Github action to build wheels for all
currently-supported Python versions. Manylinux wheels are produced,
using the manylinux2014 image where possible (to support JET/UKAEA
computers which still run SL7), with manylinux_2_28 for Python 3.14 as
that isn't available in manylinux2014.
Only Linux wheels are built for now: MacOS (and Windows should Raysect
ever support it) are deferred. But the strategy matrix for the wheels
is written in such a way as to easily add other OS's or architectures
later as necessary.
To avoid wasting compute cycles, the workflow is configured to only
run on tagged pushes: we manually tag RC and stable releases so should
only get distributions on these versions. If necessary, tagging a
development version with an M.m.p.dev version can also trigger a
build.
Automatic uploading to PyPI is not implemented: the distribution files
should be downloaded from the
gather_artifactsjob's artifacts andchecked locally before uploading to PyPI. This is to reduce the risk
of uploading broken distributions: if the process proves robust and
reliable then automatic uploading to PyPI can be revisited.
Addresses one of the items in #507