26
26
defaults :
27
27
run :
28
28
shell : bash
29
+
29
30
strategy :
30
31
fail-fast : true
31
32
@@ -37,85 +38,32 @@ jobs:
37
38
with :
38
39
python-version : 3.8
39
40
40
- - name : Install requirements and prepare index
41
- run : |
42
- ./configure --dev
43
- ./scancode --reindex-licenses
44
-
45
- - name : Build main wheel
46
- run : |
47
- venv/bin/python setup.py --quiet bdist_wheel
48
- venv/bin/twine check dist/*
41
+ - name : Install requirements then build main and mini wheel and sdist
42
+ run : etc/release/scancode-create-pypi-dist.sh
49
43
50
44
- name : Collect built main wheel
51
45
uses : actions/upload-artifact@v3
52
46
with :
53
47
name : main_wheel
54
- path : dist/*
55
-
56
- - name : Build main sdist
57
- run : |
58
- rm -rf dist
59
- venv/bin/python setup.py --quiet sdist
60
- venv/bin/twine check dist/*
48
+ path : dist/scancode_toolkit-3*.whl
61
49
62
50
- name : Collect built main sdist
63
51
uses : actions/upload-artifact@v3
64
52
with :
65
53
name : main_sdist
66
- path : dist/*
67
-
68
-
69
- build_scancode_for_pypi_mini :
70
- name : Build PyPI archives mini
71
- runs-on : ubuntu-20.04
72
-
73
- defaults :
74
- run :
75
- shell : bash
76
- strategy :
77
- fail-fast : true
78
-
79
- steps :
80
- - uses : actions/checkout@v2
81
-
82
- - name : Set up Python
83
- uses : actions/setup-python@v1
84
- with :
85
- python-version : 3.8
86
-
87
- - name : Install requirements and prepare index
88
- run : |
89
- ./configure --dev
90
- ./scancode --reindex-licenses
91
-
92
- - name : Build mini wheel
93
- run : |
94
- rm -rf build dist
95
- rm -rf .eggs src/scancode_toolkit.egg-info src/scancode_toolkit_mini.egg-info
96
- cp setup-mini.cfg setup.cfg
97
- venv/bin/python setup.py --quiet bdist_wheel
98
- venv/bin/twine check dist/*
54
+ path : dist/scancode-toolkit-3*.tar.gz
99
55
100
56
- name : Collect built mini wheel
101
57
uses : actions/upload-artifact@v3
102
58
with :
103
59
name : mini_wheel
104
- path : dist/*
105
-
106
- - name : Build mini sdist
107
- run : |
108
- rm -rf build dist
109
- rm -rf .eggs src/scancode_toolkit.egg-info src/scancode_toolkit_mini.egg-info
110
- cp setup-mini.cfg setup.cfg
111
- venv/bin/python setup.py --quiet sdist
112
- venv/bin/twine check dist/*
60
+ path : dist/scancode_toolkit_mini-3*.whl
113
61
114
62
- name : Collect built mini sdist
115
63
uses : actions/upload-artifact@v3
116
64
with :
117
65
name : mini_sdist
118
- path : dist/*
66
+ path : dist/scancode-toolkit-mini*.tar.gz
119
67
120
68
121
69
build_scancode_for_release_linux :
@@ -145,58 +93,16 @@ jobs:
145
93
name : main_wheel
146
94
path : dist
147
95
148
- - name : Install release requirements
149
- run : |
150
- ./configure --rel
151
-
152
96
- name : Build linux app archive
153
97
run : |
154
- operating_system=linux
155
- python_dot_version=3.8
156
- python_version=38
157
- python_exe="python$python_dot_version"
158
- release_dir=scancode-toolkit-$(git describe --tags)
159
- rm -rf $release_dir
160
- mkdir -p $release_dir
161
- echo -n "$python_exe" > $release_dir/PYTHON_EXECUTABLE
162
- git describe --tags > $release_dir/SCANCODE_VERSION
163
- thirdparty_dir=$release_dir/thirdparty
164
- mkdir -p $thirdparty_dir
165
- venv/bin/python etc/scripts/fetch_thirdparty.py \
166
- --requirements=requirements-linux.txt \
167
- --requirements=requirements.txt \
168
- --dest=$thirdparty_dir \
169
- --operating-system=$operating_system \
170
- --python-version=$python_version \
171
- --wheels --use-cached-index
172
- venv/bin/python etc/scripts/fetch_thirdparty.py \
173
- --requirements=requirements-native.txt \
174
- --requirements=requirements-linux.txt \
175
- --wheel-only packagedcode-msitools \
176
- --wheel-only rpm-inspector-rpm \
177
- --wheel-only extractcode-7z \
178
- --wheel-only extractcode-libarchive \
179
- --wheel-only typecode-libmagic \
180
- --dest=$thirdparty_dir \
181
- --sdists --use-cached-index
182
- mkdir -p $release_dir/etc
183
- cp -r etc/thirdparty $release_dir/etc
184
- cp -r \
185
- dist/scancode_*.whl \
186
- scancode extractcode configure \
187
- *.rst \
188
- samples \
189
- *NOTICE *LICENSE *ABOUT \
190
- $release_dir
191
- tarball=scancode-toolkit-$(git describe --tags)_py$python_dot_version-$operating_system.tar.gz
192
- tar -cvzf dist/$tarball $release_dir
193
- rm dist/scancode_*.whl
98
+ ./configure --rel
99
+ etc/release/scancode-create-release-app-linux.sh
194
100
195
101
- name : Collect built linux app
196
102
uses : actions/upload-artifact@v3
197
103
with :
198
104
name : linux_app
199
- path : dist /*
105
+ path : release /*
200
106
201
107
202
108
build_scancode_for_release_macos :
@@ -226,57 +132,16 @@ jobs:
226
132
name : main_wheel
227
133
path : dist
228
134
229
- - name : Install release requirements
230
- run : |
231
- ./configure --rel
232
-
233
135
- name : Build mac app archive
234
136
run : |
235
- operating_system=macos
236
- python_dot_version=3.8
237
- python_version=38
238
- python_exe="python3"
239
- release_dir=scancode-toolkit-$(git describe --tags)
240
- rm -rf $release_dir
241
- mkdir -p $release_dir
242
- echo -n "$python_exe" > $release_dir/PYTHON_EXECUTABLE
243
- git describe --tags > $release_dir/SCANCODE_VERSION
244
- thirdparty_dir=$release_dir/thirdparty
245
- mkdir -p $thirdparty_dir
246
- venv/bin/python etc/scripts/fetch_thirdparty.py \
247
- --requirements=requirements.txt \
248
- --dest $thirdparty_dir \
249
- --operating-system=$operating_system \
250
- --python-version=$python_version \
251
- --wheels --use-cached-index
252
- venv/bin/python etc/scripts/fetch_thirdparty.py \
253
- --requirements=requirements-native.txt \
254
- --wheel-only extractcode \
255
- --wheel-only extractcode-7z \
256
- --wheel-only extractcode-libarchive \
257
- --wheel-only typecode-libmagic \
258
- --wheel-only packagedcode-msitools \
259
- --wheel-only rpm-inspector-rpm \
260
- --dest $thirdparty_dir \
261
- --sdists --use-cached-index
262
- mkdir -p $release_dir/etc
263
- cp -r etc/thirdparty $release_dir/etc
264
- cp -r \
265
- dist/scancode_*.whl \
266
- scancode extractcode configure \
267
- *.rst \
268
- samples \
269
- *NOTICE *LICENSE *ABOUT \
270
- $release_dir
271
- tarball=scancode-toolkit-$(git describe --tags)_py$python_dot_version-$operating_system.tar.gz
272
- tar -cvzf dist/$tarball $release_dir
273
- rm dist/scancode_*.whl
137
+ ./configure --rel
138
+ etc/release/scancode-create-release-app-macos.sh
274
139
275
140
- name : Collect built mac app
276
141
uses : actions/upload-artifact@v3
277
142
with :
278
143
name : macos_app
279
- path : dist /*
144
+ path : release /*
280
145
281
146
282
147
build_scancode_for_release_windows :
@@ -305,57 +170,16 @@ jobs:
305
170
name : main_wheel
306
171
path : dist
307
172
308
- - name : Install release requirements
309
- run : |
310
- ./configure --rel
311
-
312
173
- name : Build windows app archive
313
174
run : |
314
- operating_system=windows
315
- python_dot_version=3.8
316
- python_version=38
317
- python_exe="py -$python_dot_version"
318
- release_dir=scancode-toolkit-$(git describe --tags)
319
- rm -rf $release_dir
320
- mkdir -p $release_dir
321
- echo -n "$python_exe" > $release_dir/PYTHON_EXECUTABLE
322
- git describe --tags > $release_dir/SCANCODE_VERSION
323
- thirdparty_dir=$release_dir/thirdparty
324
- mkdir -p $thirdparty_dir
325
- venv/bin/python etc/scripts/fetch_thirdparty.py \
326
- --requirements=requirements.txt \
327
- --dest $thirdparty_dir \
328
- --operating-system=$operating_system \
329
- --python-version=$python_version \
330
- --wheels --use-cached-index
331
- venv/bin/python etc/scripts/fetch_thirdparty.py \
332
- --requirements=requirements-native.txt \
333
- --wheel-only extractcode \
334
- --wheel-only extractcode-7z \
335
- --wheel-only extractcode-libarchive \
336
- --wheel-only typecode-libmagic \
337
- --wheel-only packagedcode-msitools \
338
- --wheel-only rpm-inspector-rpm \
339
- --dest $thirdparty_dir \
340
- --sdists --use-cached-index
341
- cp dist/scancode_*.whl $release_dir
342
- mkdir -p $release_dir/etc
343
- cp -r etc/thirdparty $release_dir/etc
344
- cp -r \
345
- scancode.bat extractcode.bat configure.bat \
346
- *.rst \
347
- samples \
348
- *NOTICE *LICENSE *ABOUT \
349
- $release_dir
350
- zipball=scancode-toolkit-$(git describe --tags)_py$python_dot_version-$operating_system.zip
351
- zip -r dist/$zipball $release_dir
352
- rm dist/scancode_*.whl
175
+ ./configure --rel
176
+ etc/release/scancode-create-release-app-windows.sh
353
177
354
178
- name : Collect built windows app
355
179
uses : actions/upload-artifact@v3
356
180
with :
357
181
name : windows_app
358
- path : dist /*
182
+ path : release /*
359
183
360
184
361
185
build_scancode_for_release_source :
@@ -384,49 +208,16 @@ jobs:
384
208
name : main_sdist
385
209
path : dist
386
210
387
- - name : Install release requirements
388
- run : |
389
- ./configure --rel
390
-
391
211
- name : Build source archive with deps
392
212
run : |
393
- release_dir=scancode-toolkit-$(git describe --tags)
394
- rm -rf $release_dir
395
- mkdir -p $release_dir
396
- git describe --tags > $release_dir/SCANCODE_VERSION
397
- thirdparty_dir=$release_dir/thirdparty
398
- mkdir -p $thirdparty_dir
399
- venv/bin/python etc/scripts/fetch_thirdparty.py \
400
- --requirements=requirements.txt \
401
- --requirements=requirements-native.txt \
402
- --requirements=requirements-linux.txt \
403
- --wheel-only extractcode \
404
- --wheel-only extractcode-7z \
405
- --wheel-only extractcode-libarchive \
406
- --wheel-only typecode-libmagic \
407
- --wheel-only packagedcode-msitools \
408
- --wheel-only rpm-inspector-rpm \
409
- --dest $thirdparty_dir \
410
- --sdists --use-cached-index
411
- mkdir -p $release_dir/etc
412
- cp -r etc/thirdparty $release_dir/etc
413
- mv dist/*.tar.gz $release_dir
414
- cp -r \
415
- scancode.bat scancode extractcode extractcode.bat configure configure.bat \
416
- *.rst \
417
- docs \
418
- samples \
419
- *NOTICE *LICENSE *ABOUT \
420
- $release_dir
421
-
422
- tarball=scancode-toolkit-$(git describe --tags)_sources.tar.gz
423
- tar -cvzf dist/$tarball $release_dir
213
+ ./configure --rel
214
+ etc/release/scancode-create-release-app-sources.sh
424
215
425
216
- name : Collect built source app tarball
426
217
uses : actions/upload-artifact@v3
427
218
with :
428
219
name : source_app
429
- path : dist /*
220
+ path : release /*
430
221
431
222
432
223
smoke_test_install_and_run_pypi_dists_posix :
@@ -684,7 +475,7 @@ jobs:
684
475
publish_to_pypi :
685
476
name : Publish to PyPI
686
477
needs :
687
- - build_scancode_for_pypi_mini
478
+ - build_scancode_for_pypi
688
479
- smoke_test_install_and_run_pypi_dists_windows
689
480
- smoke_test_install_and_run_pypi_dists_posix
690
481
- publish_to_gh_release
0 commit comments