forked from ollama/ollama
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
52 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
``` | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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}" | ||
|