* 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]
jobs:
ctest:
- runs-on: [self-hosted, CPU, Linux]
+ runs-on: [self-hosted, X64, CPU, Linux]
continue-on-error: true
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
if: ${{ matrix.sanitizer != 'THREAD' }}
run: |
cmake -B build \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
-DGGML_SANITIZE_${{ matrix.sanitizer }}=ON
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
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:
- Optionally pick a `<module>` 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:
}
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()) {