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

Begin work to integrate cibuildwheel tests. #351

Merged
merged 3 commits into from
May 30, 2020
Merged

Begin work to integrate cibuildwheel tests. #351

merged 3 commits into from
May 30, 2020

Conversation

tskisner
Copy link
Member

This is a work in progress. Add building of Linux and MacOS wheels to test runners. These will have MPI support disabled until #350 is merged.

 - Add scripts to be run inside a cibuildwheel docker image on both linux
   and macos which installs static versions of OpenBLAS (linux only), fftw,
   and suitesparse.  Link our internal _libtoast extension to these static
   packages, which ensures consistency regardless of other shared libraries
   loaded by other packages.

 - Add a github workflow which tests pip wheel building daily, and preserves
   the wheels as artifacts which can be downloaded and tested as needed.
   This also runs the unit tests on the installed wheel packages (linux and
   macos, python 3.6-3.8).

 - Add a deployment workflow executed on git tags which uploads to pypi.
   this will likely need some testing during 2.3.7 tag preparation.

 - Cleanup package definitions in setup.py, version generation, and add a
   MANIFEST.in file to ensure that extra package files are bundled.
@tskisner
Copy link
Member Author

Ok, I've squashed all my debugging commits and I think this is ready to go. The pip wheel tests will run daily and generate wheels that can be downloaded manually for testing as artifacts. Whenever there is a tag, the wheels will be uploaded to PyPI. I verified that I could download the generated wheels and install them manually in a virtualenv. @zonca, no pressure to review this if you are busy, but obviously any comments are welcome. It feels good to have all this packaging happening as part of our CI process :-)

Copy link
Member

@zonca zonca left a comment

Choose a reason for hiding this comment

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

looks awesome to automate all of this!

setup.py Outdated Show resolved Hide resolved
setup.py Show resolved Hide resolved
src/toast/RELEASE Show resolved Hide resolved
wheels/install_deps_linux.sh Show resolved Hide resolved
wheels/install_deps_osx.sh Show resolved Hide resolved
@tskisner
Copy link
Member Author

Appoved by @keskitalo in offline conversation.

@tskisner tskisner merged commit 6c02c9f into master May 30, 2020
@tskisner tskisner deleted the pip_wheel branch May 30, 2020 17:22
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