Skip to content

Commit 0df8889

Browse files
authored
Merge pull request #6 from Mng-dev-ai/Add-CD.yml
Add CD.yml
2 parents ad8f2b3 + ed69e7c commit 0df8889

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed

.github/workflows/CD.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: CD
2+
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
linux:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
python-version: ["3.7", "3.8", "3.9", "3.10"]
17+
target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
18+
steps:
19+
- uses: actions/checkout@v3
20+
- uses: actions/setup-python@v4
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
- name: Build wheels
24+
uses: PyO3/maturin-action@v1
25+
with:
26+
target: ${{ matrix.target }}
27+
args: --release --out dist --find-interpreter
28+
sccache: "true"
29+
manylinux: auto
30+
- name: Upload wheels
31+
uses: actions/upload-artifact@v3
32+
with:
33+
name: wheels-${{ matrix.python-version }}-${{ matrix.target }}
34+
path: dist
35+
36+
windows:
37+
runs-on: windows-latest
38+
strategy:
39+
matrix:
40+
python-version: ["3.7", "3.8", "3.9", "3.10"]
41+
target: [x64, x86]
42+
steps:
43+
- uses: actions/checkout@v3
44+
- uses: actions/setup-python@v4
45+
with:
46+
python-version: ${{ matrix.python-version }}
47+
architecture: ${{ matrix.target }}
48+
- name: Build wheels
49+
uses: PyO3/maturin-action@v1
50+
with:
51+
target: ${{ matrix.target }}
52+
args: --release --out dist --find-interpreter
53+
sccache: "true"
54+
- name: Upload wheels
55+
uses: actions/upload-artifact@v3
56+
with:
57+
name: wheels-${{ matrix.python-version }}-${{ matrix.target }}
58+
path: dist
59+
60+
macos:
61+
runs-on: macos-latest
62+
strategy:
63+
matrix:
64+
python-version: ["3.7", "3.8", "3.9", "3.10"]
65+
target: [x86_64, aarch64]
66+
steps:
67+
- uses: actions/checkout@v3
68+
- uses: actions/setup-python@v4
69+
with:
70+
python-version: "3.10"
71+
- name: Build wheels
72+
uses: PyO3/maturin-action@v1
73+
with:
74+
target: ${{ matrix.target }}
75+
args: --release --out dist --find-interpreter
76+
sccache: "true"
77+
- name: Upload wheels
78+
uses: actions/upload-artifact@v3
79+
with:
80+
name: wheels-${{ matrix.python-version }}-${{ matrix.target }}
81+
path: dist
82+
83+
sdist:
84+
runs-on: ubuntu-latest
85+
steps:
86+
- uses: actions/checkout@v3
87+
- name: Build sdist
88+
uses: PyO3/maturin-action@v1
89+
with:
90+
command: sdist
91+
args: --out dist
92+
- name: Upload sdist
93+
uses: actions/upload-artifact@v3
94+
with:
95+
name: wheels
96+
path: dist
97+
98+
release:
99+
name: Release
100+
runs-on: ubuntu-latest
101+
needs: [linux, windows, macos, sdist]
102+
steps:
103+
- uses: actions/download-artifact@v3
104+
with:
105+
name: wheels
106+
- name: Publish to PyPI
107+
uses: PyO3/maturin-action@v1
108+
env:
109+
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
110+
with:
111+
command: upload
112+
args: --skip-existing *

0 commit comments

Comments
 (0)