diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d2b7ca..9e79672 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -160,6 +160,14 @@ jobs: release: name: Create Release needs: build + # Run even if some build targets failed, so the binaries that *did* build + # still get published. Including a status function overrides Actions' + # implicit success() gate, so `!cancelled()` runs even when a `needs` leg + # failed — while still skipping a manually cancelled run (unlike always(), + # which would cut a release from a cancelled build). Failed matrix legs + # upload no artifact, so they're simply absent from the release; the overall + # run stays red to keep the failures visible. + if: ${{ !cancelled() }} runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 @@ -167,9 +175,21 @@ jobs: merge-multiple: true - name: List artifacts - run: ls -la autocommit-* + id: artifacts + run: | + ls -la autocommit-* 2>/dev/null || true + count=$(ls autocommit-*.tar.gz 2>/dev/null | wc -l) + echo "count=${count}" >> "$GITHUB_OUTPUT" + echo "Found ${count} release artifact(s) to publish." + + - name: Fail if nothing built + if: steps.artifacts.outputs.count == '0' + run: | + echo "::error::No build artifacts were produced — every target failed." + exit 1 - uses: softprops/action-gh-release@v2 + if: steps.artifacts.outputs.count != '0' with: generate_release_notes: true files: | diff --git a/crates/llama-sys/src/autocommit_common_bridge.cpp b/crates/llama-sys/src/autocommit_common_bridge.cpp index 9a3ff47..9c9d404 100644 --- a/crates/llama-sys/src/autocommit_common_bridge.cpp +++ b/crates/llama-sys/src/autocommit_common_bridge.cpp @@ -645,10 +645,12 @@ int autocommit_llama_params_fit( size_t * margins, uint32_t n_ctx_min, int log_level) { -#ifdef LLAMA_CPP_PREBUILT - // llama_params_fit is not available in the b9837 binary release. - // Skip fitting and return success — the caller will load the model - // with whatever params were configured. + // llama_params_fit is not exposed by the pinned llama.cpp release (b9837) + // in either build mode: the binary release omits it, and in the from-source + // build the fitting logic lives in libcommon's internal common/fit.cpp with + // no matching public `llama_params_fit` symbol. Skip fitting and return + // success — the caller loads the model with whatever params were configured. + // This matches the behavior of the prebuilt backends that already ship. (void)path_model; (void)mparams; (void)cparams; @@ -658,17 +660,6 @@ int autocommit_llama_params_fit( (void)n_ctx_min; (void)log_level; return 0; -#else - return llama_params_fit( - path_model, - mparams, - cparams, - tensor_split, - tensor_buft_overrides, - margins, - n_ctx_min, - static_cast(log_level)); -#endif } } // extern "C"