-
Notifications
You must be signed in to change notification settings - Fork 34
129 lines (128 loc) · 3.87 KB
/
Copy pathwheels.yml
File metadata and controls
129 lines (128 loc) · 3.87 KB
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
name: Build Wheels
on:
push:
branches: [main]
pull_request:
branches: [main, development]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: 3.14
- name: Build Wheels
uses: PyO3/maturin-action@v1
with:
command: build
args: >
--manifest-path py-feos/Cargo.toml
--out dist
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: wheel-linux-x86_64
path: dist
macos-x86_64:
runs-on: macos-14
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: 3.14
architecture: x64
- name: Build wheels - x86_64
uses: PyO3/maturin-action@v1
with:
target: x86_64
args: >
--manifest-path py-feos/Cargo.toml
--out dist
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: wheel-macos-x86_64
path: dist
macos-aarch64:
runs-on: macos-14
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: 3.14
architecture: arm64
- name: Build wheels - aarch64
uses: PyO3/maturin-action@v1
with:
target: aarch64
args: >
--manifest-path py-feos/Cargo.toml
--out dist
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: wheel-aarch64-apple-darwin
path: dist
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: 3.14
architecture: x64
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: x64
args: >
--manifest-path py-feos/Cargo.toml
--out dist
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: wheel-windows-x86_64
path: dist
emscripten:
# Pyodide 314.x uses Python 3.14, Emscripten 5.0.3, and Rust 1.93.0.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: 3.14
- name: Install pyodide-build
run: pip install "pyodide-build>=0.35,<0.36"
- name: Get Pyodide configuration
id: pyodide-config
run: |
pyodide xbuildenv install
echo "rust-toolchain=$(pyodide config get rust_toolchain)" >> "$GITHUB_OUTPUT"
echo "emscripten-version=$(pyodide config get emscripten_version)" >> "$GITHUB_OUTPUT"
echo "pyodide-abi-version=$(pyodide config get pyodide_abi_version)" >> "$GITHUB_OUTPUT"
echo "rustflags=$(pyodide config get rustflags)" >> "$GITHUB_OUTPUT"
- uses: emscripten-core/setup-emsdk@v16
with:
version: ${{ steps.pyodide-config.outputs.emscripten-version }}
- name: Build wheel
uses: PyO3/maturin-action@v1
env:
CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUSTFLAGS: ${{ steps.pyodide-config.outputs.rustflags }}
MATURIN_PYEMSCRIPTEN_PLATFORM_VERSION: ${{ steps.pyodide-config.outputs.pyodide-abi-version }}
with:
target: wasm32-unknown-emscripten
rust-toolchain: ${{ steps.pyodide-config.outputs.rust-toolchain }}
args: >
--release
--manifest-path py-feos/Cargo.toml
--out dist
--no-default-features
--features emscripten_wheel
-i 3.14
- name: Upload wheels
uses: actions/upload-artifact@v7
with:
name: wheel-emscripten-wasm32
path: dist
if-no-files-found: error