diff --git a/.github/workflows/wheel.yml b/.github/workflows/wheel.yml index e9060930d9..455c0a4501 100644 --- a/.github/workflows/wheel.yml +++ b/.github/workflows/wheel.yml @@ -150,6 +150,65 @@ jobs: name: cibw-wheels-${{ matrix.python }}-${{ matrix.manylinux }} path: ./wheelhouse/*.whl + + + linux_aarch64: + name: Build ARM64 wheels on Linux + runs-on: ubuntu-latest + # Don't run on OIIO forks + if: | + github.event_name != 'schedule' || + github.repository == 'AcademySoftwareFoundation/OpenImageIO' + + # strategy: + # matrix: + # arch: [arm64] + # include: + # # ------------------------------------------------------------------- + # # CPython ARM 64 bits manylinux2014 + # # ------------------------------------------------------------------- + # - build: CPython 3.8 ARM 64 bits manylinux2014 + # manylinux: manylinux2014 + # python: cp38-manylinux_aarch64 + # arch: aarch64 + # - build: CPython 3.9 ARM 64 bits manylinux2014 + # manylinux: manylinux2014 + # python: cp39-manylinux_aarch64 + # arch: aarch64 + # - build: CPython 3.10 ARM 64 bits manylinux2014 + # manylinux: manylinux2014 + # python: cp310-manylinux_aarch64 + # arch: aarch64 + # - build: CPython 3.11 ARM 64 bits manylinux2014 + # manylinux: manylinux2014 + # python: cp311-manylinux_aarch64 + # arch: aarch64 + # - build: CPython 3.12 ARM 64 bits manylinux2014 + # manylinux: manylinux2014 + # python: cp312-manylinux_aarch64 + # arch: aarch64 + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.10' + + - name: Build wheels + uses: pypa/cibuildwheel@v2.21.1 + with: + output-dir: wheelhouse + + env: + CIBW_ARCHS: aarch64 + + - uses: actions/upload-artifact@v4 + with: + name: wheelhouse + path: ./wheelhouse/*.whl + # --------------------------------------------------------------------------- # macOS Wheels # --------------------------------------------------------------------------- @@ -254,72 +313,6 @@ jobs: - macos_arm64_cross: - name: Build Linux wheels on macOS ARM64 - runs-on: macos-14 - # Don't run on OIIO forks - if: | - github.event_name != 'schedule' || - github.repository == 'AcademySoftwareFoundation/OpenImageIO' - - strategy: - matrix: - include: - # ------------------------------------------------------------------- - # CPython ARM 64 bits manylinux2014 - # ------------------------------------------------------------------- - - build: CPython 3.8 ARM 64 bits manylinux2014 - manylinux: manylinux2014 - python: cp38-manylinux_aarch64 - arch: aarch64 - - build: CPython 3.9 ARM 64 bits manylinux2014 - manylinux: manylinux2014 - python: cp39-manylinux_aarch64 - arch: aarch64 - - build: CPython 3.10 ARM 64 bits manylinux2014 - manylinux: manylinux2014 - python: cp310-manylinux_aarch64 - arch: aarch64 - - build: CPython 3.11 ARM 64 bits manylinux2014 - manylinux: manylinux2014 - python: cp311-manylinux_aarch64 - arch: aarch64 - - build: CPython 3.12 ARM 64 bits manylinux2014 - manylinux: manylinux2014 - python: cp312-manylinux_aarch64 - arch: aarch64 - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.8' - - - name: Install Podman - run: | - brew install podman qemu - brew install lima - podman machine init - podman machine start - - - name: Verify Podman Installation - run: podman --version - - - name: Build wheels - uses: pypa/cibuildwheel@v2.21.1 - env: - CIBW_BUILD: ${{ matrix.python }} - CIBW_PLATFORM: linux - CIBW_CONTAINER_ENGINE: podman - CIBW_ARCHS_LINUX: ${{ matrix.arch }} - CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.manylinux }} - - - uses: actions/upload-artifact@v4 - with: - name: cibw-wheels-${{ matrix.python }} - path: ./wheelhouse/*.whl # --------------------------------------------------------------------------- # Windows Wheels # --------------------------------------------------------------------------- @@ -375,7 +368,7 @@ jobs: upload_pypi: - needs: [sdist, linux, macos, macos_arm64,macos_arm64_cross, windows] + needs: [sdist, linux, linux_aarch64, macos, macos_arm64, windows] runs-on: ubuntu-latest permissions: id-token: write