Skip to content

Commit 28123a3

Browse files
authored
ci : move most slim jobs to self-hosted runners (ggml-org#23619)
* ci : remove tag from build-self-hosted.yml * ci : slim -> self-hosted * ci : prevent heavy CPU jobs from running on fast runners * ci : prevent cmake pkg to run on dedicated fast runners * ci : try to bump 3.11 -> 3.13 * ci : move lint back to 3.11 * ci : back to 3.11 * ci : add comment about UI jobs * ci : move python requirements check to CPU runners this job is a bit slow for a dedicated "fast" runner * ci : add self-hosted ui workflow * ci : fix UI naming * tmp to check if arm64 fast is compatible with all jobs * revert last commit
1 parent 549b9d8 commit 28123a3

13 files changed

Lines changed: 140 additions & 74 deletions

.github/workflows/build-cmake-pkg.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,12 @@ on:
55

66
jobs:
77
linux:
8-
runs-on: ubuntu-slim
8+
runs-on: [self-hosted, Linux, CPU]
99
steps:
1010
- uses: actions/checkout@v6
1111
with:
1212
fetch-depth: 0
1313

14-
- name: Install dependencies
15-
run: |
16-
sudo apt update
17-
sudo apt install -y build-essential tcl cmake
18-
1914
- name: Build
2015
run: |
2116
PREFIX="$(pwd)"/inst

.github/workflows/build-self-hosted.yml

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -55,24 +55,7 @@ env:
5555
LLAMA_LOG_TIMESTAMPS: 1
5656

5757
jobs:
58-
determine-tag:
59-
name: Determine tag name
60-
runs-on: [self-hosted, fast]
61-
outputs:
62-
tag_name: ${{ steps.tag.outputs.name }}
63-
steps:
64-
- name: Clone
65-
uses: actions/checkout@v6
66-
with:
67-
fetch-depth: 0
68-
- name: Determine tag name
69-
id: tag
70-
uses: ./.github/actions/get-tag-name
71-
env:
72-
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
73-
7458
ggml-ci-nvidia-cuda:
75-
needs: determine-tag
7659
runs-on: [self-hosted, Linux, NVIDIA]
7760

7861
steps:
@@ -82,14 +65,11 @@ jobs:
8265

8366
- name: Test
8467
id: ggml-ci
85-
env:
86-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
8768
run: |
8869
nvidia-smi
8970
GG_BUILD_CUDA=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
9071
9172
ggml-ci-nvidia-vulkan-cm:
92-
needs: determine-tag
9373
runs-on: [self-hosted, Linux, NVIDIA]
9474

9575
steps:
@@ -99,14 +79,11 @@ jobs:
9979

10080
- name: Test
10181
id: ggml-ci
102-
env:
103-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
10482
run: |
10583
vulkaninfo --summary
10684
GG_BUILD_VULKAN=1 GGML_VK_DISABLE_COOPMAT2=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
10785
10886
ggml-ci-nvidia-vulkan-cm2:
109-
needs: determine-tag
11087
runs-on: [self-hosted, Linux, NVIDIA, COOPMAT2]
11188

11289
steps:
@@ -116,14 +93,11 @@ jobs:
11693

11794
- name: Test
11895
id: ggml-ci
119-
env:
120-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
12196
run: |
12297
vulkaninfo --summary
12398
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
12499
125100
ggml-ci-nvidia-webgpu:
126-
needs: determine-tag
127101
runs-on: [self-hosted, Linux, NVIDIA, X64]
128102

129103
steps:
@@ -154,7 +128,6 @@ jobs:
154128
155129
# TODO: provision AMX-compatible machine
156130
#ggml-ci-cpu-amx:
157-
# needs: determine-tag
158131
# runs-on: [self-hosted, Linux, CPU, AMX]
159132

160133
# steps:
@@ -169,7 +142,6 @@ jobs:
169142

170143
# TODO: provision AMD GPU machine
171144
# ggml-ci-amd-vulkan:
172-
# needs: determine-tag
173145
# runs-on: [self-hosted, Linux, AMD]
174146

175147
# steps:
@@ -185,7 +157,6 @@ jobs:
185157

186158
# TODO: provision AMD GPU machine
187159
# ggml-ci-amd-rocm:
188-
# needs: determine-tag
189160
# runs-on: [self-hosted, Linux, AMD]
190161

191162
# steps:
@@ -200,7 +171,6 @@ jobs:
200171
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
201172

202173
ggml-ci-mac-metal:
203-
needs: determine-tag
204174
runs-on: [self-hosted, macOS, ARM64]
205175

206176
steps:
@@ -210,13 +180,10 @@ jobs:
210180

211181
- name: Test
212182
id: ggml-ci
213-
env:
214-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
215183
run: |
216184
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
217185
218186
ggml-ci-mac-webgpu:
219-
needs: determine-tag
220187
runs-on: [self-hosted, macOS, ARM64]
221188

222189
steps:
@@ -239,14 +206,11 @@ jobs:
239206
240207
- name: Test
241208
id: ggml-ci
242-
env:
243-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
244209
run: |
245210
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
246211
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
247212
248213
ggml-ci-mac-vulkan:
249-
needs: determine-tag
250214
runs-on: [self-hosted, macOS, ARM64]
251215

252216
steps:
@@ -256,14 +220,11 @@ jobs:
256220

257221
- name: Test
258222
id: ggml-ci
259-
env:
260-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
261223
run: |
262224
vulkaninfo --summary
263225
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
264226
265227
ggml-ci-linux-intel-vulkan:
266-
needs: determine-tag
267228
runs-on: [self-hosted, Linux, Intel]
268229

269230
steps:
@@ -275,14 +236,11 @@ jobs:
275236

276237
- name: Test
277238
id: ggml-ci
278-
env:
279-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
280239
run: |
281240
vulkaninfo --summary
282241
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
283242
284243
ggml-ci-win-intel-vulkan:
285-
needs: determine-tag
286244
runs-on: [self-hosted, Windows, X64, Intel]
287245

288246
steps:
@@ -297,15 +255,13 @@ jobs:
297255
MSYSTEM: UCRT64
298256
CHERE_INVOKING: 1
299257
PATH: C:\msys64\ucrt64\bin;C:\msys64\usr\bin;C:\Windows\System32;${{ env.PATH }}
300-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
301258
run: |
302259
vulkaninfo --summary
303260
# Skip python related tests with GG_BUILD_LOW_PERF=1 since Windows MSYS2 UCRT64 currently fails to create
304261
# a valid python environment for testing
305262
LLAMA_FATAL_WARNINGS=OFF GG_BUILD_NINJA=1 GG_BUILD_VULKAN=1 GG_BUILD_LOW_PERF=1 ./ci/run.sh ./results/llama.cpp ./mnt/llama.cpp
306263
307264
ggml-ci-intel-openvino-gpu-low-perf:
308-
needs: determine-tag
309265
runs-on: [self-hosted, Linux, Intel, OpenVINO]
310266

311267
concurrency:
@@ -337,15 +293,12 @@ jobs:
337293
338294
- name: Test
339295
id: ggml-ci
340-
env:
341-
HF_UI_VERSION: ${{ needs.determine-tag.outputs.tag_name }}
342296
run: |
343297
source ./openvino_toolkit/setupvars.sh
344298
GG_BUILD_OPENVINO=1 GGML_OPENVINO_DEVICE=GPU GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
345299
346300
ggml-ci-arm64-cpu-low-perf:
347-
needs: determine-tag
348-
runs-on: [self-hosted, Linux, ARM64]
301+
runs-on: [self-hosted, Linux, ARM64, CPU]
349302

350303
steps:
351304
- name: Clone
@@ -358,8 +311,7 @@ jobs:
358311
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
359312
360313
ggml-ci-arm64-cpu-high-perf:
361-
needs: determine-tag
362-
runs-on: [self-hosted, Linux, ARM64]
314+
runs-on: [self-hosted, Linux, ARM64, CPU]
363315

364316
steps:
365317
- name: Clone
@@ -378,8 +330,7 @@ jobs:
378330
# if we resolve this, we should be able to offload these jobs to the self-hosted runners
379331
#
380332
# ggml-ci-arm64-cpu-high-perf-sve:
381-
# needs: determine-tag
382-
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
333+
# runs-on: [self-hosted, Linux, ARM64, CPU]
383334
#
384335
# steps:
385336
# - name: Clone
@@ -392,8 +343,7 @@ jobs:
392343
# LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
393344
#
394345
# ggml-ci-arm64-cpu-kleidiai:
395-
# needs: determine-tag
396-
# runs-on: [self-hosted, Linux, NVIDIA, ARM64]
346+
# runs-on: [self-hosted, Linux, ARM64, CPU]
397347
#
398348
# steps:
399349
# - name: Clone

.github/workflows/check-vendor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919

2020
jobs:
2121
check-vendor:
22-
runs-on: ubuntu-slim
22+
runs-on: [self-hosted, fast]
2323

2424
steps:
2525
- name: Checkout

.github/workflows/code-style.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ concurrency:
1515

1616
jobs:
1717
model-naming:
18-
runs-on: ubuntu-slim
18+
runs-on: [self-hosted, fast]
1919
steps:
2020
- uses: actions/checkout@v6
2121
- name: Check model naming conventions

.github/workflows/editorconfig.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ concurrency:
1515

1616
jobs:
1717
editorconfig:
18-
runs-on: ubuntu-slim
18+
runs-on: [self-hosted, fast]
1919
steps:
2020
- uses: actions/checkout@v6
2121
- uses: editorconfig-checker/action-editorconfig-checker@840e866d93b8e032123c23bac69dece044d4d84c # v2.2.0

.github/workflows/pre-tokenizer-hashes.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212

1313
jobs:
1414
pre-tokenizer-hashes:
15-
runs-on: ubuntu-slim
15+
runs-on: [self-hosted, fast]
1616

1717
steps:
1818
- name: Checkout repository

.github/workflows/python-check-requirements.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ concurrency:
2020

2121
jobs:
2222
python-check-requirements:
23-
runs-on: ubuntu-slim
23+
runs-on: [self-hosted, CPU, fast]
2424
name: check-requirements
2525
steps:
2626
- name: Check out source repository

.github/workflows/python-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ concurrency:
2121

2222
jobs:
2323
flake8-lint:
24-
runs-on: ubuntu-slim
24+
runs-on: [self-hosted, fast]
2525
name: Lint
2626
steps:
2727
- name: Check out source repository

.github/workflows/python-type-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ concurrency:
2222

2323
jobs:
2424
python-type-check:
25-
runs-on: ubuntu-slim
25+
runs-on: [self-hosted, fast]
2626
name: python type-check
2727
steps:
2828
- name: Check out source repository

.github/workflows/ui-build.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: Build static output
9-
runs-on: ubuntu-slim
8+
runs-on: [self-hosted, fast]
109
env:
1110
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
1211

0 commit comments

Comments
 (0)