forked from dmritrekker/trekker
-
Notifications
You must be signed in to change notification settings - Fork 0
141 lines (121 loc) · 3.88 KB
/
wheels.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
name: Build
on: [push, pull_request]
jobs:
build_wheels:
name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows 64-bit
- os: windows-latest
python: 38
platform_id: win_amd64
- os: windows-latest
python: 39
platform_id: win_amd64
- os: windows-latest
python: 310
platform_id: win_amd64
- os: windows-latest
python: 311
platform_id: win_amd64
# Linux 64-bit
- os: ubuntu-latest
python: 38
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 39
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 310
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 311
platform_id: manylinux_x86_64
# macOS on Intel 64-bit
- os: macos-latest
python: 38
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 39
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 310
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 311
arch: x86_64
platform_id: macosx_x86_64
# macOS on Apple M1 64-bit
- os: macos-latest
python: 38
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 39
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 310
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 311
arch: arm64
platform_id: macosx_arm64
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: actions/setup-python@v4
name: Install Python host for cibuildwheel
with:
python-version: '3.9'
# Visual Studio
- name: Set up MSVC x64
if: matrix.platform_id == 'win_amd64'
uses: ilammy/msvc-dev-cmd@v1
- name: Installing Nasm win_amd64
if: matrix.platform_id == 'win_amd64'
run: |
choco install --no-progress -y nasm
- name: Installing Nasm win32
if: matrix.platform_id == 'win32'
run: |
choco install --no-progress -y --x86 nasm
- name: Set Path win32
if: matrix.platform_id == 'win32'
shell: bash
run: |
echo "C:\Program Files (x86)\NASM" >> $GITHUB_PATH
- name: Set Path win_amd64
if: matrix.platform_id == 'win_amd64'
shell: bash
run: |
echo "C:\Program Files\NASM" >> $GITHUB_PATH
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.11.4
- name: Build wheels
# to supply options, put them in 'env', like:
env:
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_MANYLINUX_I686_IMAGE: manylinux2014
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_ARCHS_LINUX: auto aarch64
CIBW_ARCHS_MACOS: ${{ matrix.arch }}
CIBW_ENVIRONMENT_MACOS: >
CMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}
CIBW_TEST_COMMAND: python -c "import Trekker"
# Include latest Python beta
CIBW_PRERELEASE_PYTHONS: True
CIBW_BEFORE_BUILD: pip install cython wheel
run: python -m cibuildwheel --output-dir wheelhouse src/python/
- uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl