88
99jobs :
1010 wheels-windows :
11- runs-on : windows-latest
1211 strategy :
1312 fail-fast : false
1413 matrix :
@@ -28,81 +27,22 @@ jobs:
2827 - python-version : " 3.14"
2928 python-tag : " 314"
3029 architecture : " AMD64"
31-
32-
33-
34- steps :
35- - uses : actions/checkout@v4
36- - name : Set up Python ${{ matrix.python-version }}
37- uses : actions/setup-python@v5
38- with :
39- python-version : ${{ matrix.python-version }}
40- - uses : bus1/cabuild/action/msdevshell@v1
41- with :
42- architecture : x64
43- if : matrix.architecture == 'AMD64'
44- - uses : bus1/cabuild/action/msdevshell@v1
45- with :
46- architecture : x86
47- if : matrix.architecture == 'x86'
48- - name : Generate meson files
49- run : |
50- python scripts/generate_meson.py ./src/dbzero/ core
51- python scripts/generate_meson_tests.py tests/
52- python scripts/generate_meson_dbzero.py dbzero/
53-
54- - name : Configure git
55- run : |
56- git config --global user.email "ci@example.com"
57- git config --global user.name "CI Builder"
58- rm .gitignore
59- git add . && git commit -m "Update meson files for build"
60-
61- - run : pip3 install pipx
62- - run : pipx run cibuildwheel
63- env :
64- CIBW_BUILD : cp${{ matrix.python-tag }}-*
65- CIBW_ARCHS_WINDOWS : ${{ matrix.architecture }}
66- - uses : actions/upload-artifact@v4
67- with :
68- name : wheels-windows-${{ matrix.python-version }}
69- path : wheelhouse/*.whl
30+ uses : ./.github/workflows/build-windows-wheel.yml
31+ with :
32+ python-version : ${{ matrix.python-version }}
33+ python-tag : ${{ matrix.python-tag }}
34+ architecture : ${{ matrix.architecture }}
7035
7136 wheels-linux :
72- runs-on : ubuntu-latest
7337 strategy :
7438 fail-fast : false
7539 matrix :
7640 python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
77- steps :
78- - uses : actions/checkout@v4
79- - name : Set up Python ${{ matrix.python-version }}
80- uses : actions/setup-python@v5
81- with :
82- python-version : ${{ matrix.python-version }}
83- - uses : actions/checkout@v3
84- - run : python3 scripts/generate_meson.py ./src/dbzero/ core
85- - run : python3 scripts/generate_meson_tests.py tests/
86- - run : python3 scripts/generate_meson_dbzero.py dbzero/
87- - run : git config --global user.email "you@example.com"
88- - run : git config --global user.name "Your Name"
89- - run : rm .gitignore
90- - run : git add . && git commit -m "Update meson files"
91- - run : pip install build
92- - run : python3 -m build
93- env :
94- CIBW_SKIP : pp* cp36-* *-musllinux*
95- CIBW_ARCHS_MACOS : x86_64 arm64
96- CIBW_ARCHS_LINUX : x86_64 aarch64
97- CIBW_ARCHS_WINDOWS : ${{ matrix.architecture }}
98-
99- - uses : actions/upload-artifact@v4
100- with :
101- name : wheels-linux-${{ matrix.python-version }}
102- path : dist/*.whl
41+ uses : ./.github/workflows/build-linux-wheel.yml
42+ with :
43+ python-version : ${{ matrix.python-version }}
10344
10445 test-wheels-windows :
105- runs-on : windows-latest
10646 needs : wheels-windows
10747 strategy :
10848 fail-fast : false
@@ -123,54 +63,19 @@ jobs:
12363 - python-version : " 3.14"
12464 python-tag : " 314"
12565 architecture : " AMD64"
126- steps :
127- - uses : actions/checkout@v4
128- - name : Set up Python ${{ matrix.python-version }}
129- uses : actions/setup-python@v5
130- with :
131- python-version : ${{ matrix.python-version }}
132- - name : Download wheel artifact
133- uses : actions/download-artifact@v4
134- with :
135- name : wheels-windows-${{ matrix.python-version }}
136- path : ./wheels/
137- - name : Install wheel and dependencies
138- run : |
139- pip install pytest
140- pip install -r requirements.txt
141- Get-ChildItem -Path "./wheels/*.whl" | ForEach-Object { pip install $_.FullName }
142- shell : powershell
143- - name : Run tests
144- run : |
145- python -m pytest -m 'not integration_test' -m 'not stress_test' -c pytest.ini --capture=no -vv
66+ uses : ./.github/workflows/test-windows-wheel.yml
67+ with :
68+ python-version : ${{ matrix.python-version }}
14669
14770 test-wheels-linux :
148- runs-on : ubuntu-latest
14971 needs : wheels-linux
15072 strategy :
15173 fail-fast : false
15274 matrix :
15375 python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
154-
155- steps :
156- - uses : actions/checkout@v4
157- - name : Set up Python ${{ matrix.python-version }}
158- uses : actions/setup-python@v5
159- with :
160- python-version : ${{ matrix.python-version }}
161- - name : Download wheel artifact
162- uses : actions/download-artifact@v4
163- with :
164- name : wheels-linux-${{ matrix.python-version }}
165- path : ./wheels/
166- - name : Install wheel and dependencies
167- run : |
168- pip install pytest
169- pip install -r requirements.txt
170- pip install ./wheels/*.whl
171- - name : Run tests
172- run : |
173- python -m pytest -m 'not integration_test' -m 'not stress_test' -c pytest.ini --capture=no -vv
76+ uses : ./.github/workflows/test-linux-wheel.yml
77+ with :
78+ python-version : ${{ matrix.python-version }}
17479
17580 sdist :
17681 runs-on : ubuntu-latest
0 commit comments