df54c723ae
The linux build now support parallel CPU builds to speed things up. This also exposes AMD GPU targets as an optional setting for advaced users who want to alter our default set.
26 lines
887 B
Bash
Executable file
26 lines
887 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
export VERSION=${VERSION:-0.0.0}
|
|
export GOFLAGS="'-ldflags=-w -s \"-X=github.com/jmorganca/ollama/version.Version=$VERSION\" \"-X=github.com/jmorganca/ollama/server.mode=release\"'"
|
|
|
|
BUILD_ARCH=${BUILD_ARCH:-"amd64 arm64"}
|
|
export AMDGPU_TARGETS=${AMDGPU_TARGETS:=""}
|
|
mkdir -p dist
|
|
|
|
for TARGETARCH in ${BUILD_ARCH}; do
|
|
docker build \
|
|
--platform=linux/$TARGETARCH \
|
|
--build-arg=GOFLAGS \
|
|
--build-arg=CGO_CFLAGS \
|
|
--build-arg=OLLAMA_CUSTOM_CPU_DEFS \
|
|
--build-arg=AMDGPU_TARGETS \
|
|
--target build-$TARGETARCH \
|
|
-f Dockerfile \
|
|
-t builder:$TARGETARCH \
|
|
.
|
|
docker create --platform linux/$TARGETARCH --name builder-$TARGETARCH builder:$TARGETARCH
|
|
docker cp builder-$TARGETARCH:/go/src/github.com/jmorganca/ollama/ollama ./dist/ollama-linux-$TARGETARCH
|
|
docker rm builder-$TARGETARCH
|
|
done
|