Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR removes Python 3.9 support from the CI/CD pipeline and optimizes the ARM64 wheel building process by switching to native ARM64 runners instead of using QEMU emulation.
Key Changes:
- Removed Python 3.9 from the test matrix
- Migrated ARM64 wheel building from emulated (QEMU) to native ARM64 runners
- Added Python 3.10 test skipping for specific build configurations
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/test.yml |
Removed Python 3.9 from the test matrix |
.github/workflows/release.yml |
Changed ARM64 builds to use native runners, removed QEMU setup, and added test skip configurations for Python 3.10 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -37,7 +37,7 @@ jobs: | |||
| CIBW_SKIP: "pp* *-manylinux_i686" | |||
| CIBW_BEFORE_BUILD: "pip install -U pip setuptools wheel Cython" | |||
| CIBW_TEST_COMMAND: "python -c \"import rugo.parquet; print('Import successful')\"" | |||
There was a problem hiding this comment.
[nitpick] The pattern cp310-* skips all Python 3.10 builds across all platforms, but it appears alongside platform-specific exclusions. Consider separating these into distinct skip patterns for clarity, e.g., CIBW_TEST_SKIP: 'cp310-* *-*linux_{ppc64le,s390x}' could be split or documented to clarify that cp310 is globally skipped while the linux exclusions are platform-specific.
| CIBW_TEST_COMMAND: "python -c \"import rugo.parquet; print('Import successful')\"" | |
| CIBW_TEST_COMMAND: "python -c \"import rugo.parquet; print('Import successful')\"" | |
| # cp310-* skips all Python 3.10 builds globally; *-*linux_{ppc64le,s390x} skips only on specific Linux platforms |
| CIBW_SKIP: "pp* *-manylinux_i686" | ||
| CIBW_BEFORE_BUILD: "pip install -U pip setuptools wheel Cython" | ||
| CIBW_TEST_COMMAND: "python -c \"import rugo.parquet; print('Import successful')\"" | ||
| CIBW_TEST_SKIP: "cp310-*" |
There was a problem hiding this comment.
[nitpick] The CIBW_TEST_SKIP for Python 3.10 (cp310-*) is duplicated between the x86_64 build (line 40) and the aarch64 build (line 75). Consider defining this as a shared environment variable or workflow-level variable to maintain consistency and reduce duplication.
This pull request updates the CI configuration for building and testing Python wheels, with a focus on refining supported Python versions and improving compatibility for aarch64 builds. The main changes involve skipping Python 3.9 in tests, adjusting test skips for certain architectures and Python versions, and updating the runner environment for aarch64 builds.
Python version and architecture support updates:
.github/workflows/test.ymlnow excludes Python 3.9, limiting tests to Python 3.10 and newer..github/workflows/release.yml, theCIBW_TEST_SKIPconfiguration is updated to skip tests for Python 3.10 and specific Linux architectures (ppc64le,s390x).Build environment improvements:
build_wheels_aarch64job is changed fromubuntu-latesttoubuntu-24.04-arm64, ensuring native arm64 builds.