2023-09-26 17:38:32 +00:00
|
|
|
#!/bin/sh
|
2023-09-22 19:20:12 +00:00
|
|
|
|
2023-09-26 17:38:32 +00:00
|
|
|
set -eu
|
|
|
|
|
2024-01-23 01:12:20 +00:00
|
|
|
export VERSION=${VERSION:-$(git describe --tags --first-parent --abbrev=7 --long --dirty --always | sed -e "s/^v//g")}
|
2024-03-26 20:04:17 +00:00
|
|
|
export GOFLAGS="'-ldflags=-w -s \"-X=github.com/ollama/ollama/version.Version=$VERSION\" \"-X=github.com/ollama/ollama/server.mode=release\"'"
|
2023-09-22 19:20:12 +00:00
|
|
|
|
2024-01-10 22:41:02 +00:00
|
|
|
BUILD_ARCH=${BUILD_ARCH:-"amd64 arm64"}
|
2024-01-21 20:57:13 +00:00
|
|
|
export AMDGPU_TARGETS=${AMDGPU_TARGETS:=""}
|
2023-09-22 19:20:12 +00:00
|
|
|
mkdir -p dist
|
|
|
|
|
2024-01-10 22:41:02 +00:00
|
|
|
for TARGETARCH in ${BUILD_ARCH}; do
|
2024-01-21 19:37:11 +00:00
|
|
|
docker build \
|
|
|
|
--platform=linux/$TARGETARCH \
|
|
|
|
--build-arg=GOFLAGS \
|
|
|
|
--build-arg=CGO_CFLAGS \
|
|
|
|
--build-arg=OLLAMA_CUSTOM_CPU_DEFS \
|
2024-01-21 20:57:13 +00:00
|
|
|
--build-arg=AMDGPU_TARGETS \
|
2024-01-21 19:37:11 +00:00
|
|
|
--target build-$TARGETARCH \
|
|
|
|
-f Dockerfile \
|
|
|
|
-t builder:$TARGETARCH \
|
|
|
|
.
|
2023-12-22 00:54:54 +00:00
|
|
|
docker create --platform linux/$TARGETARCH --name builder-$TARGETARCH builder:$TARGETARCH
|
2024-03-26 20:04:17 +00:00
|
|
|
docker cp builder-$TARGETARCH:/go/src/github.com/ollama/ollama/ollama ./dist/ollama-linux-$TARGETARCH
|
2024-03-10 01:55:22 +00:00
|
|
|
|
|
|
|
if [ "$TARGETARCH" = "amd64" ]; then
|
2024-03-26 20:04:17 +00:00
|
|
|
docker cp builder-$TARGETARCH:/go/src/github.com/ollama/ollama/dist/deps/ ./dist/
|
2024-03-10 01:55:22 +00:00
|
|
|
fi
|
|
|
|
|
2023-12-22 00:54:54 +00:00
|
|
|
docker rm builder-$TARGETARCH
|
2023-09-22 19:20:12 +00:00
|
|
|
done
|