File tree Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Expand file tree Collapse file tree 1 file changed +54
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : Unittests & Auto-publish
2
+
3
+ # Allow to trigger the workflow manually (e.g. when deps changes)
4
+ on : [push, workflow_dispatch]
5
+
6
+ jobs :
7
+ unittest-job :
8
+ strategy :
9
+ fail-fast : false
10
+ matrix :
11
+ python-version : ['3.10', '3.11', '3.12']
12
+ runs-on : ubuntu-latest
13
+ timeout-minutes : 30
14
+
15
+ concurrency :
16
+ group : ${{ github.workflow }}-${{ github.ref }}-${{ matrix.python-version }}
17
+ cancel-in-progress : true
18
+
19
+ steps :
20
+ - uses : actions/checkout@v3
21
+
22
+ # Install deps
23
+ - uses : actions/setup-python@v4
24
+ with :
25
+ python-version : ${{ matrix.python-version }}
26
+ - run : pip --version
27
+ - run : pip install -e .
28
+ - run : pip freeze
29
+
30
+ # Run tests
31
+ - name : Run core tests
32
+ run : python -m unittest
33
+
34
+ # Auto-publish when version is increased
35
+ publish-job :
36
+ # Only try to publish if:
37
+ # * Repo is self (prevents running from forks)
38
+ # * Branch is `main`
39
+ if : |
40
+ github.repository == 'google/etils'
41
+ && github.ref == 'refs/heads/main'
42
+ needs : unittest-job # Only publish after tests are successful
43
+ runs-on : ubuntu-latest
44
+ permissions :
45
+ contents : write
46
+ timeout-minutes : 30
47
+
48
+ steps :
49
+ # Publish the package (if local `__version__` > pip version)
50
+ - uses : etils-actions/pypi-auto-publish@v1
51
+ with :
52
+ pypi-token : ${{ secrets.PYPI_API_TOKEN }}
53
+ gh-token : ${{ secrets.GH_TOKEN }}
54
+ parse-changelog : true
You can’t perform that action at this time.
0 commit comments