add publish script

This commit is contained in:
Jeffrey Morgan 2023-07-07 12:59:24 -04:00
parent 7406881eeb
commit 1358e27b77
3 changed files with 52 additions and 15 deletions

View file

@ -11,7 +11,8 @@ ollama: llama
.PHONY: app
app: ollama
npm run --prefix app make
npm install --prefix app
npm run --prefix app make:sign
clean:
go clean

View file

@ -1,33 +1,40 @@
# Development
ollama is built using Python 3 and uses [Poetry](https://python-poetry.org/) to manage dependencies and build packages.
Install required tools:
```
pip install poetry
brew install cmake go node
```
Install ollama and its dependencies:
Then run `make`:
```
poetry install --extras server --with dev
make
```
Run ollama server:
Now you can run `ollama`:
```
poetry run ollama server
./ollama
```
Update dependencies:
## Releasing
To release a new version of Ollama you'll need to set some environment variables:
* `GITHUB_TOKEN`: your GitHub token
* `APPLE_IDENTITY`: the Apple signing identity (macOS only)
* `APPLE_ID`: your Apple ID
* `APPLE_PASSWORD`: your Apple ID app-specific password
* `APPLE_TEAM_ID`: the Apple team ID for the signing identity
* `TELEMETRY_WRITE_KEY`: segment write key for telemetry
Then run the publish script with the target version:
```
poetry update --extras server --with dev
poetry lock
poetry export >requirements.txt
VERSION=0.0.2 ./scripts/publish.sh
```
Build binary package:
```
poetry build
```

29
scripts/publish.sh Executable file
View file

@ -0,0 +1,29 @@
# Set your variables here.
REPO="jmorganca/ollama"
# Check if VERSION is set
if [[ -z "${VERSION}" ]]; then
echo "VERSION is not set. Please set the VERSION environment variable."
exit 1
fi
OS=$(go env GOOS)
ARCH=$(go env GOARCH)
make app
# Create a new tag if it doesn't exist.
if ! git rev-parse v$VERSION >/dev/null 2>&1; then
git tag v$VERSION
git push origin v$VERSION
fi
# Create a new release.
gh release create v$VERSION
# Upload the zip file.
gh release upload v$VERSION "app/out/make/zip/${OS}/${ARCH}/Ollama-${OS}-${ARCH}-${VERSION}.zip#Ollama-${OS}-${ARCH}.zip"
# Upload the binary.
gh release upload v$VERSION "./ollama#ollama-${OS}-${ARCH}"