add publish script
This commit is contained in:
parent
7406881eeb
commit
1358e27b77
3 changed files with 52 additions and 15 deletions
3
Makefile
3
Makefile
|
@ -11,7 +11,8 @@ ollama: llama
|
||||||
|
|
||||||
.PHONY: app
|
.PHONY: app
|
||||||
app: ollama
|
app: ollama
|
||||||
npm run --prefix app make
|
npm install --prefix app
|
||||||
|
npm run --prefix app make:sign
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
go clean
|
go clean
|
||||||
|
|
|
@ -1,33 +1,40 @@
|
||||||
# Development
|
# 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
|
VERSION=0.0.2 ./scripts/publish.sh
|
||||||
poetry lock
|
|
||||||
poetry export >requirements.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Build binary package:
|
|
||||||
|
|
||||||
```
|
|
||||||
poetry build
|
|
||||||
```
|
|
||||||
|
|
29
scripts/publish.sh
Executable file
29
scripts/publish.sh
Executable 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}"
|
||||||
|
|
Loading…
Reference in a new issue