forked from wannaphong/ttsmms
-
Notifications
You must be signed in to change notification settings - Fork 1
160 lines (128 loc) · 4.13 KB
/
build.yaml
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: Build and Publish Wheels
on:
push:
tags:
- 'v*.*.*'
jobs:
build_wheels:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.10', '3.11']
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install wheel
- name: Build wheel for the library
run: python setup.py bdist_wheel -d wheelhouse
- name: List wheelhouse contents before uploading
run: ls -R wheelhouse
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheelhouse-${{ matrix.os }}-${{ matrix.python-version }}
path: wheelhouse/
retention-days: 1 # Optional: Specify the number of days to retain the artifact
if-no-files-found: error
test_wheels:
runs-on: ubuntu-latest
needs: build_wheels
strategy:
matrix:
python-version: ['3.10', '3.11']
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: List available artifacts
run: |
echo "Available artifacts:"
ls -1 /home/runner/work/ttsmms/ttsmms
- name: Download wheels for linux
uses: actions/download-artifact@v3
with:
name: wheelhouse-ubuntu-latest-${{ matrix.python-version }}
path: wheelhouse
- name: Download wheels for windows
uses: actions/download-artifact@v3
with:
name: wheelhouse-windows-latest-${{ matrix.python-version }}
path: wheelhouse
- name: Download wheels for macos
uses: actions/download-artifact@v3
with:
name: wheelhouse-macos-latest-${{ matrix.python-version }}
path: wheelhouse
- name: List contents of wheelhouse after download
run: ls -R wheelhouse
- name: Install test dependencies
run: |
pip install pytest
pip install wheelhouse/*.whl
- name: List files in the working directory
run: ls -R
- name: Run tests
run: pytest tests/
publish_wheels:
runs-on: ubuntu-latest
needs: test_wheels
if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Create dist directory
run: mkdir -p dist
- name: List available artifacts
run: |
echo "Available artifacts:"
ls -1 /home/runner/work/ttsmms/ttsmms
- name: Download wheels for linux
uses: actions/download-artifact@v3
with:
name: wheelhouse-ubuntu-latest-3.10
path: dist
- name: Download wheels for windows
uses: actions/download-artifact@v3
with:
name: wheelhouse-windows-latest-3.10
path: dist
- name: Download wheels for macos
uses: actions/download-artifact@v3
with:
name: wheelhouse-macos-latest-3.10
path: dist
- name: Download wheels for linux
uses: actions/download-artifact@v3
with:
name: wheelhouse-ubuntu-latest-3.11
path: dist
- name: Download wheels for windows
uses: actions/download-artifact@v3
with:
name: wheelhouse-windows-latest-3.11
path: dist
- name: Download wheels for macos
uses: actions/download-artifact@v3
with:
name: wheelhouse-macos-latest-3.11
path: dist
- name: List contents of dist after download
run: ls -R dist
- name: Publish package to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/