1212 test :
1313 runs-on : ubuntu-latest
1414 steps :
15- - uses : actions/checkout@v3
15+ - uses : actions/checkout@v4
1616 - name : Set up Python 3.11
1717 uses : actions/setup-python@v3
1818 with :
@@ -28,11 +28,48 @@ jobs:
2828 mkdir -p config
2929 pytest
3030
31+ webui-test :
32+ runs-on : ubuntu-latest
33+ steps :
34+ - name : Checkout
35+ uses : actions/checkout@v4
36+
37+ - name : Install Node.js
38+ uses : actions/setup-node@v4
39+ with :
40+ node-version : 20
41+
42+ - uses : pnpm/action-setup@v4
43+ name : Install pnpm
44+ with :
45+ version : 9
46+ run_install : false
47+
48+ - name : Get pnpm store directory
49+ shell : bash
50+ run : |
51+ echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
52+
53+ - uses : actions/cache@v4
54+ name : Setup pnpm cache
55+ with :
56+ path : ${{ env.STORE_PATH }}
57+ key : ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
58+ restore-keys : |
59+ ${{ runner.os }}-pnpm-store-
60+
61+ - name : Install dependencies
62+ run : cd webui && pnpm install
63+
64+ - name : build test
65+ run : |
66+ cd webui && pnpm test:build
67+
3168 version-info :
3269 runs-on : ubuntu-latest
3370 steps :
3471 - name : Checkout
35- uses : actions/checkout@v3
72+ uses : actions/checkout@v4
3673 - name : If release
3774 id : release
3875 run : |
@@ -79,25 +116,35 @@ jobs:
79116
80117 build-webui :
81118 runs-on : ubuntu-latest
82- needs : [ test, version-info ]
119+ needs : [test, webui- test, version-info]
83120 if : ${{ needs.version-info.outputs.release == 1 || needs.version-info.outputs.dev == 1 }}
84- strategy :
85- matrix :
86- node-version : [ 18 ]
87121 steps :
88122 - name : Checkout
89- uses : actions/checkout@v3
123+ uses : actions/checkout@v4
124+
125+ - name : Install Node.js
126+ uses : actions/setup-node@v4
127+ with :
128+ node-version : 20
90129
91- - uses : pnpm/action-setup@v2
130+ - uses : pnpm/action-setup@v4
131+ name : Install pnpm
92132 with :
93- version : 8
133+ version : 9
134+ run_install : false
135+
136+ - name : Get pnpm store directory
137+ shell : bash
138+ run : |
139+ echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
94140
95- - name : Use Node.js ${{ matrix.node-version }}
96- uses : actions/setup-node@v3
141+ - uses : actions/cache@v4
142+ name : Setup pnpm cache
97143 with :
98- node-version : ${{ matrix.node-version }}
99- cache : ' pnpm'
100- cache-dependency-path : webui/pnpm-lock.yaml
144+ path : ${{ env.STORE_PATH }}
145+ key : ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
146+ restore-keys : |
147+ ${{ runner.os }}-pnpm-store-
101148
102149 - name : Install dependencies
103150 run : cd webui && pnpm install
@@ -114,10 +161,10 @@ jobs:
114161
115162 build-docker :
116163 runs-on : ubuntu-latest
117- needs : [ build-webui, version-info ]
164+ needs : [build-webui, version-info]
118165 steps :
119166 - name : Checkout
120- uses : actions/checkout@v3
167+ uses : actions/checkout@v4
121168
122169 - name : Create Version info via tag
123170 working-directory : ./backend/src
@@ -217,14 +264,14 @@ jobs:
217264
218265 release :
219266 runs-on : ubuntu-latest
220- needs : [ build-docker, version-info ]
267+ needs : [build-docker, version-info]
221268 if : ${{ needs.version-info.outputs.release == 1 }}
222269 outputs :
223270 url : ${{ steps.release.outputs.url }}
224271 version : ${{ needs.version-info.outputs.version }}
225272 steps :
226273 - name : Checkout code
227- uses : actions/checkout@v3
274+ uses : actions/checkout@v4
228275
229276 - name : Download artifact webui
230277 uses : actions/download-artifact@v3
@@ -247,11 +294,10 @@ jobs:
247294 run : |
248295 echo ${{ needs.version-info.outputs.version }}
249296 echo "VERSION='${{ needs.version-info.outputs.version }}'" >> module/__version__.py
250-
297+
251298 - name : Copy requirements.txt
252299 working-directory : ./backend
253- run :
254- cp requirements.txt src/requirements.txt
300+ run : cp requirements.txt src/requirements.txt
255301
256302 - name : Zip app
257303 run : |
@@ -267,7 +313,7 @@ jobs:
267313 echo "version=🌟${{ needs.version-info.outputs.version }}" >> $GITHUB_OUTPUT
268314 echo "pre_release=false" >> $GITHUB_OUTPUT
269315 fi
270-
316+
271317 - name : Release
272318 id : release
273319 uses : softprops/action-gh-release@v1
@@ -283,10 +329,9 @@ jobs:
283329 env :
284330 GITHUB_TOKEN : ${{ secrets.ACCESS_TOKEN }}
285331
286-
287332 telegram :
288333 runs-on : ubuntu-latest
289- needs : [ release ]
334+ needs : [release]
290335 steps :
291336 - name : send telegram message on push
292337 uses : appleboy/telegram-action@master
0 commit comments