mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-15 01:55:13 +02:00
Add Windows release binaries (#127)
* Add Windows release binaries * Fix Windows installer downloads
This commit is contained in:
parent
6c9afc7e9b
commit
24413844ae
8 changed files with 364 additions and 15 deletions
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
- **ci.yml**: text-only changes skip; otherwise `cargo test --workspace --locked` on ubuntu-latest with protobuf compiler. OpenAPI-drift check that auto-commits the regenerated `openapi.json` for same-repository PRs. Also runs the AGENTS.md cross-link integrity check (`scripts/check-agents-md.sh`).
|
||||
- **AWS feature build job**: `cargo build/test -p omnigraph-server --features aws` on ubuntu-latest.
|
||||
- **Windows binary build job**: `cargo build --release --locked -p omnigraph-cli -p omnigraph-server` on windows-latest with smoke checks for `omnigraph.exe version`, `omnigraph-server.exe --help`, and PowerShell installer syntax.
|
||||
- **RustFS S3 integration**: spins up RustFS in Docker, runs `s3_storage`, `server_opens_s3_graph_directly_and_serves_snapshot_and_read`, and `local_cli_s3_end_to_end_init_load_read_flow`.
|
||||
- **release-edge.yml**: on every push to main, retags `edge`, builds Linux x86_64 / macOS arm64 archives + sha256, publishes a rolling prerelease.
|
||||
- **release.yml**: on `v*` tags, builds the Linux x86_64 / macOS arm64 release matrix and updates the Homebrew tap (`scripts/update-homebrew-formula.sh`) by pushing the regenerated formula to `ModernRelay/homebrew-tap`.
|
||||
- **release-edge.yml**: on every push to main, retags `edge`, builds Linux x86_64 / macOS arm64 archives and Windows x86_64 zip + sha256, publishes a rolling prerelease, then smoke-tests the Windows PowerShell installer against `edge`.
|
||||
- **release.yml**: on `v*` tags, builds the Linux x86_64 / macOS arm64 archives and Windows x86_64 zip release matrix, updates the Homebrew tap (`scripts/update-homebrew-formula.sh`) by pushing the regenerated formula to `ModernRelay/homebrew-tap`, and smoke-tests the Windows PowerShell installer against the tag.
|
||||
- **package.yml**: manual ECR image build; emits two image tags per commit (`<sha>`, `<sha>-aws`) via CodeBuild.
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ Build or install:
|
|||
- `omnigraph`
|
||||
- `omnigraph-server`
|
||||
|
||||
On Windows, the binaries are `omnigraph.exe` and `omnigraph-server.exe`.
|
||||
|
||||
Run against a local graph:
|
||||
|
||||
```bash
|
||||
|
|
@ -141,8 +143,10 @@ The server binary ships in two flavors:
|
|||
| **AWS** | `cargo build --release --features aws` | Adds AWS Secrets Manager backend for bearer tokens |
|
||||
|
||||
Tagged release archives contain the default `omnigraph` and
|
||||
`omnigraph-server` binaries. AWS-enabled server binaries are built from source
|
||||
with `cargo build --release --features aws -p omnigraph-server` when needed.
|
||||
`omnigraph-server` binaries on macOS / Linux, and `omnigraph.exe` plus
|
||||
`omnigraph-server.exe` on Windows. AWS-enabled server binaries are built from
|
||||
source with `cargo build --release --features aws -p omnigraph-server` when
|
||||
needed.
|
||||
|
||||
The AWS build adds ~150 transitive deps and ~30-60s of first-build compile
|
||||
time. Default builds don't pay that cost.
|
||||
|
|
|
|||
|
|
@ -2,16 +2,29 @@
|
|||
|
||||
## Quick Install
|
||||
|
||||
macOS / Linux:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bash
|
||||
```
|
||||
|
||||
Windows PowerShell:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -UseBasicParsing https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.ps1 | iex"
|
||||
```
|
||||
|
||||
By default the installer places:
|
||||
|
||||
- `omnigraph`
|
||||
- `omnigraph-server`
|
||||
|
||||
in `~/.local/bin`.
|
||||
in `~/.local/bin` on macOS / Linux, or:
|
||||
|
||||
- `omnigraph.exe`
|
||||
- `omnigraph-server.exe`
|
||||
|
||||
in `%USERPROFILE%\.local\bin` on Windows.
|
||||
|
||||
The default installer is binary-only. It downloads a published release asset,
|
||||
verifies the SHA256 checksum, and unpacks it. It does not build from source.
|
||||
|
|
@ -39,6 +52,13 @@ Rolling edge binaries from `main`:
|
|||
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | RELEASE_CHANNEL=edge bash
|
||||
```
|
||||
|
||||
Windows rolling edge binaries:
|
||||
|
||||
```powershell
|
||||
iwr -UseBasicParsing https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.ps1 -OutFile install.ps1
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -ReleaseChannel edge
|
||||
```
|
||||
|
||||
Install from source:
|
||||
|
||||
```bash
|
||||
|
|
@ -53,12 +73,24 @@ Install to a different directory:
|
|||
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | INSTALL_DIR="$HOME/bin" bash
|
||||
```
|
||||
|
||||
Windows:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -InstallDir "$env:USERPROFILE\bin"
|
||||
```
|
||||
|
||||
Install a specific tag:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | VERSION=v0.1.0 bash
|
||||
```
|
||||
|
||||
Windows:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Version v0.1.0
|
||||
```
|
||||
|
||||
Build from a specific git ref:
|
||||
|
||||
```bash
|
||||
|
|
@ -67,27 +99,53 @@ curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/
|
|||
|
||||
## Manual Source Build
|
||||
|
||||
macOS / Linux:
|
||||
|
||||
```bash
|
||||
cargo build --release --locked -p omnigraph-cli -p omnigraph-server
|
||||
install -m 0755 target/release/omnigraph ~/.local/bin/omnigraph
|
||||
install -m 0755 target/release/omnigraph-server ~/.local/bin/omnigraph-server
|
||||
```
|
||||
|
||||
Windows:
|
||||
|
||||
```powershell
|
||||
cargo build --release --locked -p omnigraph-cli -p omnigraph-server
|
||||
New-Item -ItemType Directory -Force "$env:USERPROFILE\.local\bin" | Out-Null
|
||||
Copy-Item target\release\omnigraph.exe "$env:USERPROFILE\.local\bin\omnigraph.exe"
|
||||
Copy-Item target\release\omnigraph-server.exe "$env:USERPROFILE\.local\bin\omnigraph-server.exe"
|
||||
```
|
||||
|
||||
## Release Assets
|
||||
|
||||
Tagged releases are expected to publish:
|
||||
|
||||
- `omnigraph-linux-x86_64.tar.gz`
|
||||
- `omnigraph-macos-arm64.tar.gz`
|
||||
- `omnigraph-windows-x86_64.zip`
|
||||
|
||||
Each archive contains both binaries:
|
||||
The macOS / Linux archives contain both binaries:
|
||||
|
||||
- `omnigraph`
|
||||
- `omnigraph-server`
|
||||
|
||||
The Windows archive contains:
|
||||
|
||||
- `omnigraph.exe`
|
||||
- `omnigraph-server.exe`
|
||||
|
||||
## Verify The Install
|
||||
|
||||
macOS / Linux:
|
||||
|
||||
```bash
|
||||
omnigraph version
|
||||
omnigraph-server --help
|
||||
```
|
||||
|
||||
Windows:
|
||||
|
||||
```powershell
|
||||
omnigraph.exe version
|
||||
omnigraph-server.exe --help
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue