Skip to content

Commit

Permalink
add publish script
Browse files Browse the repository at this point in the history
  • Loading branch information
jmorganca committed Jul 7, 2023
1 parent 7406881 commit 1358e27
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 15 deletions.
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
35 changes: 21 additions & 14 deletions docs/development.md
Original file line number Diff line number Diff line change
@@ -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

```
poetry update --extras server --with dev
poetry lock
poetry export >requirements.txt
```
To release a new version of Ollama you'll need to set some environment variables:

Build binary package:
* `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 build
VERSION=0.0.2 ./scripts/publish.sh
```




29 changes: 29 additions & 0 deletions scripts/publish.sh
Original file line number Diff line number Diff line change
@@ -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}"

0 comments on commit 1358e27

Please sign in to comment.