Skip to content

Commit 5dabb78

Browse files
committed
add nightly build
1 parent a1355c0 commit 5dabb78

File tree

8 files changed

+234
-8
lines changed

8 files changed

+234
-8
lines changed

.github/workflows/development.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ jobs:
2929
- name: Check out code
3030
uses: actions/checkout@v3
3131

32+
- name: Set up Node.js 22
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '22'
36+
3237
- name: Install dependencies
3338
run: npm ci
3439

@@ -59,6 +64,11 @@ jobs:
5964
- name: Check out code
6065
uses: actions/checkout@v3
6166

67+
- name: Set up Node.js 22
68+
uses: actions/setup-node@v4
69+
with:
70+
node-version: '22'
71+
6272
- name: Install dependencies
6373
run: npm ci
6474

@@ -89,6 +99,11 @@ jobs:
8999
- name: Check out code
90100
uses: actions/checkout@v3
91101

102+
- name: Set up Node.js 22
103+
uses: actions/setup-node@v4
104+
with:
105+
node-version: '22'
106+
92107
- name: Install dependencies
93108
run: npm ci
94109

@@ -119,6 +134,11 @@ jobs:
119134
- name: Check out code
120135
uses: actions/checkout@v3
121136

137+
- name: Set up Node.js 22
138+
uses: actions/setup-node@v4
139+
with:
140+
node-version: '22'
141+
122142
- name: Install dependencies
123143
run: npm ci
124144

@@ -149,6 +169,11 @@ jobs:
149169
- name: Check out code
150170
uses: actions/checkout@v3
151171

172+
- name: Set up Node.js 22
173+
uses: actions/setup-node@v4
174+
with:
175+
node-version: '22'
176+
152177
- name: Install dependencies
153178
run: npm ci
154179

.github/workflows/main.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ jobs:
3030
- name: Check out code
3131
uses: actions/checkout@v3
3232

33+
- name: Set up Node.js 22
34+
uses: actions/setup-node@v4
35+
with:
36+
node-version: '22'
37+
3338
- name: Install dependencies
3439
run: npm ci
3540

@@ -60,6 +65,11 @@ jobs:
6065
- name: Check out code
6166
uses: actions/checkout@v3
6267

68+
- name: Set up Node.js 22
69+
uses: actions/setup-node@v4
70+
with:
71+
node-version: '22'
72+
6373
- name: Install dependencies
6474
run: npm ci
6575

@@ -90,6 +100,11 @@ jobs:
90100
- name: Check out code
91101
uses: actions/checkout@v3
92102

103+
- name: Set up Node.js 22
104+
uses: actions/setup-node@v4
105+
with:
106+
node-version: '22'
107+
93108
- name: Install dependencies
94109
run: npm ci
95110

@@ -120,6 +135,11 @@ jobs:
120135
- name: Check out code
121136
uses: actions/checkout@v3
122137

138+
- name: Set up Node.js 22
139+
uses: actions/setup-node@v4
140+
with:
141+
node-version: '22'
142+
123143
- name: Install dependencies
124144
run: npm ci
125145

@@ -150,6 +170,11 @@ jobs:
150170
- name: Check out code
151171
uses: actions/checkout@v3
152172

173+
- name: Set up Node.js 22
174+
uses: actions/setup-node@v4
175+
with:
176+
node-version: '22'
177+
153178
- name: Install dependencies
154179
run: npm ci
155180

@@ -165,6 +190,11 @@ jobs:
165190
- name: Check out code
166191
uses: actions/checkout@v3
167192

193+
- name: Set up Node.js 22
194+
uses: actions/setup-node@v4
195+
with:
196+
node-version: '22'
197+
168198
- name: Install dependencies
169199
run: npm ci
170200

.github/workflows/nightly.yml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,25 @@ jobs:
3838
- name: Run unit tests
3939
run: tox -e test-unit
4040

41+
ui-unit-tests:
42+
permissions:
43+
contents: "read"
44+
runs-on: ubuntu-latest
45+
steps:
46+
- name: Check out code
47+
uses: actions/checkout@v3
48+
49+
- name: Set up Node.js 22
50+
uses: actions/setup-node@v4
51+
with:
52+
node-version: '22'
53+
54+
- name: Install dependencies
55+
run: npm ci
56+
57+
- name: Run unit tests
58+
run: npm run test:unit
59+
4160
integration-tests:
4261
runs-on: ubuntu-latest
4362
strategy:
@@ -54,6 +73,25 @@ jobs:
5473
- name: Run integration tests
5574
run: tox -e test-integration -- -m "smoke or sanity"
5675

76+
ui-integration-tests:
77+
permissions:
78+
contents: "read"
79+
runs-on: ubuntu-latest
80+
steps:
81+
- name: Check out code
82+
uses: actions/checkout@v3
83+
84+
- name: Set up Node.js 22
85+
uses: actions/setup-node@v4
86+
with:
87+
node-version: '22'
88+
89+
- name: Install dependencies
90+
run: npm ci
91+
92+
- name: Run integration tests
93+
run: npm run test:integration
94+
5795
e2e-tests:
5896
runs-on: ubuntu-latest
5997
strategy:
@@ -70,6 +108,35 @@ jobs:
70108
- name: Run integration tests
71109
run: tox -e test-e2e -- -m smoke
72110

111+
ui-e2e-tests:
112+
permissions:
113+
contents: "read"
114+
id-token: "write"
115+
runs-on: ubuntu-latest
116+
steps:
117+
- name: Check out code
118+
uses: actions/checkout@v3
119+
120+
- name: Set up Node.js 22
121+
uses: actions/setup-node@v4
122+
with:
123+
node-version: '22'
124+
125+
- name: Install dependencies
126+
run: npm ci
127+
128+
- name: Generate Build
129+
run: |
130+
npm run build
131+
132+
- name: Start the Next.js app
133+
run: |
134+
npx serve@latest src/ui/out &
135+
npx wait-on http://localhost:3000 # Wait until the app is ready
136+
137+
- name: Run Cypress tests
138+
run: npm run test:e2e --headless
139+
73140
build-and-publish:
74141
needs: [unit-tests, integration-tests, e2e-tests]
75142
runs-on: ubuntu-latest
@@ -123,3 +190,57 @@ jobs:
123190
- name: Log artifact location
124191
run: |
125192
echo "Artifacts uploaded to: ${{ steps.artifact-upload.outputs.artifact-url }}"
193+
194+
publish-ui-build:
195+
needs: [ui-unit-tests, ui-integration-tests, ui-e2e-tests]
196+
permissions:
197+
contents: write
198+
pull-requests: write
199+
issues: write
200+
runs-on: ubuntu-latest
201+
steps:
202+
- name: Check out code
203+
uses: actions/checkout@v3
204+
205+
- name: Set up Node.js 22
206+
uses: actions/setup-node@v4
207+
with:
208+
node-version: '22'
209+
210+
- name: Install dependencies
211+
run: npm ci
212+
213+
- name: "Set GIT_TAG"
214+
id: vars
215+
run: |
216+
if [ -z "${{ github.ref_name }}" ]; then
217+
echo "TAG=latest" >> $GITHUB_ENV
218+
else
219+
echo "TAG=${{ github.ref_name }}" >> $GITHUB_ENV
220+
fi
221+
222+
- name: Build app to root
223+
id: build
224+
run: |
225+
# Export vars to ensure they are loaded before build
226+
export $(grep -v '^#' .env.staging | xargs)
227+
228+
# Set asset prefix and base path with git tag
229+
ASSET_PREFIX=https://neuralmagic.github.io/guidellm/ui/nightly
230+
BASE_PATH=/ui/nightly
231+
GIT_SHA=${{ github.sha }}
232+
export ASSET_PREFIX=${ASSET_PREFIX}
233+
export BASE_PATH=${BASE_PATH}
234+
export GIT_SHA=${GIT_SHA}
235+
npm run build
236+
237+
- name: Update latest build in GitHub Pages
238+
uses: peaceiris/actions-gh-pages@v3
239+
with:
240+
github_token: ${{ secrets.GITHUB_TOKEN }}
241+
publish_dir: ./ui/out
242+
destination_dir: ui/nightly
243+
keep_files: false
244+
user_name: ${{ github.actor }}
245+
user_email: ${{ github.actor }}@users.noreply.github.com
246+
publish_branch: gh-pages

.github/workflows/release-candidate.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ jobs:
4646
- name: Check out code
4747
uses: actions/checkout@v3
4848

49+
- name: Set up Node.js 22
50+
uses: actions/setup-node@v4
51+
with:
52+
node-version: '22'
53+
4954
- name: Install dependencies
5055
run: npm ci
5156

@@ -76,6 +81,11 @@ jobs:
7681
- name: Check out code
7782
uses: actions/checkout@v3
7883

84+
- name: Set up Node.js 22
85+
uses: actions/setup-node@v4
86+
with:
87+
node-version: '22'
88+
7989
- name: Install dependencies
8090
run: npm ci
8191

@@ -107,6 +117,11 @@ jobs:
107117
- name: Check out code
108118
uses: actions/checkout@v3
109119

120+
- name: Set up Node.js 22
121+
uses: actions/setup-node@v4
122+
with:
123+
node-version: '22'
124+
110125
- name: Install dependencies
111126
run: npm ci
112127

@@ -177,6 +192,11 @@ jobs:
177192
- name: Check out code
178193
uses: actions/checkout@v3
179194

195+
- name: Set up Node.js 22
196+
uses: actions/setup-node@v4
197+
with:
198+
node-version: '22'
199+
180200
- name: Install dependencies
181201
run: npm ci
182202

@@ -226,6 +246,11 @@ jobs:
226246
- name: Check out code
227247
uses: actions/checkout@v3
228248

249+
- name: Set up Node.js 22
250+
uses: actions/setup-node@v4
251+
with:
252+
node-version: '22'
253+
229254
- name: Install dependencies
230255
run: npm ci
231256

@@ -242,7 +267,7 @@ jobs:
242267
id: build
243268
run: |
244269
# Export vars to ensure they are loaded before build
245-
export $(grep -v '^#' .env.development | xargs)
270+
export $(grep -v '^#' .env.staging | xargs)
246271
247272
# Set asset prefix and base path with git tag
248273
ASSET_PREFIX=https://neuralmagic.github.io/guidellm/release/latest

0 commit comments

Comments
 (0)