Skip to content

Commit 83668b8

Browse files
Merge branch 'main' into devel
2 parents 3d226b0 + 3ea65d8 commit 83668b8

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Build python-exiv2 wheels (prebuilt libexiv2)
2+
on: workflow_dispatch
3+
4+
jobs:
5+
build:
6+
name: build on ${{ matrix.os }}
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
matrix:
10+
os:
11+
- ubuntu-22.04
12+
- ubuntu-22.04-arm
13+
- macos-13
14+
- macos-14
15+
- windows-2022
16+
include:
17+
- os: ubuntu-22.04
18+
arch: Linux-x86_64
19+
- os: ubuntu-22.04-arm
20+
arch: Linux-aarch64
21+
- os: macos-13
22+
arch: Darwin-x86_64
23+
target: 13.7
24+
- os: macos-14
25+
arch: Darwin-arm64
26+
target: 14.0
27+
- os: windows-2022
28+
arch: 2022msvc-AMD64
29+
defaults:
30+
run:
31+
shell: bash
32+
env:
33+
EXIV2_VSN: 0.28.7
34+
steps:
35+
- name: Check out repository code
36+
uses: actions/checkout@v4
37+
38+
- name: Download exiv2.tar.gz
39+
if: ${{ runner.os != 'Windows' }}
40+
run: |
41+
wget -nv https://github.com/Exiv2/exiv2/releases/download/v${{ env.EXIV2_VSN }}/exiv2-${{ env.EXIV2_VSN }}-${{ matrix.arch }}.tar.gz -O - |
42+
tar zxf -
43+
44+
- name: Download exiv2.zip
45+
if: ${{ runner.os == 'Windows' }}
46+
run: |
47+
c:/msys64/usr/bin/wget.exe -nv https://github.com/Exiv2/exiv2/releases/download/v${{ env.EXIV2_VSN }}/exiv2-${{ env.EXIV2_VSN }}-${{ matrix.arch }}.zip -O exiv2.zip
48+
unzip exiv2.zip
49+
50+
- name: Build wheels
51+
# [email protected] omits Python 3.6 & 3.7
52+
uses: pypa/[email protected]
53+
env:
54+
CIBW_ARCHS: auto64
55+
CIBW_ENVIRONMENT: >
56+
EXIV2_ROOT=exiv2-${{ env.EXIV2_VSN }}-${{ matrix.arch }}
57+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_34
58+
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_34
59+
CIBW_BUILD: "cp*"
60+
CIBW_SKIP: "*musllinux* cp314*"
61+
CIBW_BEFORE_ALL_MACOS: brew install inih
62+
CIBW_TEST_COMMAND: >
63+
python -m exiv2 -v &&
64+
python -m unittest discover {project}/tests -v
65+
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.target }}
66+
67+
- name: Store results
68+
uses: actions/upload-artifact@v4
69+
with:
70+
name: exiv2-wheels-${{ runner.os }}-${{ runner.arch }}
71+
path: wheelhouse/*.whl

0 commit comments

Comments
 (0)