-
Notifications
You must be signed in to change notification settings - Fork 8
74 lines (63 loc) · 2.08 KB
/
build_wheels_linux.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
name: Build Wheels (Linux)
on:
workflow_dispatch:
inputs:
os:
description: OS
required: true
default: ubuntu-22.04
python:
description: Python
required: true
default: "3.11"
manylinux:
description: Manylinux
required: true
default: manylinux_2_28_x86_64
archs:
description: CIBW_ARCHS
required: true
default: auto
skip:
description: CIBW_SKIP
required: true
default: "cp27-* pp27-*"
jobs:
build_wheels:
name: Build compat:${{ github.event.inputs.manylinux }}, python:${{ github.event.inputs.python }}, os:${{ github.event.inputs.os }}
runs-on: ${{ github.event.inputs.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache pip
uses: actions/cache@v4
with:
key: cache--${{ github.event.inputs.os }}--${{ github.event.inputs.python }}--${{ hashFiles('./requirements-dev.txt') }}
path: ~/.cache/pip
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ github.event.inputs.python }}
- name: Update pip
run: python -m pip install -U pip wheel setuptools
- name: Install requirements
run: python -m pip install -Ur requirements-dev.txt
- name: Install cibuildwheel
run: python -m pip install -U 'cibuildwheel==2.*'
- name: Prepare for compilation
run: make prepare
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_FRONTEND: build
CIBW_SKIP: "${{ github.event.inputs.skip }}"
CIBW_MANYLINUX_X86_64_IMAGE: "${{ github.event.inputs.manylinux }}"
CIBW_MANYLINUX_I686_IMAGE: "${{ github.event.inputs.manylinux }}"
CIBW_ARCHS: ${{ github.event.inputs.archs }}
CIBW_PRERELEASE_PYTHONS: True
- name: Store artifacts
uses: actions/upload-artifact@v4
with:
name: Wheelhouse
path: ./wheelhouse/*.whl