1010 push :
1111 branches :
1212 - master
13- paths : ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal']
13+ paths : ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp' ]
1414 pull_request :
1515 types : [opened, synchronize, reopened]
16- paths : ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal']
16+ paths : ['.github/workflows/build.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.cuh', '**/*.swift', '**/*.m', '**/*.metal', '**/*.comp' ]
1717
1818concurrency :
1919 group : ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
@@ -59,16 +59,14 @@ jobs:
5959 id : cmake_build
6060 run : |
6161 sysctl -a
62- mkdir build
63- cd build
64- cmake .. \
62+ cmake -B build \
6563 -DCMAKE_BUILD_RPATH="@loader_path" \
6664 -DLLAMA_FATAL_WARNINGS=ON \
6765 -DLLAMA_CURL=ON \
6866 -DGGML_METAL_USE_BF16=ON \
6967 -DGGML_METAL_EMBED_LIBRARY=ON \
7068 -DGGML_RPC=ON
71- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
69+ cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
7270
7371 - name : Test
7472 id : cmake_test
@@ -199,13 +197,11 @@ jobs:
199197 - name : Build
200198 id : cmake_build
201199 run : |
202- mkdir build
203- cd build
204- cmake .. \
200+ cmake -B build \
205201 -DLLAMA_FATAL_WARNINGS=ON \
206202 -DLLAMA_CURL=ON \
207203 -DGGML_RPC=ON
208- cmake --build . --config Release -j $(nproc)
204+ cmake --build build --config Release -j $(nproc)
209205
210206 - name : Test
211207 id : cmake_test
@@ -283,26 +279,52 @@ jobs:
283279 id : cmake_build
284280 if : ${{ matrix.sanitizer != 'THREAD' }}
285281 run : |
286- mkdir build
287- cd build
288- cmake .. \
282+ cmake -B build \
289283 -DLLAMA_FATAL_WARNINGS=ON \
290284 -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
291285 -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
292- cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
286+ cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
293287
294288 - name : Build (no OpenMP)
295289 id : cmake_build_no_openmp
296290 if : ${{ matrix.sanitizer == 'THREAD' }}
297291 run : |
298- mkdir build
299- cd build
300- cmake .. \
292+ cmake -B build \
301293 -DLLAMA_FATAL_WARNINGS=ON \
302294 -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
303295 -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
304296 -DGGML_OPENMP=OFF
305- cmake --build . --config ${{ matrix.build_type }} -j $(nproc)
297+ cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
298+
299+ - name : Test
300+ id : cmake_test
301+ run : |
302+ cd build
303+ ctest -L main --verbose --timeout 900
304+
305+ ubuntu-latest-llguidance :
306+ runs-on : ubuntu-latest
307+
308+ steps :
309+ - name : Clone
310+ id : checkout
311+ uses : actions/checkout@v4
312+
313+ - name : Dependencies
314+ id : depends
315+ run : |
316+ sudo apt-get update
317+ sudo apt-get install build-essential
318+
319+ - name : Build
320+ id : cmake_build
321+ run : |
322+ mkdir build
323+ cd build
324+ cmake .. \
325+ -DLLAMA_FATAL_WARNINGS=ON \
326+ -DLLAMA_LLGUIDANCE=ON
327+ cmake --build . --config Release -j $(nproc)
306328
307329 - name : Test
308330 id : cmake_test
@@ -335,11 +357,9 @@ jobs:
335357 - name : Build
336358 id : cmake_build
337359 run : |
338- mkdir build
339- cd build
340- cmake .. \
360+ cmake -B build \
341361 -DGGML_RPC=ON
342- cmake --build . --config Release -j $(nproc)
362+ cmake --build build --config Release -j $(nproc)
343363
344364 - name : Test
345365 id : cmake_test
@@ -372,11 +392,9 @@ jobs:
372392 - name : Build
373393 id : cmake_build
374394 run : |
375- mkdir build
376- cd build
377- cmake .. \
395+ cmake -B build \
378396 -DGGML_VULKAN=ON
379- cmake --build . --config Release -j $(nproc)
397+ cmake --build build --config Release -j $(nproc)
380398
381399 - name : Test
382400 id : cmake_test
@@ -493,13 +511,11 @@ jobs:
493511 id : cmake_build
494512 run : |
495513 source /opt/intel/oneapi/setvars.sh
496- mkdir build
497- cd build
498- cmake .. \
514+ cmake -B build \
499515 -DGGML_SYCL=ON \
500516 -DCMAKE_C_COMPILER=icx \
501517 -DCMAKE_CXX_COMPILER=icpx
502- cmake --build . --config Release -j $(nproc)
518+ cmake --build build --config Release -j $(nproc)
503519
504520 ubuntu-22-cmake-sycl-fp16 :
505521 runs-on : ubuntu-22.04
@@ -543,14 +559,12 @@ jobs:
543559 id : cmake_build
544560 run : |
545561 source /opt/intel/oneapi/setvars.sh
546- mkdir build
547- cd build
548- cmake .. \
562+ cmake -B build \
549563 -DGGML_SYCL=ON \
550564 -DCMAKE_C_COMPILER=icx \
551565 -DCMAKE_CXX_COMPILER=icpx \
552566 -DGGML_SYCL_F16=ON
553- cmake --build . --config Release -j $(nproc)
567+ cmake --build build --config Release -j $(nproc)
554568
555569 macOS-latest-cmake-ios :
556570 runs-on : macos-latest
@@ -576,9 +590,7 @@ jobs:
576590 id : cmake_build
577591 run : |
578592 sysctl -a
579- mkdir build
580- cd build
581- cmake -G Xcode .. \
593+ cmake -B build -G Xcode \
582594 -DGGML_METAL_USE_BF16=ON \
583595 -DGGML_METAL_EMBED_LIBRARY=ON \
584596 -DLLAMA_BUILD_EXAMPLES=OFF \
@@ -587,7 +599,7 @@ jobs:
587599 -DCMAKE_SYSTEM_NAME=iOS \
588600 -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
589601 -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
590- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
602+ cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
591603
592604 macOS-latest-cmake-tvos :
593605 runs-on : macos-latest
@@ -613,9 +625,7 @@ jobs:
613625 id : cmake_build
614626 run : |
615627 sysctl -a
616- mkdir build
617- cd build
618- cmake -G Xcode .. \
628+ cmake -B build -G Xcode \
619629 -DGGML_METAL_USE_BF16=ON \
620630 -DGGML_METAL_EMBED_LIBRARY=ON \
621631 -DLLAMA_BUILD_EXAMPLES=OFF \
@@ -624,7 +634,7 @@ jobs:
624634 -DCMAKE_SYSTEM_NAME=tvOS \
625635 -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
626636 -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
627- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
637+ cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
628638
629639 macOS-latest-swift :
630640 runs-on : macos-latest
@@ -654,17 +664,15 @@ jobs:
654664 id : cmake_build
655665 run : |
656666 sysctl -a
657- mkdir build
658- cd build
659- cmake -G Xcode .. \
667+ cmake -B build -G Xcode \
660668 -DGGML_METAL_USE_BF16=ON \
661669 -DGGML_METAL_EMBED_LIBRARY=ON \
662670 -DLLAMA_BUILD_EXAMPLES=OFF \
663671 -DLLAMA_BUILD_TESTS=OFF \
664672 -DLLAMA_BUILD_SERVER=OFF \
665673 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
666- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu)
667- sudo cmake --install . --config Release
674+ cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
675+ sudo cmake --install build --config Release
668676
669677 - name : xcodebuild for swift package
670678 id : xcodebuild
@@ -689,6 +697,7 @@ jobs:
689697 uses :
hendrikmuhs/[email protected] 690698 with :
691699 key : windows-msys2
700+ variant : sccache
692701 evict-old-files : 1d
693702
694703 - name : Setup ${{ matrix.sys }}
@@ -763,6 +772,7 @@ jobs:
763772 uses :
hendrikmuhs/[email protected] 764773 with :
765774 key : windows-latest-cmake-${{ matrix.build }}
775+ variant : sccache
766776 evict-old-files : 1d
767777
768778 - name : Clone Kompute submodule
@@ -804,21 +814,19 @@ jobs:
804814 run : |
805815 git clone https://github.com/KhronosGroup/OpenCL-Headers
806816 cd OpenCL-Headers
807- mkdir build && cd build
808- cmake .. `
817+ cmake -B build `
809818 -DBUILD_TESTING=OFF `
810819 -DOPENCL_HEADERS_BUILD_TESTING=OFF `
811820 -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF `
812821 -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
813- cmake --build . --target install
822+ cmake --build build --target install
814823 git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
815824 cd OpenCL-ICD-Loader
816- mkdir build-arm64-release && cd build-arm64-release
817- cmake .. `
825+ cmake -B build-arm64-release `
818826 -A arm64 `
819827 -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" `
820828 -DCMAKE_INSTALL_PREFIX="$env:RUNNER_TEMP/opencl-arm64-release"
821- cmake --build . --target install --config release
829+ cmake --build build-arm64-release --target install --config release
822830
823831 - name : Build
824832 id : cmake_build
@@ -949,6 +957,7 @@ jobs:
949957 uses :
hendrikmuhs/[email protected] 950958 with :
951959 key : ${{ github.job }}-${{ matrix.cuda }}-${{ matrix.build }}
960+ variant : sccache
952961 evict-old-files : 1d
953962
954963 - name : Install Cuda Toolkit 11.7
@@ -1090,6 +1099,7 @@ jobs:
10901099 uses :
hendrikmuhs/[email protected] 10911100 with :
10921101 key : windows-latest-cmake-sycl
1102+ variant : sccache
10931103 evict-old-files : 1d
10941104
10951105 - name : Install
@@ -1278,9 +1288,7 @@ jobs:
12781288 id : cmake_build
12791289 run : |
12801290 sysctl -a
1281- mkdir build
1282- cd build
1283- cmake -G Xcode .. \
1291+ cmake -B build -G Xcode \
12841292 -DGGML_METAL_USE_BF16=ON \
12851293 -DGGML_METAL_EMBED_LIBRARY=ON \
12861294 -DLLAMA_BUILD_EXAMPLES=OFF \
@@ -1289,8 +1297,8 @@ jobs:
12891297 -DCMAKE_SYSTEM_NAME=iOS \
12901298 -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \
12911299 -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=ggml
1292- cmake --build . --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1293- sudo cmake --install . --config Release
1300+ cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) -- CODE_SIGNING_ALLOWED=NO
1301+ sudo cmake --install build --config Release
12941302
12951303 - name : xcodebuild for swift package
12961304 id : xcodebuild
0 commit comments