1
+ name : Publish mal-gui to PyPI and TestPyPI
2
+
3
+ on : push
4
+
5
+ jobs :
6
+ build :
7
+ name : Build Python distribution
8
+ runs-on : ubuntu-latest
9
+
10
+ steps :
11
+ - uses : actions/checkout@v4
12
+ - name : Set up Python
13
+ uses : actions/setup-python@v5
14
+ with :
15
+ python-version : " 3.x"
16
+
17
+ - name : Install pypa/build
18
+ run : >-
19
+ python3 -m
20
+ pip install
21
+ build
22
+ --user
23
+
24
+ - name : Build a binary wheel and a source tarball
25
+ run : python3 -m build
26
+ - name : Store the distribution packages
27
+ uses : actions/upload-artifact@v4
28
+ with :
29
+ name : python-package-distributions
30
+ path : dist/
31
+
32
+ publish-to-pypi :
33
+ name : Publish Python distribution to PyPI
34
+ if : startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
35
+ needs :
36
+ - build
37
+ runs-on : ubuntu-latest
38
+ environment :
39
+ name : pypi
40
+ url : https://pypi.org/p/mal-gui
41
+ permissions :
42
+ id-token : write # IMPORTANT: mandatory for trusted publishing
43
+
44
+ steps :
45
+ - name : Download all the dists
46
+ uses : actions/download-artifact@v4
47
+ with :
48
+ name : python-package-distributions
49
+ path : dist/
50
+ - name : Publish distribution to PyPI
51
+ uses : pypa/gh-action-pypi-publish@release/v1
52
+
53
+ publish-to-testpypi :
54
+ name : Publish Python distribution to TestPyPI
55
+ if : startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
56
+ needs :
57
+ - build
58
+ runs-on : ubuntu-latest
59
+ environment :
60
+ name : testpypi
61
+ url : https://test.pypi.org/p/mal-gui
62
+ permissions :
63
+ id-token : write # IMPORTANT: mandatory for trusted publishing
64
+
65
+ steps :
66
+ - name : Download all the dists
67
+ uses : actions/download-artifact@v4
68
+ with :
69
+ name : python-package-distributions
70
+ path : dist/
71
+ - name : Publish distribution to TestPyPI
72
+ uses : pypa/gh-action-pypi-publish@release/v1
73
+ with :
74
+ repository-url : https://test.pypi.org/legacy/
0 commit comments