@@ -6,42 +6,64 @@ on: [workflow_dispatch]
6
6
7
7
jobs :
8
8
build_wheels :
9
- name : Build wheels on ${{ matrix.os }}
10
- runs-on : ${{ matrix.os }}
9
+ name : Build wheels on for ${{matrix.python.cp}}-${{ matrix.buildplat.sys }}
10
+ runs-on : ${{ matrix.buildplat.runs_on }}
11
11
strategy :
12
12
matrix :
13
- os : [ubuntu-20.04, macOS-11]
13
+ buildplat :
14
+ - { runs_on: ubuntu-20.04, sys: manylinux, arch: x86_64, benv: "" }
15
+ - { runs_on: macos-12, sys: macosx, arch: x86_64, benv: "12.0" }
16
+ - { runs_on: macos-14, sys: macosx, arch: arm64, benv: "14.0" }
17
+ python :
18
+ - { cp: "cp38", rel: "3.8" }
19
+ - { cp: "cp39", rel: "3.9" }
20
+ - { cp: "cp310", rel: "3.10" }
21
+ - { cp: "cp311", rel: "3.11" }
22
+ - { cp: "cp312", rel: "3.12" }
14
23
15
24
steps :
16
- - uses : actions/checkout@v3
25
+ - uses : actions/checkout@v4.1.1
17
26
18
27
# Used to host cibuildwheel
19
- - uses : actions/setup-python@v3
28
+ - uses : actions/setup-python@v5
29
+ with :
30
+ python-version : 3.11
20
31
21
32
- name : Install cibuildwheel
22
33
run : python -m pip install cibuildwheel
23
34
24
- - name : Build wheels
35
+ - name : Build wheels (Linux)
36
+ if : ${{ runner.os != 'macOS' }}
25
37
run : python -m cibuildwheel --output-dir wheelhouse
26
38
env :
39
+ CIBW_BUILD : ${{ matrix.python.cp }}-${{ matrix.buildplat.sys }}*
27
40
CIBW_ARCHS_LINUX : " x86_64"
28
- CIBW_ARCHS_MACOS : " x86_64"
29
41
CIBW_BEFORE_ALL_LINUX : >
30
42
if command -v apt-get; then
31
43
apt-get -y git libicu-dev libxml2-dev libexttextcat-dev libxslt1-dev libbz2-dev zlib1g-dev autoconf automake autoconf-archive libtool autotools-dev gcc g++ make
32
44
elif command -v yum; then
33
45
yum install -y git libicu-devel libxml2-devel libxslt-devel libexttextcat zlib-devel bzip2-devel libtool autoconf-archive autoconf automake m4 wget
46
+ #on CentOS 7 we also have libtar-devel libexttextcat-devel which will be installed by build-deps.sh, on 8 they are missing and will be installed from source or otherwise
34
47
elif command -v apk; then
35
48
apk add build-base git autoconf-archive autoconf automake libtool bzip2-dev icu-dev libxml2-dev libexttextcat-dev libtool rsync &&
36
49
rsync -av --ignore-existing /usr/share/aclocal/*.m4 /usr/local/share/aclocal/
37
50
fi &&
38
51
./build-deps.sh
52
+ CIBW_MANYLINUX_X86_64_IMAGE : quay.io/pypa/manylinux2014_x86_64
53
+ CIBW_SKIP : " *-win* *-manylinux_i686 pp*"
54
+
55
+ - name : Build wheels (macOS)
56
+ if : ${{ runner.os == 'macOS' }}
57
+ run : python -m cibuildwheel --output-dir wheelhouse
58
+ env :
59
+ CIBW_BUILD : ${{ matrix.python.cp }}-${{ matrix.buildplat.sys }}*
60
+ CIBW_ARCHS : ${{ matrix.buildplat.arch }}
61
+ CIBW_ENVIRONMENT : " MACOSX_DEPLOYMENT_TARGET=${{ matrix.buildplat.benv }}"
39
62
CIBW_BEFORE_ALL_MACOS : >
40
63
brew tap fbkarsdorp/homebrew-lamachine &&
41
64
brew install frog
42
- CIBW_MANYLINUX_X86_64_IMAGE : quay.io/pypa/manylinux2014_x86_64
43
- CIBW_SKIP : " *-win* *-manylinux_i686 pp*"
44
65
45
- - uses : actions/upload-artifact@v3
66
+ - uses : actions/upload-artifact@v4
46
67
with :
68
+ name : ${{matrix.python.cp}}-${{matrix.buildplat.sys}}-${{matrix.buildplat.arch}}
47
69
path : ./wheelhouse/*.whl
0 commit comments