From 826d863a06eaaf5cbda9b190ac767df9a1ba6d57 Mon Sep 17 00:00:00 2001 From: Sameeul B Samee Date: Thu, 22 May 2025 15:13:24 -0400 Subject: [PATCH 1/4] Chore: add linux arm64 wheels --- .github/workflows/build_wheels.yml | 48 +++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 6d808c2..d49ce72 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -64,7 +64,53 @@ jobs: path: dist/*.whl retention-days: 1 - build_wheels_apple_silicon: + build_wheels_linux_arm64: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-22.04] + cibw_archs: ["aarch64"] + cibw_build: ["cp39", "cp310", "cp311", "cp312", "cp313"] + + steps: + - uses: actions/checkout@v4 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: arm64 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Build wheels using cibuildwheel + uses: pypa/cibuildwheel@v2.16.5 + env: + CIBW_SKIP: "*-musllinux*" + CIBW_BUILD: ${{ matrix.cibw_build }}-* + CIBW_BUILD_VERBOSITY: 3 + CIBW_BEFORE_ALL_LINUX: bash ci-utils/install_prereq_linux.sh && + mkdir -p /tmp/filepattern_bld && + cp -r local_install /tmp/filepattern_bld + CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH="/tmp/filepattern_bld/local_install/lib:/tmp/filepattern_bld/local_install/lib64:$LD_LIBRARY_PATH" ON_GITHUB="TRUE" FILEPATTERN_DEP_DIR="/tmp/filepattern_bld/local_install" + CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs }} + CIBW_TEST_REQUIRES: pytest pydantic + CIBW_TEST_COMMAND: pytest {project}/tests/ + with: + package-dir: . + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: filepattern-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}-${{ matrix.cibw_build }} + path: dist/*.whl + retention-days: 1 + + + build_wheels_apple_arm64: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} env: From 7e4c750a646179de501d898c6b0b9b9895824cf7 Mon Sep 17 00:00:00 2001 From: Sameeul B Samee Date: Thu, 22 May 2025 15:25:43 -0400 Subject: [PATCH 2/4] updates --- .github/workflows/build_wheels.yml | 50 ++---------------------------- 1 file changed, 2 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index d49ce72..05a1299 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -12,9 +12,9 @@ jobs: MACOSX_DEPLOYMENT_TARGET: "10.15" strategy: matrix: - os: [ubuntu-22.04, macos-13, windows-latest] + os: [ubuntu-22.04, macos-13, windows-latest, ubuntu-22.04-arm] cibw_archs: ["auto64"] - cibw_build: ["cp38", "cp39", "cp310", "cp311", "cp312", "cp313"] + cibw_build: ["cp39", "cp310", "cp311", "cp312", "cp313"] steps: - uses: actions/checkout@v3 @@ -64,52 +64,6 @@ jobs: path: dist/*.whl retention-days: 1 - build_wheels_linux_arm64: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-22.04] - cibw_archs: ["aarch64"] - cibw_build: ["cp39", "cp310", "cp311", "cp312", "cp313"] - - steps: - - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Build wheels using cibuildwheel - uses: pypa/cibuildwheel@v2.16.5 - env: - CIBW_SKIP: "*-musllinux*" - CIBW_BUILD: ${{ matrix.cibw_build }}-* - CIBW_BUILD_VERBOSITY: 3 - CIBW_BEFORE_ALL_LINUX: bash ci-utils/install_prereq_linux.sh && - mkdir -p /tmp/filepattern_bld && - cp -r local_install /tmp/filepattern_bld - CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH="/tmp/filepattern_bld/local_install/lib:/tmp/filepattern_bld/local_install/lib64:$LD_LIBRARY_PATH" ON_GITHUB="TRUE" FILEPATTERN_DEP_DIR="/tmp/filepattern_bld/local_install" - CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs }} - CIBW_TEST_REQUIRES: pytest pydantic - CIBW_TEST_COMMAND: pytest {project}/tests/ - with: - package-dir: . - - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: filepattern-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}-${{ matrix.cibw_build }} - path: dist/*.whl - retention-days: 1 - - build_wheels_apple_arm64: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} From 0a9fae30e6fc66e4a399261fde6ca834793202bd Mon Sep 17 00:00:00 2001 From: Sameeul B Samee Date: Thu, 22 May 2025 15:31:55 -0400 Subject: [PATCH 3/4] Update workflow --- .github/workflows/publish_pypi.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish_pypi.yml b/.github/workflows/publish_pypi.yml index f707359..5632872 100644 --- a/.github/workflows/publish_pypi.yml +++ b/.github/workflows/publish_pypi.yml @@ -14,9 +14,9 @@ jobs: MACOSX_DEPLOYMENT_TARGET: "10.15" strategy: matrix: - os: [ubuntu-22.04, macos-13, windows-latest] + os: [ubuntu-22.04, macos-13, windows-latest, ubuntu-22.04-arm] cibw_archs: ["auto64"] - cibw_build: ["cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"] + cibw_build: ["cp39", "cp310", "cp311", "cp312", "cp313"] steps: - uses: actions/checkout@v3 @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-python@v4 name: Install Python with: - python-version: '3.10' + python-version: '3.11' - name: Install cibuildwheel run: | @@ -70,7 +70,7 @@ jobs: TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} TWINE_REPOSITORY: pypi - build_wheels_apple_silicon: + build_wheels_apple_arm64: name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} env: From 03f62c432b9940b9b5b8c8b0447055adf8589b25 Mon Sep 17 00:00:00 2001 From: Sameeul B Samee Date: Thu, 22 May 2025 15:32:37 -0400 Subject: [PATCH 4/4] Update workflow --- .github/workflows/build_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 05a1299..b331b71 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-python@v4 name: Install Python with: - python-version: '3.10' + python-version: '3.11' - name: Install cibuildwheel run: |