char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
434ddbbc0
char/aliceai-t5-moe
1name : CI (sanitize) 2 3on : 4workflow_dispatch : # allows manual triggering 5push : 6branches : 7- master 8paths : [ 9'.github/workflows/build-sanitize.yml' , 10'**/CMakeLists.txt' , 11'**/.cmake' , 12'**/*.h' , 13'**/*.hpp' , 14'**/*.c' , 15'**/*.cpp' 16] 17 18pull_request : 19types : [ opened , synchronize , reopened ] 20paths : [ 21'.github/workflows/build-sanitize.yml' 22] 23 24concurrency : 25group : ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} 26cancel-in-progress : true 27 28env : 29GGML_NLOOP : 3 30GGML_N_THREADS : 1 31LLAMA_ARG_LOG_COLORS : 1 32LLAMA_ARG_LOG_PREFIX : 1 33LLAMA_ARG_LOG_TIMESTAMPS : 1 34 35jobs : 36ctest : 37continue-on-error : true 38 39strategy : 40matrix : 41include : 42# thread and address doesn't run properly on some self hosted machines, so run it on Github instead 43- sanitizer : ADDRESS 44machine : ubuntu-24.04 45- sanitizer : THREAD 46machine : ubuntu-24.04 47- sanitizer : UNDEFINED 48machine : [ self-hosted , X64 , Linux ] 49 50runs-on : ${{ matrix.machine }} 51 52steps : 53- name : Clone 54id : checkout 55uses : actions/checkout@v6 56 57# - name: ccache 58# uses: ggml-org/ccache-action@v1.2.24 59# if: ${{ matrix.sanitizer != 'UNDEFINED' }} 60# with: 61# key: ctest-${{ matrix.sanitizer }}-ubuntu-24.04 62# variant: ccache 63# evict-old-files: 1d 64# save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} 65 66# with UNDEFINED sanitizer, we have to build in Debug to avoid GCC 13 false-positive warnings 67- name : Build (undefined) 68id : cmake_build_undefined 69if : ${{ matrix.sanitizer == 'UNDEFINED' }} 70run : | 71cmake -B build \ 72-DCMAKE_BUILD_TYPE=Debug \ 73-DLLAMA_FATAL_WARNINGS=ON \ 74-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ 75-DGGML_SANITIZE_${{ matrix.sanitizer }}=ON 76 77cmake --build build --config Debug -j $(nproc) 78 79- name : Build 80id : cmake_build 81if : ${{ matrix.sanitizer == 'ADDRESS' }} 82run : | 83cmake -B build \ 84-DCMAKE_BUILD_TYPE=RelWithDebInfo \ 85-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ 86-DGGML_SANITIZE_${{ matrix.sanitizer }}=ON 87 88cmake --build build --config RelWithDebInfo -j $(nproc) 89 90- name : Build (no OpenMP) 91id : cmake_build_no_openmp 92if : ${{ matrix.sanitizer == 'THREAD' }} 93run : | 94cmake -B build \ 95-DCMAKE_BUILD_TYPE=RelWithDebInfo \ 96-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ 97-DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \ 98-DGGML_OPENMP=OFF 99 100cmake --build build --config RelWithDebInfo -j $(nproc) 101 102- name : Test 103id : cmake_test 104run : | 105 cd build 106 ctest -L main -E tokenizer --verbose --timeout 900