main
sh 43 lines 1.4 KB
Raw
1 #!/usr/bin/env bash
2 set -euxo pipefail
3
4 : "${TARGETARCH:?TARGETARCH must be set}"
5 : "${TRITON_INSTALL_FROM_SOURCE_REPO:?TRITON_INSTALL_FROM_SOURCE_REPO must be set}"
6
7 TRITON_REVISION="${TRITON_INSTALL_FROM_SOURCE_REVISION:-main}"
8 TRITON_WORKSPACE="${TRITON_WORKSPACE:-/tmp/triton_from_source_workspace}"
9 TRITON_SOURCE="${TRITON_WORKSPACE}/src"
10 TRITON_DIST="${TRITON_WORKSPACE}/dist"
11 TRITON_BUILD_JOBS="${MAX_JOBS:-$(nproc)}"
12
13 case "${TARGETARCH}" in
14 amd64) TRITON_LLVM_SYSTEM_SUFFIX=almalinux-x64 ;;
15 arm64) TRITON_LLVM_SYSTEM_SUFFIX=almalinux-arm64 ;;
16 *)
17 echo "Unsupported Triton build architecture: ${TARGETARCH}" >&2
18 exit 1
19 ;;
20 esac
21 export TRITON_LLVM_SYSTEM_SUFFIX
22
23 mkdir -p "${TRITON_DIST}"
24 git init -q "${TRITON_SOURCE}"
25 git -C "${TRITON_SOURCE}" remote add origin \
26 "${TRITON_INSTALL_FROM_SOURCE_REPO}"
27 git -C "${TRITON_SOURCE}" fetch --depth=1 origin "${TRITON_REVISION}"
28 git -C "${TRITON_SOURCE}" checkout -q --detach FETCH_HEAD
29 git -C "${TRITON_SOURCE}" rev-parse HEAD
30
31 uv pip install --python /opt/venv/bin/python3 \
32 -r "${TRITON_SOURCE}/python/requirements.txt"
33
34 TRITON_BUILD_WITH_CCACHE=true \
35 MAX_JOBS="${TRITON_BUILD_JOBS}" \
36 uv build --python /opt/venv/bin/python3 \
37 --wheel \
38 --no-build-isolation \
39 --out-dir "${TRITON_DIST}" \
40 "${TRITON_SOURCE}"
41
42 (cd "${TRITON_DIST}" && sha256sum triton-*.whl > wheel.sha256)
43 rm -rf "${TRITON_SOURCE}"