From 35a74c8fb94b45cae4eec7696b0ed5b7a3ca16a1 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Tue, 26 May 2026 19:05:48 +0300 Subject: [PATCH] ci : add `[no release]` keyword + fix sanitizer builds (#23728) * ci : skip release workflow on master when commit message contains [no release] Assisted-by: llama.cpp:local pi * ci : restrict sanitizer builds to x86_64 + fix build type the spark is apparently too slow for some reason * tests : fix undefined warning [no ci] --- .github/workflows/build-sanitize.yml | 5 ++++- .github/workflows/release.yml | 6 ++++++ CONTRIBUTING.md | 1 + tests/gguf-model-data.cpp | 9 +++++---- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-sanitize.yml b/.github/workflows/build-sanitize.yml index 30430f71b..287073380 100644 --- a/.github/workflows/build-sanitize.yml +++ b/.github/workflows/build-sanitize.yml @@ -28,7 +28,7 @@ env: jobs: ctest: - runs-on: [self-hosted, CPU, Linux] + runs-on: [self-hosted, X64, CPU, Linux] continue-on-error: true @@ -60,6 +60,7 @@ jobs: if: ${{ matrix.sanitizer == 'UNDEFINED' }} run: | cmake -B build \ + -DCMAKE_BUILD_TYPE=Debug \ -DLLAMA_FATAL_WARNINGS=ON \ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON @@ -71,6 +72,7 @@ jobs: if: ${{ matrix.sanitizer != 'THREAD' }} run: | cmake -B build \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON @@ -81,6 +83,7 @@ jobs: if: ${{ matrix.sanitizer == 'THREAD' }} run: | cmake -B build \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \ -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \ -DGGML_OPENMP=OFF diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d30d3a99b..4d815d13c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,11 @@ name: Release +# Skip this workflow on push to master if the commit message contains [no release] +if: | + github.event_name != 'push' || + github.ref != 'refs/heads/master' || + !contains(github.event.head_commit.message, '[no release]') + on: workflow_dispatch: # allows manual triggering inputs: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99504f14f..6881a4d3a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,6 +63,7 @@ After submitting your PR: - Optionally pick a `` from here: https://github.com/ggml-org/llama.cpp/wiki/Modules - Let other maintainers merge their own PRs - When merging a PR, make sure you have a good understanding of the changes +- If a PR does not warrant a new release, add `[no release]` in the squashed commit to spare CI resources - Be mindful of maintenance: most of the work going into a feature happens after the PR is merged. If the PR author is not committed to contribute long-term, someone else needs to take responsibility (you) Maintainers reserve the right to decline review or close pull requests for any reason, without any questions, particularly under any of the following conditions: diff --git a/tests/gguf-model-data.cpp b/tests/gguf-model-data.cpp index ba3aa76f7..fe8b4ca76 100644 --- a/tests/gguf-model-data.cpp +++ b/tests/gguf-model-data.cpp @@ -705,10 +705,11 @@ gguf_context_ptr gguf_fetch_gguf_ctx( } for (int i = 2; i <= model.n_split; i++) { - char num_buf[6], total_buf[6]; - snprintf(num_buf, sizeof(num_buf), "%05d", i); - snprintf(total_buf, sizeof(total_buf), "%05d", (int)model.n_split); - std::string shard_name = split_prefix + "-" + num_buf + "-of-" + total_buf + ".gguf"; + char buf_num[32]; + char buf_tot[32]; + snprintf(buf_num, sizeof(buf_num), "%05d", i); + snprintf(buf_tot, sizeof(buf_tot), "%05d", (int)model.n_split); + std::string shard_name = split_prefix + "-" + buf_num + "-of-" + buf_tot + ".gguf"; auto shard = fetch_or_cached(repo, shard_name, cdir, repo_part, verbose); if (!shard.has_value()) {