1+ name : build-github-actions
2+ on :
3+ push :
4+ tags :
5+ - ' v*.*.*'
6+
7+ jobs :
8+ macos :
9+ runs-on : macos-latest
10+ permissions :
11+ contents : write
12+ packages : write
13+ strategy :
14+ matrix :
15+ python : ["3.8", "3.9", "3.10", "3.11", "3.12"]
16+ target : ["x86_64", "universal2", "aarch64"]
17+ steps :
18+ - uses : actions/checkout@v3
19+ - uses : actions/setup-python@v4
20+ with :
21+ python-version : ${{ matrix.python }}
22+ - uses : dtolnay/rust-toolchain@stable
23+ - name : Build wheels - ${{ matrix.target }}
24+ uses : PyO3/maturin-action@v1
25+ with :
26+ target : ${{ matrix.target }}
27+ args : --release --out dist -m rust/Cargo.toml
28+ - name : Set env
29+ run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
30+ - name : Create Release
31+ uses : softprops/action-gh-release@v2
32+ with :
33+ draft : true
34+ prerelease : true
35+ name : pysmmaprando v${{ env.RELEASE_VERSION }}
36+ files : |
37+ ./dist/*.whl
38+ env :
39+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
40+
41+ windows :
42+ runs-on : windows-latest
43+ permissions :
44+ contents : write
45+ packages : write
46+ strategy :
47+ matrix :
48+ python : ["3.8", "3.9", "3.10", "3.11", "3.12"]
49+ target : [x64]
50+ steps :
51+ - uses : actions/checkout@v3
52+ - uses : actions/setup-python@v4
53+ with :
54+ python-version : ${{ matrix.python }}
55+ architecture : ${{ matrix.target }}
56+ - uses : dtolnay/rust-toolchain@stable
57+ - name : Build wheels
58+ uses : PyO3/maturin-action@v1
59+ with :
60+ target : ${{ matrix.target }}
61+ args : --release --out dist -m rust/Cargo.toml
62+ - name : Set env
63+ run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
64+ - name : Create Release
65+ uses : softprops/action-gh-release@v2
66+ with :
67+ draft : true
68+ prerelease : true
69+ name : pysmmaprando v${{ env.RELEASE_VERSION }}
70+ files : |
71+ ./dist/*.whl
72+ env :
73+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
74+
75+ linux :
76+ runs-on : ubuntu-latest
77+ permissions :
78+ contents : write
79+ packages : write
80+ strategy :
81+ matrix :
82+ python : ["3.8", "3.9", "3.10", "3.11", "3.12"]
83+ target : ["x86_64", "aarch64"]
84+ steps :
85+ - uses : actions/checkout@v3
86+ - name : Build x86_64 wheels
87+ uses : PyO3/maturin-action@v1
88+ if : ${{ matrix.target == 'x86_64' }}
89+ with :
90+ target : ${{ matrix.target }}
91+ manylinux : auto
92+ args : --release --out dist -m rust/Cargo.toml -i python${{ matrix.python }}
93+ - name : Build aarch64 wheels
94+ uses : PyO3/maturin-action@v1
95+ # One of our deps, "ring", needs a newer sysroot than what "manylinux: auto" provides.
96+ if : ${{ matrix.target == 'aarch64' }}
97+ with :
98+ target : ${{ matrix.target }}
99+ manylinux : 2_28
100+ args : --release --out dist -m rust/Cargo.toml -i python${{ matrix.python }}
101+ - name : Set env
102+ run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
103+ - name : Create Release
104+ uses : softprops/action-gh-release@v2
105+ with :
106+ draft : true
107+ prerelease : true
108+ name : pysmmaprando v${{ env.RELEASE_VERSION }}
109+ files : |
110+ ./dist/*.whl
111+ env :
112+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments