Skip to content

Commit

Permalink
dropped 32-bit wheels for Pi-Heif (#262)
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
  • Loading branch information
bigcat88 committed Jul 6, 2024
1 parent cd269f1 commit f8ce2ad
Show file tree
Hide file tree
Showing 9 changed files with 1 addition and 242 deletions.
2 changes: 0 additions & 2 deletions .github/transform_to-pi_heif.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
# change `pillow_heif` to `pi_heif`
files_list = [
"setup.py",
"docker/manylinux_armv7l_wheels.Dockerfile",
"docker/musllinux_armv7l_wheels.Dockerfile",
"docker/test_wheels.Dockerfile",
"MANIFEST.in",
"pillow_heif/_pillow_heif.c",
Expand Down
73 changes: 1 addition & 72 deletions .github/workflows/build-cache-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
fail-fast: true
matrix:
cibw_buildlinux: [ manylinux, musllinux ]
cibw_arch: [ "aarch64", "i686", "x86_64" ]
cibw_arch: [ "aarch64", "x86_64" ]
name: Pi-Heif • ${{ matrix.cibw_arch }} • ${{ matrix.cibw_buildlinux }}
runs-on: ubuntu-20.04
env:
Expand All @@ -100,18 +100,6 @@ jobs:
- name: Install cibuildwheel & twine
run: python3 -m pip install twine cibuildwheel==2.19.1

- name: 32-bit musllinux preparations
if: matrix.cibw_buildlinux == 'musllinux' && matrix.cibw_arch == 'i686'
run: echo INSTALL_OS_PACKAGES="apk update && apk --no-cache add $OS_PACKAGES" >> $GITHUB_ENV
env:
OS_PACKAGES: "fribidi-dev harfbuzz-dev jpeg-dev lcms2-dev openjpeg-dev"

- name: 32-bit manylinux preparations
if: matrix.cibw_buildlinux == 'manylinux' && matrix.cibw_arch == 'i686'
run: echo INSTALL_OS_PACKAGES="yum makecache && yum install -y $OS_PACKAGES" >> $GITHUB_ENV
env:
OS_PACKAGES: "libjpeg-turbo-devel lcms2-devel"

- uses: actions/cache@v4
with:
path: ${{ env.BUILD_DIR }}
Expand Down Expand Up @@ -143,62 +131,3 @@ jobs:

- name: Fix cache permissions
run: sudo chmod -R 777 ${{ env.BUILD_DIR }}

pi_heif_dependencies_linux_armv7:
strategy:
fail-fast: true
matrix:
i: [
{ "docker_file": "manylinux_armv7l_wheels", "name": "manylinux" },
{ "docker_file": "musllinux_armv7l_wheels", "name": "musllinux" },
]
v: ["3.10"]
name: Pi-Heif • ARMv7l • ${{ matrix.i['name'] }}
runs-on: ubuntu-20.04
env:
KEY_HEAD: Pi-Heif-ARMv7l-${{ matrix.i['name'] }}
BUILD_DIR: "./build_cache"

steps:
- uses: actions/checkout@v4
- name: Transform to Pi-Heif
run: |
cp -r -v ./pi-heif/* .
python3 .github/transform_to-pi_heif.py
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- uses: actions/cache@v4
with:
path: ${{ env.BUILD_DIR }}
key: ${{ env.KEY_HEAD }}-${{ env.KEY_C_BUILD }}-${{ env.KEY_LINUX_LIBS }}
env:
KEY_LINUX_LIBS: ${{ hashFiles('libheif/linux/**') }}
KEY_C_BUILD: ${{ hashFiles('libheif/linux_*.py') }}-${{ hashFiles('libheif/setup.py') }}

- name: Build Pi-Heif
uses: docker/build-push-action@v6
with:
context: .
file: docker/${{ matrix.i['docker_file'] }}.Dockerfile
build-args: |
PY_VERSION=${{ matrix.v }}
platforms: linux/arm/v7
push: false
outputs: type=local,dest=./

- name: Checking built wheels
run: |
python3 -m pip install twine
python3 -m twine check ./repaired_dist/*
- name: Uploading wheels
uses: actions/upload-artifact@v3
with:
name: wheels_pi_heif
path: ./repaired_dist/*.whl
if-no-files-found: error

- name: Fix cache permissions
run: sudo chmod -R 777 ${{ env.BUILD_DIR }}
4 changes: 0 additions & 4 deletions .github/workflows/test-src-build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ jobs:
arch: ["amd64", "arm64"]
docker_file: ["Alpine_3_19", "Alpine_3_20", "Almalinux_9", "Debian_12"]
include:
- arch: "arm/v7"
docker_file: "Alpine_3_20"
- arch: "arm/v7"
docker_file: "Debian_12"
- arch: "amd64"
docker_file: "Archlinux"
- arch: "amd64"
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/test-wheels-pi_heif.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,12 @@ jobs:
{ "os": "fedora", "ver": "37", "arch": "amd64" },
{ "os": "debian", "ver": "11", "arch": "amd64" },
{ "os": "debian", "ver": "11", "arch": "arm64" },
{ "os": "debian", "ver": "11", "arch": "arm/v7" },
{ "os": "debian", "ver": "12", "arch": "amd64" },
{ "os": "debian", "ver": "12", "arch": "arm64" },
{ "os": "debian", "ver": "12", "arch": "arm/v7" },
{ "os": "alpine", "ver": "3.19", "arch": "amd64" },
{ "os": "alpine", "ver": "3.19", "arch": "arm64" },
{ "os": "alpine", "ver": "3.19", "arch": "arm/v7" },
{ "os": "alpine", "ver": "3.20", "arch": "amd64" },
{ "os": "alpine", "ver": "3.20", "arch": "arm64" },
{ "os": "alpine", "ver": "3.20", "arch": "arm/v7" },
]

steps:
Expand Down
64 changes: 0 additions & 64 deletions .github/workflows/wheels-pi_heif.yml
Original file line number Diff line number Diff line change
Expand Up @@ -249,70 +249,6 @@ jobs:
- name: Fix cache permissions
run: sudo chmod -R 777 ${{ env.BUILD_DIR }}

wheels_armv7l:
name: ${{ matrix.i['name'] }} • ARMv7 • CPython${{ matrix.v }}
runs-on: ubuntu-20.04
strategy:
matrix:
i: [
{ "docker_file": "manylinux_armv7l_wheels", "name": "manylinux" },
]
v: ["3.9", "3.10", "3.11", "3.12"]
include:
- v: "3.10"
i: { "docker_file": "musllinux_armv7l_wheels", "name": "musllinux" }
- v: "3.11"
i: { "docker_file": "musllinux_armv7l_wheels", "name": "musllinux" }
- v: "3.12"
i: { "docker_file": "musllinux_armv7l_wheels", "name": "musllinux" }
env:
KEY_HEAD: Pi-Heif-ARMv7l-${{ matrix.i['name'] }}
BUILD_DIR: "./build_cache"

steps:
- uses: actions/checkout@v4
- name: Transform to Pi-Heif
run: |
cp -r -v ./pi-heif/* .
python3 .github/transform_to-pi_heif.py
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- uses: actions/cache@v4
with:
path: ${{ env.BUILD_DIR }}
key: ${{ env.KEY_HEAD }}-${{ env.KEY_C_BUILD }}-${{ env.KEY_LINUX_LIBS }}
env:
KEY_LINUX_LIBS: ${{ hashFiles('libheif/linux/**') }}
KEY_C_BUILD: ${{ hashFiles('libheif/linux_*.py') }}-${{ hashFiles('libheif/setup.py') }}

- name: Build Pi-Heif
uses: docker/build-push-action@v6
with:
context: .
file: docker/${{ matrix.i['docker_file'] }}.Dockerfile
build-args: |
PY_VERSION=${{ matrix.v }}
platforms: linux/arm/v7
push: false
outputs: type=local,dest=./

- name: Checking built wheels
run: |
python3 -m pip install twine
python3 -m twine check ./repaired_dist/*
- name: Uploading wheels
uses: actions/upload-artifact@v3
with:
name: wheels_pi_heif
path: ./repaired_dist/*.whl
if-no-files-found: error

- name: Fix cache permissions
run: sudo chmod -R 777 ${{ env.BUILD_DIR }}

sdist:
name: Source distribution
runs-on: macos-12
Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,5 +154,3 @@ if im.info["depth_images"]:
| PyPy 3.10 v7.3 |||| N/A ||

&ast; **x86_64**, **aarch64** wheels.

`i686`, `ARMv7l`, `PyPy` 32-bit wheels are published only for [pi-heif](https://pypi.org/project/pi-heif/) from `0.13.0` version.
47 changes: 0 additions & 47 deletions docker/manylinux_armv7l_wheels.Dockerfile

This file was deleted.

45 changes: 0 additions & 45 deletions docker/musllinux_armv7l_wheels.Dockerfile

This file was deleted.

2 changes: 0 additions & 2 deletions pi-heif/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,5 +95,3 @@ if im.info["depth_images"]:
| PyPy 3.10 v7.3 |||| N/A ||

&ast; **x86_64**, **aarch64** wheels.

`ARMv7l`: wheels are present for Debian 11+(Ubuntu 20.04+) and Alpine 3.16+

0 comments on commit f8ce2ad

Please sign in to comment.