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

Use GitHub Actions. #773

Closed
wants to merge 1 commit into from
Closed

Use GitHub Actions. #773

wants to merge 1 commit into from

Conversation

bdice
Copy link
Member

@bdice bdice commented Jun 1, 2022

Description

This PR overhauls our CI configurations to build and test signac with GitHub Actions. We've been planning to move to GitHub Actions for a long time and the breakage of our Windows builds (limited monthly minutes) and limited parallel runners are finally motivating a change here.

Before merging:

  • Ensure we have builds for all supported platforms (Linux, macOS, Windows) and configurations (Python versions, oldest/newest dependencies). I'd like to see the following:
    • Linux, Python 3.10
    • Linux, Python 3.10 "minimal" (no optional dependencies)
    • Linux, Python 3.9
    • Linux, Python 3.8
    • Linux, Python 3.8 "oldest" (minimum versions of supported dependencies)
    • macOS, some supported Python version
    • Windows, some supported Python version
  • Make an attempt at the "deploy to PyPI" logic that should release a source distribution (tarball) and a wheel tagged py3-none-any uploaded from one of those test configurations mentioned above. See https://github.com/pypa/gh-action-pypi-publish

Motivation and Context

I don't think an issue exists for this but we've been discussing moving to GitHub Actions for a while. cibuildwheel is a convenient and well-tested / easily configurable way to do so.

Checklist:

@bdice bdice changed the title Use cibuildwheel via GitHub actions. Use cibuildwheel via GitHub Actions. Jun 1, 2022
@bdice
Copy link
Member Author

bdice commented Jun 1, 2022

I hoped that cibuildwheel would let us easily test on multiple platforms even though signac is a pure Python package (no platform-specific parts of the wheel). Looks like CI fails:

cibuildwheel.util.NonPlatformWheelError: 
cibuildwheel: Build failed because a pure Python wheel was generated.

Based on pypa/cibuildwheel#1021, it looks like cibuildwheel is not an appropriate tool for testing multiple platforms with a pure wheel.

@bdice bdice changed the title Use cibuildwheel via GitHub Actions. Use GitHub Actions. Jun 1, 2022
@bdice bdice closed this Jun 19, 2022
@bdice bdice mentioned this pull request Jun 19, 2022
14 tasks
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

1 participant