Skip to content

Commit b3cfe41

Browse files
committed
ci : extract cpu jobs to build-cpu.yml
1 parent 0b127ca commit b3cfe41

2 files changed

Lines changed: 159 additions & 125 deletions

File tree

.github/workflows/build-cpu.yml

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
name: CI (cpu)
2+
3+
on:
4+
workflow_dispatch: # allows manual triggering
5+
push:
6+
branches:
7+
- master
8+
paths: ['.github/workflows/build-cpu.yml',
9+
'**/CMakeLists.txt',
10+
'**/Makefile',
11+
'**/*.mk',
12+
'**/*.cmake',
13+
'**/*.in',
14+
'**/*.h',
15+
'**/*.hpp',
16+
'**/*.c',
17+
'**/*.cpp',
18+
'**/*.cu',
19+
'**/*.cuh',
20+
'**/*.cl']
21+
22+
pull_request:
23+
types: [opened, synchronize, reopened]
24+
paths-ignore:
25+
- 'bindings/ruby/**' # handled by bindings-ruby.yml
26+
- 'bindings/go/**' # handled by bindings-go.yml
27+
- 'examples/addon.node/**' # handled by examples.yml
28+
29+
concurrency:
30+
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
31+
cancel-in-progress: true
32+
33+
# TODO: simplify the following jobs using a matrix
34+
jobs:
35+
ggml-ci-x64-cpu-low-perf:
36+
runs-on: ubuntu-22.04
37+
38+
steps:
39+
- name: Clone
40+
id: checkout
41+
uses: actions/checkout@v6
42+
43+
- name: ccache
44+
uses: ggml-org/ccache-action@v1.2.16
45+
with:
46+
key: ggml-ci-x64-cpu-low-perf
47+
evict-old-files: 1d
48+
49+
- name: Dependencies
50+
id: depends
51+
run: |
52+
sudo apt-get update
53+
sudo apt-get install build-essential libcurl4-openssl-dev
54+
55+
- name: Test
56+
id: ggml-ci
57+
run: |
58+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
59+
60+
ggml-ci-arm64-cpu-low-perf:
61+
runs-on: ubuntu-22.04-arm
62+
63+
steps:
64+
- name: Clone
65+
id: checkout
66+
uses: actions/checkout@v6
67+
68+
- name: ccache
69+
uses: ggml-org/ccache-action@v1.2.16
70+
with:
71+
key: ggml-ci-arm64-cpu-low-perf
72+
evict-old-files: 1d
73+
74+
- name: Dependencies
75+
id: depends
76+
run: |
77+
sudo apt-get update
78+
sudo apt-get install build-essential libcurl4-openssl-dev
79+
80+
- name: Test
81+
id: ggml-ci
82+
run: |
83+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
84+
85+
ggml-ci-x64-cpu-high-perf:
86+
runs-on: ubuntu-22.04
87+
88+
steps:
89+
- name: Clone
90+
id: checkout
91+
uses: actions/checkout@v6
92+
93+
- name: ccache
94+
uses: ggml-org/ccache-action@v1.2.16
95+
with:
96+
key: ggml-ci-x64-cpu-high-perf
97+
evict-old-files: 1d
98+
99+
- name: Dependencies
100+
id: depends
101+
run: |
102+
sudo apt-get update
103+
sudo apt-get install build-essential libcurl4-openssl-dev
104+
105+
- name: Test
106+
id: ggml-ci
107+
run: |
108+
LLAMA_ARG_THREADS=$(nproc) bash ./ci/run.sh ./tmp/results ./tmp/mnt
109+
110+
ggml-ci-arm64-cpu-high-perf:
111+
runs-on: ubuntu-22.04-arm
112+
113+
steps:
114+
- name: Clone
115+
id: checkout
116+
uses: actions/checkout@v6
117+
118+
- name: ccache
119+
uses: ggml-org/ccache-action@v1.2.16
120+
with:
121+
key: ggml-ci-arm64-cpu-high-perf
122+
evict-old-files: 1d
123+
124+
- name: Dependencies
125+
id: depends
126+
run: |
127+
sudo apt-get update
128+
sudo apt-get install build-essential libcurl4-openssl-dev
129+
130+
- name: Test
131+
id: ggml-ci
132+
run: |
133+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
134+
135+
ggml-ci-arm64-cpu-high-perf-sve:
136+
runs-on: ubuntu-22.04-arm
137+
138+
steps:
139+
- name: Clone
140+
id: checkout
141+
uses: actions/checkout@v6
142+
143+
- name: ccache
144+
uses: ggml-org/ccache-action@v1.2.16
145+
with:
146+
key: ggml-ci-arm64-cpu-high-perf-sve
147+
evict-old-files: 1d
148+
149+
- name: Dependencies
150+
id: depends
151+
run: |
152+
sudo apt-get update
153+
sudo apt-get install build-essential libcurl4-openssl-dev
154+
155+
- name: Test
156+
id: ggml-ci
157+
run: |
158+
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt

.github/workflows/build.yml

Lines changed: 1 addition & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ on:
4545
- '.github/workflows/quantize.yml' # handled by quantize.yml
4646
- '.github/workflows/coreml.yml' # handled by coreml.yml
4747
- '.github/workflows/vad.yml' # handled by vad.yml
48+
- '.github/workflows/build-cpu.yml' # handled by build-cpu.yml
4849

4950
concurrency:
5051
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
@@ -73,130 +74,5 @@ jobs:
7374
# cmake -B build
7475
# cmake --build build --config Release
7576

76-
# TODO: simplify the following workflows using a matrix
77-
ggml-ci-x64-cpu-low-perf:
78-
runs-on: ubuntu-22.04
79-
80-
steps:
81-
- name: Clone
82-
id: checkout
83-
uses: actions/checkout@v6
84-
85-
- name: ccache
86-
uses: ggml-org/ccache-action@v1.2.16
87-
with:
88-
key: ggml-ci-x64-cpu-low-perf
89-
evict-old-files: 1d
90-
91-
- name: Dependencies
92-
id: depends
93-
run: |
94-
sudo apt-get update
95-
sudo apt-get install build-essential libcurl4-openssl-dev
96-
97-
- name: Test
98-
id: ggml-ci
99-
run: |
100-
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
101-
102-
ggml-ci-arm64-cpu-low-perf:
103-
runs-on: ubuntu-22.04-arm
104-
105-
steps:
106-
- name: Clone
107-
id: checkout
108-
uses: actions/checkout@v6
109-
110-
- name: ccache
111-
uses: ggml-org/ccache-action@v1.2.16
112-
with:
113-
key: ggml-ci-arm64-cpu-low-perf
114-
evict-old-files: 1d
115-
116-
- name: Dependencies
117-
id: depends
118-
run: |
119-
sudo apt-get update
120-
sudo apt-get install build-essential libcurl4-openssl-dev
121-
122-
- name: Test
123-
id: ggml-ci
124-
run: |
125-
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
126-
127-
ggml-ci-x64-cpu-high-perf:
128-
runs-on: ubuntu-22.04
129-
130-
steps:
131-
- name: Clone
132-
id: checkout
133-
uses: actions/checkout@v6
134-
135-
- name: ccache
136-
uses: ggml-org/ccache-action@v1.2.16
137-
with:
138-
key: ggml-ci-x64-cpu-high-perf
139-
evict-old-files: 1d
140-
141-
- name: Dependencies
142-
id: depends
143-
run: |
144-
sudo apt-get update
145-
sudo apt-get install build-essential libcurl4-openssl-dev
146-
147-
- name: Test
148-
id: ggml-ci
149-
run: |
150-
LLAMA_ARG_THREADS=$(nproc) bash ./ci/run.sh ./tmp/results ./tmp/mnt
151-
152-
ggml-ci-arm64-cpu-high-perf:
153-
runs-on: ubuntu-22.04-arm
154-
155-
steps:
156-
- name: Clone
157-
id: checkout
158-
uses: actions/checkout@v6
159-
160-
- name: ccache
161-
uses: ggml-org/ccache-action@v1.2.16
162-
with:
163-
key: ggml-ci-arm64-cpu-high-perf
164-
evict-old-files: 1d
165-
166-
- name: Dependencies
167-
id: depends
168-
run: |
169-
sudo apt-get update
170-
sudo apt-get install build-essential libcurl4-openssl-dev
171-
172-
- name: Test
173-
id: ggml-ci
174-
run: |
175-
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
176-
177-
ggml-ci-arm64-cpu-high-perf-sve:
178-
runs-on: ubuntu-22.04-arm
179-
180-
steps:
181-
- name: Clone
182-
id: checkout
183-
uses: actions/checkout@v6
184-
185-
- name: ccache
186-
uses: ggml-org/ccache-action@v1.2.16
187-
with:
188-
key: ggml-ci-arm64-cpu-high-perf-sve
189-
evict-old-files: 1d
190-
191-
- name: Dependencies
192-
id: depends
193-
run: |
194-
sudo apt-get update
195-
sudo apt-get install build-essential libcurl4-openssl-dev
196-
197-
- name: Test
198-
id: ggml-ci
199-
run: |
200-
LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
20177

20278

0 commit comments

Comments
 (0)