|
8 | 8 | description: 'Commit SHA1 to build' |
9 | 9 | required: false |
10 | 10 | type: string |
11 | | - slow_tests: |
12 | | - description: 'Run slow tests' |
13 | | - required: true |
14 | | - type: boolean |
15 | 11 | push: |
16 | 12 | branches: |
17 | 13 | - master |
@@ -101,119 +97,3 @@ jobs: |
101 | 97 | if: ${{ always() && steps.playwright.conclusion == 'success' }} |
102 | 98 | run: npm run test:e2e |
103 | 99 | working-directory: tools/server/webui |
104 | | - |
105 | | - server-build: |
106 | | - runs-on: ubuntu-latest |
107 | | - |
108 | | - strategy: |
109 | | - matrix: |
110 | | - sanitizer: [ADDRESS, UNDEFINED] # THREAD is broken |
111 | | - build_type: [RelWithDebInfo] |
112 | | - include: |
113 | | - - build_type: Release |
114 | | - sanitizer: "" |
115 | | - fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken |
116 | | - |
117 | | - steps: |
118 | | - - name: Dependencies |
119 | | - id: depends |
120 | | - run: | |
121 | | - sudo apt-get update |
122 | | - sudo apt-get -y install \ |
123 | | - build-essential \ |
124 | | - xxd \ |
125 | | - git \ |
126 | | - cmake \ |
127 | | - curl \ |
128 | | - wget \ |
129 | | - language-pack-en \ |
130 | | - libssl-dev |
131 | | -
|
132 | | - - name: Clone |
133 | | - id: checkout |
134 | | - uses: actions/checkout@v6 |
135 | | - with: |
136 | | - fetch-depth: 0 |
137 | | - ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} |
138 | | - |
139 | | - - name: Python setup |
140 | | - id: setup_python |
141 | | - uses: actions/setup-python@v6 |
142 | | - with: |
143 | | - python-version: '3.11' |
144 | | - |
145 | | - - name: Tests dependencies |
146 | | - id: test_dependencies |
147 | | - run: | |
148 | | - pip install -r tools/server/tests/requirements.txt |
149 | | -
|
150 | | - - name: Setup Node.js for WebUI |
151 | | - uses: actions/setup-node@v6 |
152 | | - with: |
153 | | - node-version: "22" |
154 | | - cache: "npm" |
155 | | - cache-dependency-path: "tools/server/webui/package-lock.json" |
156 | | - |
157 | | - - name: Install WebUI dependencies |
158 | | - run: npm ci |
159 | | - working-directory: tools/server/webui |
160 | | - |
161 | | - - name: Build WebUI |
162 | | - run: npm run build |
163 | | - working-directory: tools/server/webui |
164 | | - |
165 | | - - name: Build (no OpenMP) |
166 | | - id: cmake_build_no_openmp |
167 | | - if: ${{ matrix.sanitizer == 'THREAD' }} |
168 | | - run: | |
169 | | - cmake -B build \ |
170 | | - -DGGML_NATIVE=OFF \ |
171 | | - -DLLAMA_BUILD_SERVER=ON \ |
172 | | - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ |
173 | | - -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ |
174 | | - -DGGML_OPENMP=OFF ; |
175 | | - cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server |
176 | | -
|
177 | | - - name: Build (sanitizers) |
178 | | - id: cmake_build_sanitizers |
179 | | - if: ${{ matrix.sanitizer != '' && matrix.sanitizer != 'THREAD' }} |
180 | | - run: | |
181 | | - cmake -B build \ |
182 | | - -DGGML_NATIVE=OFF \ |
183 | | - -DLLAMA_BUILD_SERVER=ON \ |
184 | | - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ |
185 | | - -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON ; |
186 | | - cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server |
187 | | -
|
188 | | - - name: Build (sanitizers) |
189 | | - id: cmake_build |
190 | | - if: ${{ matrix.sanitizer == '' }} |
191 | | - run: | |
192 | | - cmake -B build \ |
193 | | - -DGGML_NATIVE=OFF \ |
194 | | - -DLLAMA_BUILD_SERVER=ON \ |
195 | | - -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ; |
196 | | - cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server |
197 | | -
|
198 | | - - name: Tests |
199 | | - id: server_integration_tests |
200 | | - if: ${{ matrix.sanitizer == '' }} |
201 | | - env: |
202 | | - GITHUB_ACTIONS: "true" |
203 | | - run: | |
204 | | - cd tools/server/tests |
205 | | - ./tests.sh |
206 | | -
|
207 | | - - name: Tests (sanitizers) |
208 | | - id: server_integration_tests_sanitizers |
209 | | - if: ${{ matrix.sanitizer != '' }} |
210 | | - run: | |
211 | | - cd tools/server/tests |
212 | | - LLAMA_SANITIZE=1 ./tests.sh |
213 | | -
|
214 | | - - name: Slow tests |
215 | | - id: server_integration_tests_slow |
216 | | - if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }} |
217 | | - run: | |
218 | | - cd tools/server/tests |
219 | | - SLOW_TESTS=1 ./tests.sh |
0 commit comments