3005ec74b3
If a VERSION is not specified, this will generate a version string that represents the state of the repo. For example `0.1.21-12-gffaf52e-dirty` representing 12 commits away from 0.1.21 tag, on commit gffaf52e and the tree is dirty.
26 lines
973 B
Bash
Executable file
26 lines
973 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
export VERSION=${VERSION:-$(git describe --tags --first-parent --abbrev=7 --long --dirty --always | sed -e "s/^v//g")}
|
|
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
|