Skip to content

Commit 67b924a

Browse files
committed
adding wheels tests and readme info for ARMv7(Debian, Alpine)
1 parent e986b91 commit 67b924a

File tree

4 files changed

+40
-23
lines changed

4 files changed

+40
-23
lines changed

.github/workflows/test-wheels-pi_heif.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
name: 🐍 • ${{ matrix.i['os'] }} • ${{ matrix.i['ver'] }} • ${{ matrix.i['arch'] }}
1414
runs-on: ubuntu-latest
1515
strategy:
16+
fail-fast: false
1617
matrix:
1718
i: [
1819
{ "os": "amazonlinux", "ver": "latest", "arch": "amd64" },
@@ -23,16 +24,19 @@ jobs:
2324
{ "os": "fedora", "ver": "37", "arch": "amd64" },
2425
{ "os": "centos", "ver": "7", "arch": "amd64" },
2526
{ "os": "centos", "ver": "7", "arch": "arm64" },
26-
{ "os": "debian", "ver": "10.11", "arch": "amd64" },
27-
{ "os": "debian", "ver": "10.11", "arch": "arm64" },
28-
{ "os": "debian", "ver": "11.2", "arch": "amd64" },
29-
{ "os": "debian", "ver": "11.2", "arch": "arm64" },
27+
{ "os": "debian", "ver": "10", "arch": "amd64" },
28+
{ "os": "debian", "ver": "10", "arch": "arm64" },
29+
{ "os": "debian", "ver": "10", "arch": "arm/v7" },
30+
{ "os": "debian", "ver": "11", "arch": "amd64" },
31+
{ "os": "debian", "ver": "11", "arch": "arm64" },
3032
{ "os": "alpine", "ver": "3.14", "arch": "amd64" },
3133
{ "os": "alpine", "ver": "3.14", "arch": "arm64" },
34+
{ "os": "alpine", "ver": "3.14", "arch": "arm/v7" },
3235
{ "os": "alpine", "ver": "3.15", "arch": "amd64" },
3336
{ "os": "alpine", "ver": "3.15", "arch": "arm64" },
3437
{ "os": "alpine", "ver": "3.16", "arch": "amd64" },
3538
{ "os": "alpine", "ver": "3.16", "arch": "arm64" },
39+
{ "os": "alpine", "ver": "3.16", "arch": "arm/v7" },
3640
]
3741

3842
steps:
@@ -42,16 +46,15 @@ jobs:
4246

4347
- uses: actions/checkout@v3
4448
- name: Set up QEMU
45-
if: matrix.i['arch'] == 'arm64'
4649
uses: docker/setup-qemu-action@v2
47-
with:
48-
platforms: arm64
4950

5051
- name: Preparing debian
5152
if: matrix.i['os'] == 'debian' || matrix.i['os'] == 'ubuntu'
5253
run: |
5354
echo PREPARE_CMD="apt update" >> $GITHUB_ENV
54-
echo INSTALL_CMD="apt install -y python3-minimal python3-distutils python3-pip" >> $GITHUB_ENV
55+
echo INSTALL_CMD="apt install -y \
56+
python3-minimal python3-distutils python3-pip python3-dev \
57+
zlib1g-dev libjpeg62-turbo-dev liblcms2-dev libwebp-dev libfribidi-dev libharfbuzz-dev" >> $GITHUB_ENV
5558
5659
- name: Preparing musli
5760
if: matrix.i['os'] == 'alpine'
@@ -66,12 +69,12 @@ jobs:
6669
- name: Build image & Run tests
6770
run: |
6871
python3 .github/transform_to-pi_heif.py
69-
docker buildx build --platform ${{ matrix.i.arch }} \
72+
docker buildx build \
73+
--platform linux/${{ matrix.i.arch }} \
7074
--build-arg BASE_IMAGE="${{ matrix.i['os'] }}:${{ matrix.i['ver'] }}" \
7175
--build-arg PREPARE_CMD="${{ env.PREPARE_CMD }}" \
7276
--build-arg INSTALL_CMD="${{ env.INSTALL_CMD }}" \
7377
--build-arg TEST_TYPE="export PH_LIGHT_ACTION=1" \
74-
--build-arg EX_ARG="-i https://test.pypi.org/simple/" \
7578
-f docker/test_wheels.Dockerfile .
7679
7780
windows-wheels:

.github/workflows/test-wheels.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
name: 🐍 • ${{ matrix.i['os'] }} • ${{ matrix.i['ver'] }} • ${{ matrix.i['arch'] }}
1414
runs-on: ubuntu-latest
1515
strategy:
16+
fail-fast: false
1617
matrix:
1718
i: [
1819
{ "os": "amazonlinux", "ver": "latest", "arch": "amd64" },
@@ -23,16 +24,19 @@ jobs:
2324
{ "os": "fedora", "ver": "37", "arch": "amd64" },
2425
{ "os": "centos", "ver": "7", "arch": "amd64" },
2526
{ "os": "centos", "ver": "7", "arch": "arm64" },
26-
{ "os": "debian", "ver": "10.11", "arch": "amd64" },
27-
{ "os": "debian", "ver": "10.11", "arch": "arm64" },
28-
{ "os": "debian", "ver": "11.2", "arch": "amd64" },
29-
{ "os": "debian", "ver": "11.2", "arch": "arm64" },
27+
{ "os": "debian", "ver": "10", "arch": "amd64" },
28+
{ "os": "debian", "ver": "10", "arch": "arm64" },
29+
{ "os": "debian", "ver": "10", "arch": "arm/v7" },
30+
{ "os": "debian", "ver": "11", "arch": "amd64" },
31+
{ "os": "debian", "ver": "11", "arch": "arm64" },
3032
{ "os": "alpine", "ver": "3.14", "arch": "amd64" },
3133
{ "os": "alpine", "ver": "3.14", "arch": "arm64" },
34+
{ "os": "alpine", "ver": "3.14", "arch": "arm/v7" },
3235
{ "os": "alpine", "ver": "3.15", "arch": "amd64" },
3336
{ "os": "alpine", "ver": "3.15", "arch": "arm64" },
3437
{ "os": "alpine", "ver": "3.16", "arch": "amd64" },
3538
{ "os": "alpine", "ver": "3.16", "arch": "arm64" },
39+
{ "os": "alpine", "ver": "3.16", "arch": "arm/v7" },
3640
]
3741

3842
steps:
@@ -42,16 +46,23 @@ jobs:
4246

4347
- uses: actions/checkout@v3
4448
- name: Set up QEMU
45-
if: matrix.i['arch'] == 'arm64'
4649
uses: docker/setup-qemu-action@v2
47-
with:
48-
platforms: arm64
50+
51+
- name: Test type is Full
52+
if: matrix.i['arch'] != 'arm/v7'
53+
run: echo TEST_TYPE="export PH_FULL_ACTION=1" >> $GITHUB_ENV
54+
55+
- name: Test type is Light
56+
if: matrix.i['arch'] == 'arm/v7'
57+
run: echo TEST_TYPE="export PH_LIGHT_ACTION=1" >> $GITHUB_ENV
4958

5059
- name: Preparing debian
5160
if: matrix.i['os'] == 'debian' || matrix.i['os'] == 'ubuntu'
5261
run: |
5362
echo PREPARE_CMD="apt update" >> $GITHUB_ENV
54-
echo INSTALL_CMD="apt install -y python3-minimal python3-distutils python3-pip" >> $GITHUB_ENV
63+
echo INSTALL_CMD="apt install -y \
64+
python3-minimal python3-distutils python3-pip python3-dev \
65+
zlib1g-dev libjpeg62-turbo-dev liblcms2-dev libwebp-dev libfribidi-dev libharfbuzz-dev" >> $GITHUB_ENV
5566
5667
- name: Preparing musli
5768
if: matrix.i['os'] == 'alpine'
@@ -65,11 +76,12 @@ jobs:
6576
6677
- name: Build image & Run tests
6778
run: |
68-
docker buildx build --platform ${{ matrix.i.arch }} \
79+
docker buildx build \
80+
--platform linux/${{ matrix.i.arch }} \
6981
--build-arg BASE_IMAGE="${{ matrix.i['os'] }}:${{ matrix.i['ver'] }}" \
7082
--build-arg PREPARE_CMD="${{ env.PREPARE_CMD }}" \
7183
--build-arg INSTALL_CMD="${{ env.INSTALL_CMD }}" \
72-
--build-arg TEST_TYPE="export PH_FULL_ACTION=1" \
84+
--build-arg TEST_TYPE="${{ env.TEST_TYPE }}" \
7385
-f docker/test_wheels.Dockerfile .
7486
7587
windows-wheels:

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white)
1717
![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)
1818
![Alpine Linux](https://img.shields.io/badge/Alpine_Linux-0078D6.svg?style=for-the-badge&logo=alpine-linux&logoColor=white)
19+
![Raspberry Pi](https://img.shields.io/badge/Rasberry_Pi-FCC624.svg?style=for-the-badge&logo=raspberry-pi&logoColor=red)
1920

2021
Python bindings to [libheif](https://github.com/strukturag/libheif) for working with HEIF images and an add-on for Pillow.
2122

@@ -185,5 +186,5 @@ pillow_heif.register_avif_opener()
185186

186187
* **i686**, **x86_64**, **aarch64** wheels.
187188

188-
For `armv7l` there is a `pillow_heif-x.x.x-cp38-abi3-manylinux_2_31_armv7l.whl` wheel on `pypi` for Debian11+ systems.
189-
It supports only decoding and builds without `x265` encoder.
189+
For `ARMv7`(`armv7l`) wheels are present for Debian 10+(Ubuntu 20.04+) and Alpine 14+.
190+
They supports only decoding and builds without `x265` encoder.

pi-heif/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white)
1313
![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)
1414
![Alpine Linux](https://img.shields.io/badge/Alpine_Linux-0078D6.svg?style=for-the-badge&logo=alpine-linux&logoColor=white)
15+
![Raspberry Pi](https://img.shields.io/badge/Rasberry_Pi-FCC624.svg?style=for-the-badge&logo=raspberry-pi&logoColor=red)
1516

1617
This is a light version of [Pillow-Heif](https://github.com/bigcat88/pillow_heif) with more permissive license for binary wheels.
1718

@@ -75,4 +76,4 @@ if pi_heif.is_supported("input.heic"):
7576

7677
* **i686**, **x86_64**, **aarch64** wheels.
7778

78-
For `ARMv7`(`armv7l`) there is a `pi_heif-x.x.x-cp38-abi3-manylinux_2_31_armv7l.whl` wheel on `pypi` for Debian11+ based systems.
79+
For `ARMv7`(`armv7l`) wheels are present for Debian 10+(Ubuntu 20.04+) and Alpine 14+.

0 commit comments

Comments
 (0)