Skip to content

Commit 0ffa2e5

Browse files
Merge pull request #54 from jim-easterbrook/workflow
Add Python 3.14 wheels to build action
2 parents 09ac20c + 50abee9 commit 0ffa2e5

File tree

1 file changed

+36
-2
lines changed

1 file changed

+36
-2
lines changed

.github/workflows/build-exiv2-wheels.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ jobs:
9090
cmake --build build-base_mac --config Release &&
9191
cmake --install build-base_mac --config Release
9292
93-
- name: Build wheels
93+
- name: Build wheels (Python 3.6 & 3.7)
94+
if: ${{ matrix.os != 'macos-14' }}
9495
# [email protected] omits Python 3.6 & 3.7
9596
uses: pypa/[email protected]
9697
env:
@@ -104,7 +105,7 @@ jobs:
104105
CIBW_ENVIRONMENT_WINDOWS: >
105106
EXIV2_ROOT=libexiv2/build-win-release/install
106107
CIBW_ENVIRONMENT_PASS_LINUX: EXIV2_OPTIONS
107-
CIBW_BUILD: "cp*"
108+
CIBW_BUILD: "cp36* cp37*"
108109
CIBW_SKIP: "*musllinux*"
109110
CIBW_TEST_COMMAND: >
110111
python -m exiv2 -v &&
@@ -124,6 +125,39 @@ jobs:
124125
cmake --build build-linux-release --config Release &&
125126
cmake --install build-linux-release --config Release
126127
128+
- name: Build wheels (Python 3.8+)
129+
uses: pypa/[email protected]
130+
env:
131+
CIBW_ARCHS: auto64
132+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
133+
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
134+
CIBW_ENVIRONMENT_LINUX: >
135+
EXIV2_ROOT=libexiv2/build-linux-release/install
136+
CIBW_ENVIRONMENT_MACOS: >
137+
EXIV2_ROOT=libexiv2/build-base_mac/install
138+
CIBW_ENVIRONMENT_WINDOWS: >
139+
EXIV2_ROOT=libexiv2/build-win-release/install
140+
CIBW_ENVIRONMENT_PASS_LINUX: EXIV2_OPTIONS
141+
CIBW_BUILD: "cp*"
142+
CIBW_SKIP: "*musllinux* cp36* cp37*"
143+
CIBW_TEST_COMMAND: >
144+
python -m exiv2 -v &&
145+
python -m unittest discover {project}/tests -v
146+
CIBW_TEST_SKIP: cp36-macosx_x86_64 cp37-macosx_x86_64
147+
CIBW_BEFORE_ALL_LINUX: >
148+
yum install -y --nogpgcheck zlib-devel expat-devel gettext-devel
149+
libcurl-devel brotli-devel meson &&
150+
localedef -c -i de_DE -f UTF-8 de_DE.UTF-8 &&
151+
pip install ninja &&
152+
cd inih && mkdir build && cd build &&
153+
meson setup --prefix=/usr --buildtype=release .. &&
154+
ninja && ninja install &&
155+
cd ../../libexiv2 &&
156+
cmake --preset linux-release $EXIV2_OPTIONS
157+
-D CONAN_AUTO_INSTALL=OFF &&
158+
cmake --build build-linux-release --config Release &&
159+
cmake --install build-linux-release --config Release
160+
127161
- name: Store results
128162
uses: actions/upload-artifact@v4
129163
with:

0 commit comments

Comments
 (0)