From 65a265c095999f90962dca0d42d455c93b4ee0a8 Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Mon, 27 Apr 2026 10:00:22 +0300 Subject: [PATCH] refactor(ci): inline build steps, delete build-binary.sh Replace build-binary.sh with discrete workflow steps: Build mistralrs-server, Collect artifacts. Remove commented-out NCCL check block. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitea/workflows/build-release.yml | 27 ++++++++++++--------------- CLAUDE.md | 1 - script/build-binary.sh | 25 ------------------------- 3 files changed, 12 insertions(+), 41 deletions(-) delete mode 100755 script/build-binary.sh diff --git a/.gitea/workflows/build-release.yml b/.gitea/workflows/build-release.yml index aaa8859..c125f08 100644 --- a/.gitea/workflows/build-release.yml +++ b/.gitea/workflows/build-release.yml @@ -39,30 +39,27 @@ jobs: fi echo "${HOME}/.cargo/bin" >> "$GITHUB_PATH" - #- name: Check for NCCL - # run: | - # if ! ldconfig -p | grep -q libnccl.so.2; then - # echo "ERROR: libnccl not found. Install with:" - # echo " sudo dnf config-manager addrepo --from-repofile=https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo" - # echo " sudo dnf --repo=cuda-rhel9-x86_64 install libnccl libnccl-devel" - # exit 1 - # fi - - name: Clone mistral.rs at tag run: | git clone --depth 1 --branch "${{ inputs.tag }}" \ https://github.com/EricLBuehler/mistral.rs.git src/ - - name: Build - run: ./script/build-binary.sh + - name: Build mistralrs-server + run: | + export PATH="${{ matrix.cuda_home }}/bin:${PATH}" + export LD_LIBRARY_PATH="${{ matrix.cuda_home }}/targets/x86_64-linux/lib:${{ matrix.cuda_home }}/lib64:${LD_LIBRARY_PATH:-}" + cd src + cargo build --release --locked --features "${{ matrix.cargo_features }}" env: - FLAVOUR_NAME: ${{ matrix.name }} - CUDA_HOME: ${{ matrix.cuda_home }} - CARGO_FEATURES: ${{ matrix.cargo_features }} CUDA_COMPUTE_CAP: ${{ matrix.compute_caps }} CARGO_BUILD_JOBS: ${{ matrix.build_jobs }} NVCC_THREADS: ${{ matrix.nvcc_threads }} - SRC_DIR: src + + - name: Collect artifacts + run: | + mkdir --parents artifacts + cp src/target/release/mistralrs-server "artifacts/mistralrs-server-${{ matrix.name }}" + echo "built: $(artifacts/mistralrs-server-${{ matrix.name }} --version 2>&1 | head -1)" - name: Upload binary artifact uses: actions/upload-artifact@v3 diff --git a/CLAUDE.md b/CLAUDE.md index 60cf4f5..aefd842 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -27,7 +27,6 @@ Defined in `flavours.yml`. Each flavour specifies a name, `cuda_home`, `cargo_fe - `rpm/mistralrs.spec` — RPM spec (binary-only package, no rebuild) - `rpm/systemd/mistralrs@.service` — templated systemd unit (`@BINARY@` and `@FLAVOUR@` are sed-replaced during rpmbuild) - `rpm/systemd/mistralrs@.conf.example` — example env file for instances -- `script/build-binary.sh` — compiles mistralrs-server with cargo (requires `FLAVOUR_NAME`, `CUDA_HOME`, `CARGO_FEATURES`, `CUDA_COMPUTE_CAP`, `SRC_DIR` env vars) - `script/setup/` — one-time infra setup scripts (DNS, TLS cert, nginx, GPG) for `rpm.lair.cafe` on host `oolon` ## Commands diff --git a/script/build-binary.sh b/script/build-binary.sh deleted file mode 100755 index 4f52013..0000000 --- a/script/build-binary.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -: "${FLAVOUR_NAME:?}" -: "${CUDA_HOME:?}" -: "${CARGO_FEATURES:?}" -: "${CUDA_COMPUTE_CAP:?}" -: "${SRC_DIR:?}" - -export PATH="${CUDA_HOME}/bin:${PATH}" -export LD_LIBRARY_PATH="${CUDA_HOME}/targets/x86_64-linux/lib:${CUDA_HOME}/lib64:${LD_LIBRARY_PATH:-}" - -cd "${SRC_DIR}" - -# --locked ensures Cargo.lock is respected; fails loud if it's out of sync -# rather than silently resolving to different versions. -cargo build --release --locked --features "${CARGO_FEATURES}" - -mkdir -p ../artifacts -cp target/release/mistralrs-server "../artifacts/mistralrs-server-${FLAVOUR_NAME}" - -# Also grab the other binaries if you want them -cp target/release/mistralrs "../artifacts/mistralrs-${FLAVOUR_NAME}" 2>/dev/null || true - -echo "Built $(../artifacts/mistralrs-server-${FLAVOUR_NAME} --version 2>&1 | head -1)"