Skip to content

Commit 338385b

Browse files
authored
Merge pull request #518 from biojppm/fix/python_wheels
Add python wheels for aarch64
2 parents 47ec2fa + 6647753 commit 338385b

3 files changed

Lines changed: 219 additions & 53 deletions

File tree

.github/workflows-in/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ force:
4949
@echo >> $@
5050
$(YS) -Y $< >> $@
5151
@chmod a-w $@
52-
@wc -lm --total=never $< $@
52+
@wc -lm --total=never $< $@ || wc -lm $< $@
5353

5454

5555
# Auto install a specific version of ys

.github/workflows-in/release.ys

Lines changed: 78 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -14,65 +14,88 @@ defn pywhl(pyv cibwpyv cibwarch cibwplatform os vsenvarch='' cmkflags=''):: # N
1414

1515

1616
python-wheel-matrix =::
17-
# pyv arch platform os
18-
- ! pywhl('3.13' 313 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
19-
- ! pywhl('3.13' 313 'i686' 'manylinux_i686' 'ubuntu-24.04')
20-
- ! pywhl('3.13' 313 'x86_64' 'macosx_x86_64' 'macos-13' )
21-
#
22-
- ! pywhl('3.12' 312 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
23-
- ! pywhl('3.12' 312 'i686' 'manylinux_i686' 'ubuntu-24.04')
24-
- ! pywhl('3.12' 312 'x86_64' 'macosx_x86_64' 'macos-13' )
25-
#
26-
- ! pywhl('3.11' 311 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
27-
- ! pywhl('3.11' 311 'i686' 'manylinux_i686' 'ubuntu-24.04')
28-
- ! pywhl('3.11' 311 'x86_64' 'macosx_x86_64' 'macos-13' )
29-
#
30-
- ! pywhl('3.10' 310 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
31-
- ! pywhl('3.10' 310 'i686' 'manylinux_i686' 'ubuntu-24.04')
32-
- ! pywhl('3.10' 310 'x86_64' 'macosx_x86_64' 'macos-13' )
33-
#
34-
- ! pywhl('3.9' 39 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
35-
- ! pywhl('3.9' 39 'i686' 'manylinux_i686' 'ubuntu-24.04')
36-
- ! pywhl('3.9' 39 'x86_64' 'macosx_x86_64' 'macos-13' )
37-
#
38-
- ! pywhl('3.8' 38 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
39-
- ! pywhl('3.8' 38 'i686' 'manylinux_i686' 'ubuntu-24.04')
40-
- ! pywhl('3.8' 38 'x86_64' 'macosx_x86_64' 'macos-13' )
41-
#
42-
- ! pywhl('3.7' 37 'x86_64' 'manylinux_x86_64' 'ubuntu-22.04')
43-
- ! pywhl('3.7' 37 'i686' 'manylinux_i686' 'ubuntu-22.04')
44-
- ! pywhl('3.7' 37 'x86_64' 'macosx_x86_64' 'macos-13' )
45-
#
46-
- ! pywhl('3.6' 36 'x86_64' 'manylinux_x86_64' 'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
47-
- ! pywhl('3.6' 36 'i686' 'manylinux_i686' 'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
48-
- ! pywhl('3.6' 36 'x86_64' 'macosx_x86_64' 'macos-13' )
17+
# pyv arch platform os
18+
- ! pywhl('3.13' 313 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
19+
- ! pywhl('3.13' 313 'i686' 'manylinux_i686' 'ubuntu-24.04')
20+
- ! pywhl('3.13' 313 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
21+
- ! pywhl('3.13' 313 'x86_64' 'macosx_x86_64' 'macos-13' )
22+
- ! pywhl('3.13' 313 'arm64' 'macosx_arm64' 'macos-latest')
23+
- ! pywhl('3.13' 313 'universal2' 'macosx_universal2' 'macos-latest')
24+
# pyv arch platform os
25+
- ! pywhl('3.12' 312 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
26+
- ! pywhl('3.12' 312 'i686' 'manylinux_i686' 'ubuntu-24.04')
27+
- ! pywhl('3.12' 312 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
28+
- ! pywhl('3.12' 312 'x86_64' 'macosx_x86_64' 'macos-13' )
29+
- ! pywhl('3.12' 312 'arm64' 'macosx_arm64' 'macos-latest')
30+
- ! pywhl('3.12' 312 'universal2' 'macosx_universal2' 'macos-latest')
31+
# pyv arch platform os
32+
- ! pywhl('3.11' 311 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
33+
- ! pywhl('3.11' 311 'i686' 'manylinux_i686' 'ubuntu-24.04')
34+
- ! pywhl('3.11' 311 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
35+
- ! pywhl('3.11' 311 'x86_64' 'macosx_x86_64' 'macos-13' )
36+
- ! pywhl('3.11' 311 'arm64' 'macosx_arm64' 'macos-latest')
37+
- ! pywhl('3.11' 311 'universal2' 'macosx_universal2' 'macos-latest')
38+
# pyv arch platform os
39+
- ! pywhl('3.10' 310 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
40+
- ! pywhl('3.10' 310 'i686' 'manylinux_i686' 'ubuntu-24.04')
41+
- ! pywhl('3.10' 310 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
42+
- ! pywhl('3.10' 310 'x86_64' 'macosx_x86_64' 'macos-13' )
43+
- ! pywhl('3.10' 310 'arm64' 'macosx_arm64' 'macos-latest')
44+
- ! pywhl('3.10' 310 'universal2' 'macosx_universal2' 'macos-latest')
45+
# pyv arch platform os
46+
- ! pywhl('3.9' 39 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
47+
- ! pywhl('3.9' 39 'i686' 'manylinux_i686' 'ubuntu-24.04')
48+
- ! pywhl('3.9' 39 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
49+
- ! pywhl('3.9' 39 'x86_64' 'macosx_x86_64' 'macos-13' )
50+
- ! pywhl('3.9' 39 'arm64' 'macosx_arm64' 'macos-latest')
51+
- ! pywhl('3.9' 39 'universal2' 'macosx_universal2' 'macos-latest')
52+
# pyv arch platform os
53+
- ! pywhl('3.8' 38 'x86_64' 'manylinux_x86_64' 'ubuntu-24.04')
54+
- ! pywhl('3.8' 38 'i686' 'manylinux_i686' 'ubuntu-24.04')
55+
- ! pywhl('3.8' 38 'aarch64' 'manylinux_aarch64' 'ubuntu-24.04-arm')
56+
- ! pywhl('3.8' 38 'x86_64' 'macosx_x86_64' 'macos-13' )
57+
#- ! pywhl('3.8' 38 'arm64' 'macosx_arm64' 'macos-14' ) # disabled: https://cibuildwheel.pypa.io/en/stable/faq/#macos-building-cpython-38-wheels-on-arm64
58+
#- ! pywhl('3.8' 38 'universal2' 'macosx_universal2' 'macos-14' ) # disabled: https://cibuildwheel.pypa.io/en/stable/faq/#macos-building-cpython-38-wheels-on-arm64
59+
# pyv arch platform os
60+
- ! pywhl('3.7' 37 'x86_64' 'manylinux_x86_64' 'ubuntu-22.04')
61+
- ! pywhl('3.7' 37 'i686' 'manylinux_i686' 'ubuntu-22.04')
62+
- ! pywhl('3.7' 37 'x86_64' 'macosx_x86_64' 'macos-13' )
63+
# pyv arch platform os
64+
- ! pywhl('3.6' 36 'x86_64' 'manylinux_x86_64' 'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
65+
- ! pywhl('3.6' 36 'i686' 'manylinux_i686' 'ubuntu-20.04') # setup-python 3.6 requires ubuntu 20.04
66+
- ! pywhl('3.6' 36 'x86_64' 'macosx_x86_64' 'macos-13' )
4967

5068

5169
python-wheel-matrix-win =::
52-
# pyv arch platform os vsenvarch cmakeflags
53-
- ! pywhl('3.13' 313 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
54-
- ! pywhl('3.13' 313 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
70+
# pyv arch platform os vsenvarch cmakeflags
71+
- ! pywhl('3.13' 313 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
72+
- ! pywhl('3.13' 313 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
73+
#- ! pywhl('3.13' 313 'ARM64' 'win_arm64' 'windows-2022' 'amd64_arm64' '-G "Visual Studio 17 2022" -A ARM64')
5574
#
56-
- ! pywhl('3.12' 312 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
57-
- ! pywhl('3.12' 312 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
75+
- ! pywhl('3.12' 312 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
76+
- ! pywhl('3.12' 312 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
77+
#- ! pywhl('3.12' 312 'ARM64' 'win_arm64' 'windows-2022' 'amd64_arm64' '-G "Visual Studio 17 2022" -A ARM64')
5878
#
59-
- ! pywhl('3.11' 311 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
60-
- ! pywhl('3.11' 311 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
79+
- ! pywhl('3.11' 311 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
80+
- ! pywhl('3.11' 311 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
81+
#- ! pywhl('3.11' 311 'ARM64' 'win_arm64' 'windows-2022' 'amd64_arm64' '-G "Visual Studio 17 2022" -A ARM64')
6182
#
62-
- ! pywhl('3.10' 310 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
63-
- ! pywhl('3.10' 310 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
83+
- ! pywhl('3.10' 310 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
84+
- ! pywhl('3.10' 310 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
85+
#- ! pywhl('3.10' 310 'ARM64' 'win_arm64' 'windows-2022' 'amd64_arm64' '-G "Visual Studio 17 2022" -A ARM64')
6486
#
65-
- ! pywhl('3.9' 39 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
66-
- ! pywhl('3.9' 39 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
87+
- ! pywhl('3.9' 39 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
88+
- ! pywhl('3.9' 39 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
89+
#- ! pywhl('3.9' 39 'ARM64' 'win_arm64' 'windows-2022' 'amd64_arm64' '-G "Visual Studio 17 2022" -A ARM64')
6790
#
68-
- ! pywhl('3.8' 38 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
69-
- ! pywhl('3.8' 38 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
91+
- ! pywhl('3.8' 38 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
92+
- ! pywhl('3.8' 38 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
7093
#
71-
- ! pywhl('3.7' 37 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
72-
#- ! pywhl('3.7' 37 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
94+
- ! pywhl('3.7' 37 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
95+
#- ! pywhl('3.7' 37 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
7396
#
74-
- ! pywhl('3.6' 36 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
75-
- ! pywhl('3.6' 36 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
97+
- ! pywhl('3.6' 36 'AMD64' 'win_amd64' 'windows-2022' 'x64' '-G "Visual Studio 17 2022" -A x64')
98+
- ! pywhl('3.6' 36 'x86' 'win32' 'windows-2022' 'x86' '-G "Visual Studio 17 2022" -A Win32')
7699

77100

78101
setup-env =::
@@ -126,6 +149,10 @@ setup-env-win =::
126149
uses: actions/setup-python@v5
127150
with:
128151
python-version: ${{matrix.config.pythonv}}
152+
- name: confirm python install
153+
run: |
154+
python --version
155+
python -c 'import sys ; import struct ; import platform ; print("python:", sys.version, struct.calcsize("P") * 8, "bits", platform.machine())'
129156
- name: test with python ${{matrix.config.pythonv}}
130157
run: |
131158
set -x
@@ -136,7 +163,7 @@ setup-env-win =::
136163
exit 0
137164
fi
138165
python --version
139-
python -c 'import sys ; import struct ; print("python:", sys.version, struct.calcsize("P") * 8, "bits")'
166+
python -c 'import sys ; import struct ; import platform ; print("python:", sys.version, struct.calcsize("P") * 8, "bits", platform.machine())'
140167
pip --version
141168
pip install -v -r requirements.txt
142169
pip install -v -r api/python/requirements.txt
@@ -156,6 +183,7 @@ setup-env-win =::
156183
python -c 'import ryml'
157184
python -c 'import ryml ; print("ryml", ryml.version, ryml.version_tuple)'
158185
python -c 'import ryml ; tree = ryml.parse_in_arena(b"{foo: bar}") ; assert tree.key(1) == b"foo" ; assert tree.val(1) == b"bar" ; print(str(tree.key(1), "utf8")) ; print(str(tree.val(1), "utf8"))'
186+
# run the tests
159187
python -m pytest -vvv api/python/tests
160188
pip uninstall -y -v rapidyaml
161189
done

0 commit comments

Comments
 (0)