From ea61cb646e4200e9ae7e68b07bf1a9a8909eb087 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 02:32:05 +0530 Subject: [PATCH 1/6] CI: Build Linux arm64 wheels natively --- .github/workflows/wheel_tests_and_release.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/wheel_tests_and_release.yml b/.github/workflows/wheel_tests_and_release.yml index b97977f18..5182980fb 100644 --- a/.github/workflows/wheel_tests_and_release.yml +++ b/.github/workflows/wheel_tests_and_release.yml @@ -78,7 +78,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-22.04-arm] cibw_python: ["cp310", "cp311", "cp312", "cp313"] cibw_arch: ["aarch64"] steps: @@ -89,10 +89,6 @@ jobs: name: Install Python with: python-version: "3.10" - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - name: Build the wheel uses: pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0 From 52e7f6a858f72f33f65569199b64aa713723a805 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 02:45:04 +0530 Subject: [PATCH 2/6] CI: Expand CI with Linux Arm runners --- .github/workflows/tests.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 85e639948..e087a8743 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,12 +27,13 @@ env: jobs: test_pywavelets_linux: - name: linux-cp${{ matrix.python-version }}-${{ matrix.OPTIONS_NAME }} - runs-on: ubuntu-latest + name: ${{ matrix.runs-on }}-cp${{ matrix.python-version }}-${{ matrix.OPTIONS_NAME }} + runs-on: ${{ matrix.runs-on }} strategy: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: + runs-on: ["ubuntu-latest", "ubuntu-22.04-arm"] python-version: ["3.10", "3.11", "3.12"] MINIMUM_REQUIREMENTS: [0] USE_SCIPY: [0] @@ -41,24 +42,19 @@ jobs: PIP_FLAGS: [""] OPTIONS_NAME: ["default"] include: - - platform_id: manylinux_x86_64 - python-version: "3.10" + - python-version: "3.10" MINIMUM_REQUIREMENTS: 1 OPTIONS_NAME: "minimum-req" - - platform_id: manylinux_x86_64 - python-version: "3.10" + - python-version: "3.10" USE_SCIPY: 1 OPTIONS_NAME: "with-scipy" - - platform_id: manylinux_x86_64 - python-version: "3.10" + - python-version: "3.10" USE_SDIST: 1 OPTIONS_NAME: "install-from-sdist" - - platform_id: manylinux_x86_64 - python-version: "3.12" + - python-version: "3.12" PIP_FLAGS: "--pre" OPTIONS_NAME: "pre-releases" - - platform_id: manylinux_x86_64 - python-version: "3.12" + - python-version: "3.12" OPTIONS_NAME: "editable-install" steps: - name: Checkout PyWavelets From 3a1ffa809a6276fd0b6dbcd5eb4003bad49620df Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 18:48:43 +0530 Subject: [PATCH 3/6] CI: Include `runs-on:` value for extra jobs --- .github/workflows/tests.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e087a8743..be76a4e91 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,7 +33,7 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - runs-on: ["ubuntu-latest", "ubuntu-22.04-arm"] + runs-on: [ubuntu-latest, ubuntu-22.04-arm] python-version: ["3.10", "3.11", "3.12"] MINIMUM_REQUIREMENTS: [0] USE_SCIPY: [0] @@ -42,19 +42,24 @@ jobs: PIP_FLAGS: [""] OPTIONS_NAME: ["default"] include: - - python-version: "3.10" + - runs-on: ubuntu-latest + python-version: "3.10" MINIMUM_REQUIREMENTS: 1 OPTIONS_NAME: "minimum-req" - - python-version: "3.10" + - runs-on: ubuntu-latest + python-version: "3.10" USE_SCIPY: 1 OPTIONS_NAME: "with-scipy" - - python-version: "3.10" + - runs-on: ubuntu-latest + python-version: "3.10" USE_SDIST: 1 OPTIONS_NAME: "install-from-sdist" - - python-version: "3.12" + - runs-on: ubuntu-latest + python-version: "3.12" PIP_FLAGS: "--pre" OPTIONS_NAME: "pre-releases" - - python-version: "3.12" + - runs-on: ubuntu-latest + python-version: "3.12" OPTIONS_NAME: "editable-install" steps: - name: Checkout PyWavelets From ef4fc2cbfe5894dca6ff89caabffe62a9b9d0615 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 19:11:10 +0530 Subject: [PATCH 4/6] CI: Add Python 3.13 to the testing matrix --- .github/workflows/tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index be76a4e91..1ec48f62b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -34,7 +34,7 @@ jobs: fail-fast: false matrix: runs-on: [ubuntu-latest, ubuntu-22.04-arm] - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13"] MINIMUM_REQUIREMENTS: [0] USE_SCIPY: [0] USE_SDIST: [0] @@ -55,11 +55,11 @@ jobs: USE_SDIST: 1 OPTIONS_NAME: "install-from-sdist" - runs-on: ubuntu-latest - python-version: "3.12" + python-version: "3.13" PIP_FLAGS: "--pre" OPTIONS_NAME: "pre-releases" - runs-on: ubuntu-latest - python-version: "3.12" + python-version: "3.13" OPTIONS_NAME: "editable-install" steps: - name: Checkout PyWavelets From 2802c32499a1418513c4df5107b5ce281ea60395 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 19:14:13 +0530 Subject: [PATCH 5/6] CI: Reduce testing matrix via Python version --- .github/workflows/tests.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1ec48f62b..c35a71e15 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -33,8 +33,8 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - runs-on: [ubuntu-latest, ubuntu-22.04-arm] - python-version: ["3.10", "3.11", "3.12", "3.13"] + runs-on: [ubuntu-latest] # Arm runner tested separately, see below + python-version: ["3.10", "3.13"] MINIMUM_REQUIREMENTS: [0] USE_SCIPY: [0] USE_SDIST: [0] @@ -42,6 +42,10 @@ jobs: PIP_FLAGS: [""] OPTIONS_NAME: ["default"] include: + # Linux arm64 + - runs-on: ubuntu-22.04-arm + python-version: "3.13" + # Linux amd64 - runs-on: ubuntu-latest python-version: "3.10" MINIMUM_REQUIREMENTS: 1 From 08326096c346291ad537eb689ebf99f382d7d7d5 Mon Sep 17 00:00:00 2001 From: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Date: Wed, 29 Jan 2025 19:16:55 +0530 Subject: [PATCH 6/6] =?UTF-8?q?CI:=20Python=203.12=20=E2=9E=A1=EF=B8=8F=20?= =?UTF-8?q?Python=203.13=20on=20macOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c35a71e15..448beac72 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -188,7 +188,7 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - python-version: ["3.10", "3.12"] + python-version: ["3.10", "3.13"] MINIMUM_REQUIREMENTS: [0] USE_SCIPY: [0] USE_SDIST: [0] @@ -199,7 +199,7 @@ jobs: - python-version: "3.10" MINIMUM_REQUIREMENTS: 1 OPTIONS_NAME: "osx-minimum-req" - - python-version: "3.12" + - python-version: "3.13" PIP_FLAGS: "--pre" OPTIONS_NAME: "pre-releases"