-
-
Notifications
You must be signed in to change notification settings - Fork 64
145 lines (117 loc) · 3.77 KB
/
packages.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
---
name: Packages
on:
- workflow_dispatch
jobs:
build-sdist:
name: Build sdist package
runs-on: ubuntu-20.04
steps:
- name: Checkout repos
uses: actions/checkout@v3
- name: Build sdist
run: python setup.py sdist
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./dist/*
build-wheel:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, windows-latest, macos-latest]
pyver: [cp37, cp38, cp39, cp310, cp311, cp312]
steps:
- name: Checkout repos
uses: actions/checkout@v3
- name: Build wheels
uses: pypa/cibuildwheel@v2.16.1
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ARCHS_LINUX: auto
CIBW_ARCHS_MACOS: auto universal2
CIBW_ARCHS_WINDOWS: auto
CIBW_TEST_EXTRAS: test
CIBW_TEST_COMMAND: pytest --color=yes -m 'not embedded' {project}/tests
# Passing a space in a param is a b*tch on windows.
# However embedded tests are skipped anyway there.
CIBW_TEST_COMMAND_WINDOWS: pytest --color=yes {project}/tests
# musllinux tests fail with some pid mixup
# cross-build macos images can't be tested on this runner.
CIBW_TEST_SKIP: >-
*-musllinux_*
*-macosx_universal2:arm64
pp*-macosx_*
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
build-cross-wheel:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
pyver: [cp37, cp38, cp39, cp310, cp311, cp312]
arch: [aarch64, ppc64le]
steps:
- name: Checkout repos
uses: actions/checkout@v3
- name: Set up QEMU for multi-arch build
uses: docker/setup-qemu-action@v2
- name: Build wheels
uses: pypa/cibuildwheel@v2.16.1
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ARCHS: ${{matrix.arch}}
# Tests mostly fail because of some confusion with the python interpreter
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
build-wheel-pypy:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, windows-latest, macos-latest]
steps:
- name: Checkout repos
uses: actions/checkout@v3
- name: Build wheels
uses: pypa/cibuildwheel@v2.16.1
env:
CIBW_BUILD: pp*
CIBW_TEST_EXTRAS: test
CIBW_TEST_COMMAND: pytest --color=yes -m 'not embedded' {project}/tests
# Passing a space in a param is a b*tch on windows.
# However embedded tests are skipped anyway there.
CIBW_TEST_COMMAND_WINDOWS: pytest --color=yes {project}/tests
# musllinux tests fail with some pid mixup
# cross-build macos images can't be tested on this runner.
CIBW_TEST_SKIP: >-
*-musllinux_*
*-macosx_universal2:arm64
pp*-macosx_*
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
build-cross-wheel-pypy:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
steps:
- name: Checkout repos
uses: actions/checkout@v3
- name: Set up QEMU for multi-arch build
uses: docker/setup-qemu-action@v2
- name: Build wheels
uses: pypa/cibuildwheel@v2.16.1
env:
CIBW_BUILD: pp*
# Tests mostly fail because of some confusion with the python interpreter
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl