Make native mode default, auto-download pre-compiled binaries

- Flip --native to --docker on up/down commands (native is now default)
- Add ensure_wasm_plugins() and ensure_brightstaff_binary() to auto-download from GitHub releases
- Add _find_config_dir() to support pip-installed usage without repo checkout
- Bundle config templates in wheel via pyproject.toml force-include
- Add publish-binaries.yml CI workflow for release binary uploads
- Update docs to reflect native-first experience
This commit is contained in:
Adil Hafeez 2026-03-03 14:50:28 -08:00
parent 39a5c21209
commit edfd237111
No known key found for this signature in database
GPG key ID: 9B18EF7691369645
7 changed files with 299 additions and 91 deletions

99
.github/workflows/publish-binaries.yml vendored Normal file
View file

@ -0,0 +1,99 @@
name: Publish pre-compiled binaries (release)
on:
release:
types: [published]
permissions:
contents: write
jobs:
build-wasm-plugins:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1
- name: Build WASM plugins
working-directory: crates
run: cargo build --release --target wasm32-wasip1 -p llm_gateway -p prompt_gateway
- name: Upload WASM plugins to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload "${{ github.event.release.tag_name }}" \
crates/target/wasm32-wasip1/release/prompt_gateway.wasm \
crates/target/wasm32-wasip1/release/llm_gateway.wasm \
--clobber
build-brightstaff-linux-amd64:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-linux-amd64
gh release upload "${{ github.event.release.tag_name }}" \
brightstaff-linux-amd64 \
--clobber
build-brightstaff-linux-arm64:
runs-on: [linux-arm64]
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-linux-arm64
gh release upload "${{ github.event.release.tag_name }}" \
brightstaff-linux-arm64 \
--clobber
build-brightstaff-darwin-arm64:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-darwin-arm64
gh release upload "${{ github.event.release.tag_name }}" \
brightstaff-darwin-arm64 \
--clobber