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) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)"
|
||||
Reference in New Issue
Block a user