#!/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)"