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

Extend PyPI test workflow to wheels #1417

Merged
merged 5 commits into from
Jan 21, 2021
Merged

Extend PyPI test workflow to wheels #1417

merged 5 commits into from
Jan 21, 2021

Conversation

mdickinson
Copy link
Member

@mdickinson mdickinson commented Jan 21, 2021

We already have a cron-based workflow test-from-pypi.yml that checks that the Traits tests pass with all the latest packages from PyPI; that workflow installs from the PyPI sdist.

This PR extends that workflow to also test wheels.

The goal is for Traits users not to need to compile anything; for that reason, we attempt to ensure that everything is installed from wheels by using the --only-binary flag to pip. We may need to relax this requirement if some of the test dependencies don't have wheels available (NumPy would be the most likely candidate for this).

EDIT: we're not using --only-binary :all:, since that would require that Pyface and TraitsUI have wheels available.

I'll temporarily adjust the trigger for this PR to be on pull request, so that we can verify that it works. Then I'll put the cron trigger back before merging.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
@mdickinson
Copy link
Member Author

Ah, of course - we don't have wheels for Pyface or TraitsUI. I guess I really want something weaker than --only-binary that says it's okay to install from sdist for pure Python packages.

I'll remove the :all: specifier from the --only-binary option.

@rahulporuri
Copy link
Contributor

Ah, of course - we don't have wheels for Pyface or TraitsUI. I guess I really want something weaker than --only-binary that says it's okay to install from sdist for pure Python packages.

It should be trivial to replicate this for almost all of ETS - which should reduce one more manual step involved in the release process.

Copy link
Contributor

@rahulporuri rahulporuri left a comment

Choose a reason for hiding this comment

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

LGTM.

@mdickinson
Copy link
Member Author

mdickinson commented Jan 21, 2021

It should be trivial to replicate this for almost all of ETS

It's probably worth it for the simpler pure-Python cases: TraitsUI, Pyface, Apptools, Envisage. (And of course in those cases we only need a single wheel, not 20.)

Enable and Chaco may be more troublesome. Mayavi wheels are a can of worms with respect to VTK versions.

@rahulporuri
Copy link
Contributor

i've created an umbrella issue in the ets repository - enthought/ets#56

@mdickinson
Copy link
Member Author

@rahulporuri Thanks for the review.

@mdickinson mdickinson merged commit 3a09f24 into master Jan 21, 2021
@mdickinson mdickinson deleted the ci/test-pypi-wheels branch January 21, 2021 14:56
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.

None yet

2 participants