cd5c8f6471
* Optimize container images for startup This change adjusts how to handle runner payloads to support container builds where we keep them extracted in the filesystem. This makes it easier to optimize the cpu/cuda vs cpu/rocm images for size, and should result in faster startup times for container images. * Refactor payload logic and add buildx support for faster builds * Move payloads around * Review comments * Converge to buildx based helper scripts * Use docker buildx action for release
45 lines
1.5 KiB
Bash
Executable file
45 lines
1.5 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
. $(dirname $0)/env.sh
|
|
|
|
mkdir -p dist
|
|
|
|
for TARGETARCH in arm64 amd64; do
|
|
rm -rf llm/llama.cpp/build
|
|
GOOS=darwin GOARCH=$TARGETARCH go generate ./...
|
|
CGO_ENABLED=1 GOOS=darwin GOARCH=$TARGETARCH go build -trimpath -o dist/ollama-darwin-$TARGETARCH
|
|
CGO_ENABLED=1 GOOS=darwin GOARCH=$TARGETARCH go build -trimpath -cover -o dist/ollama-darwin-$TARGETARCH-cov
|
|
done
|
|
|
|
lipo -create -output dist/ollama dist/ollama-darwin-arm64 dist/ollama-darwin-amd64
|
|
rm -f dist/ollama-darwin-arm64 dist/ollama-darwin-amd64
|
|
if [ -n "$APPLE_IDENTITY" ]; then
|
|
codesign --deep --force --options=runtime --sign "$APPLE_IDENTITY" --timestamp dist/ollama
|
|
else
|
|
echo "Skipping code signing - set APPLE_IDENTITY"
|
|
fi
|
|
chmod +x dist/ollama
|
|
|
|
# build and optionally sign the mac app
|
|
npm install --prefix macapp
|
|
if [ -n "$APPLE_IDENTITY" ]; then
|
|
npm run --prefix macapp make:sign
|
|
else
|
|
npm run --prefix macapp make
|
|
fi
|
|
cp macapp/out/make/zip/darwin/universal/Ollama-darwin-universal-$VERSION.zip dist/Ollama-darwin.zip
|
|
|
|
# sign the binary and rename it
|
|
if [ -n "$APPLE_IDENTITY" ]; then
|
|
codesign -f --timestamp -s "$APPLE_IDENTITY" --identifier ai.ollama.ollama --options=runtime dist/ollama
|
|
else
|
|
echo "WARNING: Skipping code signing - set APPLE_IDENTITY"
|
|
fi
|
|
ditto -c -k --keepParent dist/ollama dist/temp.zip
|
|
if [ -n "$APPLE_IDENTITY" ]; then
|
|
xcrun notarytool submit dist/temp.zip --wait --timeout 10m --apple-id $APPLE_ID --password $APPLE_PASSWORD --team-id $APPLE_TEAM_ID
|
|
fi
|
|
mv dist/ollama dist/ollama-darwin
|
|
rm -f dist/temp.zip
|