Selaa lähdekoodia

add publish script

Jeffrey Morgan 1 vuosi sitten
vanhempi
commit
1358e27b77
3 muutettua tiedostoa jossa 52 lisäystä ja 15 poistoa
  1. 2 1
      Makefile
  2. 21 14
      docs/development.md
  3. 29 0
      scripts/publish.sh

+ 2 - 1
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

+ 21 - 14
docs/development.md

@@ -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
 
 
-```
-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 - 0
scripts/publish.sh

@@ -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}"
+