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.
Summary
This PR modernizes the CI pipeline by adding builds with conda/mamba GitHub Actions workflows, enabling builds with better reproducibility and
manylinux2014compatibility. In future, Docker based based,build.ymlandtest.ymlwill be removed.Changes
New Files
ci/environment.yml: Conda environment with GCC 8.5.0, sysroot_linux-64=2.17, and all build/test dependencies.github/workflows/conda-build.yml: Workflow for building manylinux2014 wheels across Python 3.9-3.11.github/workflows/conda-test.yml: Workflow for running pytest tests on built wheelsKey Improvements
environment.ymlreplaces complex Dockerfile configurationTechnical Details
mamba-org/setup-micromamba@v1for environment setupauditwheel repair --plat manylinux2014_x86_64ensures PyPI compatibilityRemoved Dependencies (to-be-done after merging this PR)
Benefits
micromamba env create -f ci/environment.ymlenvironment.ymlfile vs multiple Docker configuration filesmanylinux2014compliance for PyPI distributionTesting
Build workflow produces manylinux2014_x86_64 wheels for Python 3.9-3.11
Test workflow validates wheels install and pass all pytest tests
Wheels are uploadable to PyPI with automated trusted publishing
This is ready to merge because all CI tests are passing. Refer - czgdp1807#4
Migration Notes
This intends to replace the existing Docker-based build process. Future PRs can add macOS support by:
ci/environment-macos.ymlwith Clang compilersmatrix.osto includemacos-latestdelocatefor macOS wheel repair