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

Modernize CI/CD Pipeline with cibuildwheel #613

Closed

Conversation

cvanelteren
Copy link
Contributor

Changes

This PR modernizes our GitHub Actions workflows by consolidating the existing four workflow files into two streamlined workflows using cibuildwheel.

Main improvements:

  • Replaces custom Docker-based builds with industry-standard cibuildwheel
  • Adds proper MacOS wheel building support (previously manual)
  • Adds TestPyPI deployment stage for safer releases
  • Implements modern trusted publishing for PyPI uploads
  • Consolidates redundant workflows while maintaining functionality
  • Improves cross-platform compatibility
  • Simplifies maintenance and reduces potential points of failure

Technical Details:

  • Consolidated workflows:
    • build.yml: Handles main basemap package (replaces manylinux and windows workflows)
    • build-data.yml: Handles data packages (replaces both data package workflows)
  • Added proper testing across all platforms
  • Upgraded to latest GitHub Actions features (v4)
  • Implemented sequential TestPyPI → PyPI deployment

Required Actions:

  • Set up repository environments for TestPyPI and PyPI
  • Configure trusted publishing on both PyPI and TestPyPI
  • Update repository secrets if needed

Testing

The new workflows have been tested with:

  • Python versions 3.9 through 3.13
  • Linux, Windows, and MacOS platforms
  • Both TestPyPI and PyPI deployments

Related to issue PR #611

@cvanelteren cvanelteren deleted the workflow-fix-clean branch February 17, 2025 07:00
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.

2 participants