mirror of
https://github.com/block/buzz.git
synced 2026-10-27 12:40:30 +00:00
refactor: rename sprout backend to buzz (#958)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <wpfleger@block.xyz> Signed-off-by: Will Pfleger <wpfleger@squareup.com> Signed-off-by: Will Pfleger <wpfleger96@gmail.com> Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co> Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co> Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@sprout-oss.stage.blox.sqprod.co> Co-authored-by: Will Pfleger <wpfleger96@gmail.com>
This commit is contained in:
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
@@ -1 +1,2 @@
|
||||
* @block/sprout-oss-team
|
||||
# TODO: verify @block/buzz-oss-team exists in GitHub org
|
||||
* @block/buzz-oss-team
|
||||
|
||||
56
.github/workflows/ci.yml
vendored
56
.github/workflows/ci.yml
vendored
@@ -262,37 +262,37 @@ jobs:
|
||||
docker logs "${container}" || true
|
||||
return 1
|
||||
}
|
||||
wait_healthy "Postgres" "sprout-postgres"
|
||||
wait_healthy "Redis" "sprout-redis"
|
||||
wait_healthy "Typesense" "sprout-typesense"
|
||||
wait_healthy "MinIO" "sprout-minio"
|
||||
wait_healthy "Postgres" "buzz-postgres"
|
||||
wait_healthy "Redis" "buzz-redis"
|
||||
wait_healthy "Typesense" "buzz-typesense"
|
||||
wait_healthy "MinIO" "buzz-minio"
|
||||
- name: Apply database schema
|
||||
run: ./bin/pgschema apply --file schema/schema.sql --auto-approve
|
||||
env:
|
||||
PGHOST: localhost
|
||||
PGPORT: "5432"
|
||||
PGUSER: sprout
|
||||
PGPASSWORD: sprout_dev
|
||||
PGDATABASE: sprout
|
||||
PGUSER: buzz
|
||||
PGPASSWORD: buzz_dev
|
||||
PGDATABASE: buzz
|
||||
- name: Build relay
|
||||
run: cargo build --profile ci -p sprout-relay
|
||||
run: cargo build --profile ci -p buzz-relay
|
||||
- name: Start relay
|
||||
run: |
|
||||
nohup env \
|
||||
DATABASE_URL=postgres://sprout:sprout_dev@localhost:5432/sprout \
|
||||
DATABASE_URL=postgres://buzz:buzz_dev@localhost:5432/buzz \
|
||||
REDIS_URL=redis://localhost:6379 \
|
||||
TYPESENSE_URL=http://localhost:8108 \
|
||||
TYPESENSE_API_KEY=sprout_dev_key \
|
||||
TYPESENSE_API_KEY=buzz_dev_key \
|
||||
RELAY_URL=ws://localhost:3000 \
|
||||
SPROUT_BIND_ADDR=0.0.0.0:3000 \
|
||||
SPROUT_REQUIRE_AUTH_TOKEN=false \
|
||||
SPROUT_RECONCILE_CHANNELS=true \
|
||||
SPROUT_GIT_PROBE_WRITERS=8 \
|
||||
./target/ci/sprout-relay > /tmp/sprout-relay.log 2>&1 &
|
||||
echo $! > /tmp/sprout-relay.pid
|
||||
BUZZ_BIND_ADDR=0.0.0.0:3000 \
|
||||
BUZZ_REQUIRE_AUTH_TOKEN=false \
|
||||
BUZZ_RECONCILE_CHANNELS=true \
|
||||
BUZZ_GIT_PROBE_WRITERS=8 \
|
||||
./target/ci/buzz-relay > /tmp/buzz-relay.log 2>&1 &
|
||||
echo $! > /tmp/buzz-relay.pid
|
||||
for attempt in $(seq 1 60); do
|
||||
if ! kill -0 "$(cat /tmp/sprout-relay.pid)" 2>/dev/null; then
|
||||
cat /tmp/sprout-relay.log
|
||||
if ! kill -0 "$(cat /tmp/buzz-relay.pid)" 2>/dev/null; then
|
||||
cat /tmp/buzz-relay.log
|
||||
exit 1
|
||||
fi
|
||||
status_code=$(curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:3000/_readiness || true)
|
||||
@@ -301,7 +301,7 @@ jobs:
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
cat /tmp/sprout-relay.log
|
||||
cat /tmp/buzz-relay.log
|
||||
exit 1
|
||||
- name: Seed desktop e2e data
|
||||
run: bash scripts/setup-desktop-test-data.sh
|
||||
@@ -315,7 +315,7 @@ jobs:
|
||||
path: |
|
||||
desktop/playwright-report
|
||||
desktop/test-results
|
||||
/tmp/sprout-relay.log
|
||||
/tmp/buzz-relay.log
|
||||
if-no-files-found: ignore
|
||||
- name: Save pnpm store cache
|
||||
if: github.event_name == 'push'
|
||||
@@ -444,10 +444,10 @@ jobs:
|
||||
TARGET: ${{ matrix.target }}
|
||||
run: |
|
||||
cross build --release --target "$TARGET" \
|
||||
-p sprout-relay \
|
||||
-p sprout-acp \
|
||||
-p sprout-agent \
|
||||
-p sprout-dev-mcp \
|
||||
-p buzz-relay \
|
||||
-p buzz-acp \
|
||||
-p buzz-agent \
|
||||
-p buzz-dev-mcp \
|
||||
-p git-credential-nostr \
|
||||
-p git-sign-nostr
|
||||
|
||||
@@ -472,11 +472,11 @@ jobs:
|
||||
run: |
|
||||
TARGET=$(rustc -vV | sed -n 's|host: ||p')
|
||||
mkdir -p desktop/src-tauri/binaries
|
||||
touch "desktop/src-tauri/binaries/sprout-acp-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/sprout-agent-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/sprout-dev-mcp-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/buzz-acp-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/buzz-agent-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/buzz-dev-mcp-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/git-credential-nostr-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/sprout-$TARGET"
|
||||
touch "desktop/src-tauri/binaries/buzz-$TARGET"
|
||||
# Mesh rev is derived from Cargo.lock so a dependency bump needs no
|
||||
# lockstep edit here; the cache key tracks it automatically.
|
||||
- name: Resolve mesh-llm rev
|
||||
|
||||
32
.github/workflows/release.yml
vendored
32
.github/workflows/release.yml
vendored
@@ -67,12 +67,12 @@ jobs:
|
||||
- name: Generate release config
|
||||
run: cd desktop && node scripts/build-release-config.mjs
|
||||
env:
|
||||
SPROUT_UPDATER_PUBLIC_KEY: ${{ secrets.SPROUT_UPDATER_PUBLIC_KEY }}
|
||||
SPROUT_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/sprout-desktop-latest/latest.json
|
||||
BUZZ_UPDATER_PUBLIC_KEY: ${{ secrets.BUZZ_UPDATER_PUBLIC_KEY }}
|
||||
BUZZ_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/buzz-desktop-latest/latest.json
|
||||
|
||||
- name: Build sidecars
|
||||
run: |
|
||||
cargo build --release -p sprout-acp -p sprout-agent -p sprout-dev-mcp -p git-credential-nostr -p sprout-cli
|
||||
cargo build --release -p buzz-acp -p buzz-agent -p buzz-dev-mcp -p git-credential-nostr -p buzz-cli
|
||||
./scripts/bundle-sidecars.sh
|
||||
|
||||
# Mesh rev derived from Cargo.lock (no lockstep edit on dep bump); cache key tracks it.
|
||||
@@ -118,8 +118,8 @@ jobs:
|
||||
- name: Build unsigned Tauri app
|
||||
run: cd desktop && pnpm tauri build --verbose --no-sign --config src-tauri/tauri.release.conf.json
|
||||
env:
|
||||
SPROUT_UPDATER_PUBLIC_KEY: ${{ secrets.SPROUT_UPDATER_PUBLIC_KEY }}
|
||||
SPROUT_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/sprout-desktop-latest/latest.json
|
||||
BUZZ_UPDATER_PUBLIC_KEY: ${{ secrets.BUZZ_UPDATER_PUBLIC_KEY }}
|
||||
BUZZ_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/buzz-desktop-latest/latest.json
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
||||
CMAKE_POLICY_VERSION_MINIMUM: "3.5"
|
||||
@@ -148,7 +148,7 @@ jobs:
|
||||
codesign-s3-bucket: ${{ secrets.CODESIGN_S3_BUCKET }}
|
||||
unsigned-artifact-path: ${{ steps.unsigned.outputs.dmg }}
|
||||
entitlements-plist-path: desktop/src-tauri/Entitlements.plist
|
||||
artifact-name: sprout-${{ github.sha }}-${{ github.run_id }}-arm64
|
||||
artifact-name: buzz-${{ github.sha }}-${{ github.run_id }}-arm64
|
||||
|
||||
- name: Replace DMG and rebuild updater archive
|
||||
env:
|
||||
@@ -214,7 +214,7 @@ jobs:
|
||||
bash desktop/scripts/generate-oss-latest-json.sh \
|
||||
"$VERSION" \
|
||||
"$SIG_PATH" \
|
||||
"https://github.com/block/sprout/releases/download/sprout-desktop-latest/$ARCHIVE_NAME" \
|
||||
"https://github.com/block/sprout/releases/download/buzz-desktop-latest/$ARCHIVE_NAME" \
|
||||
> latest.json
|
||||
cat latest.json
|
||||
env:
|
||||
@@ -244,12 +244,12 @@ jobs:
|
||||
|
||||
- name: Update rolling release for auto-updater
|
||||
run: |
|
||||
gh release create sprout-desktop-latest \
|
||||
gh release create buzz-desktop-latest \
|
||||
--prerelease \
|
||||
--title "Sprout Desktop Auto-Update" \
|
||||
--notes "Rolling release for the Tauri auto-updater. Do not download manually — use the versioned release instead." \
|
||||
2>/dev/null || true
|
||||
gh release upload sprout-desktop-latest \
|
||||
gh release upload buzz-desktop-latest \
|
||||
latest.json \
|
||||
"$ARCHIVE_PATH" \
|
||||
"$SIG_PATH" \
|
||||
@@ -292,19 +292,19 @@ jobs:
|
||||
- name: Generate release config
|
||||
run: cd desktop && node scripts/build-release-config.mjs
|
||||
env:
|
||||
SPROUT_UPDATER_PUBLIC_KEY: ${{ secrets.SPROUT_UPDATER_PUBLIC_KEY }}
|
||||
SPROUT_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/sprout-desktop-latest/latest.json
|
||||
BUZZ_UPDATER_PUBLIC_KEY: ${{ secrets.BUZZ_UPDATER_PUBLIC_KEY }}
|
||||
BUZZ_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/buzz-desktop-latest/latest.json
|
||||
|
||||
- name: Build sidecars
|
||||
run: |
|
||||
cargo build --release --target "$TARGET" -p sprout-acp -p sprout-agent -p sprout-dev-mcp -p git-credential-nostr -p sprout-cli
|
||||
cargo build --release --target "$TARGET" -p buzz-acp -p buzz-agent -p buzz-dev-mcp -p git-credential-nostr -p buzz-cli
|
||||
./scripts/bundle-sidecars.sh "$TARGET"
|
||||
|
||||
- name: Build unsigned Tauri app
|
||||
run: cd desktop && pnpm tauri build --verbose --no-sign --target "$TARGET" --config src-tauri/tauri.release.conf.json
|
||||
env:
|
||||
SPROUT_UPDATER_PUBLIC_KEY: ${{ secrets.SPROUT_UPDATER_PUBLIC_KEY }}
|
||||
SPROUT_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/sprout-desktop-latest/latest.json
|
||||
BUZZ_UPDATER_PUBLIC_KEY: ${{ secrets.BUZZ_UPDATER_PUBLIC_KEY }}
|
||||
BUZZ_UPDATER_ENDPOINT: https://github.com/block/sprout/releases/download/buzz-desktop-latest/latest.json
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
||||
CMAKE_POLICY_VERSION_MINIMUM: "3.5"
|
||||
@@ -330,7 +330,7 @@ jobs:
|
||||
codesign-s3-bucket: ${{ secrets.CODESIGN_S3_BUCKET }}
|
||||
unsigned-artifact-path: ${{ steps.unsigned.outputs.dmg }}
|
||||
entitlements-plist-path: desktop/src-tauri/Entitlements.plist
|
||||
artifact-name: sprout-${{ github.sha }}-${{ github.run_id }}-x64
|
||||
artifact-name: buzz-${{ github.sha }}-${{ github.run_id }}-x64
|
||||
|
||||
- name: Replace DMG and signed .app
|
||||
env:
|
||||
@@ -422,7 +422,7 @@ jobs:
|
||||
|
||||
- name: Build sidecars
|
||||
run: |
|
||||
cargo build --release -p sprout-acp -p sprout-agent -p sprout-dev-mcp -p git-credential-nostr -p sprout-cli
|
||||
cargo build --release -p buzz-acp -p buzz-agent -p buzz-dev-mcp -p git-credential-nostr -p buzz-cli
|
||||
./scripts/bundle-sidecars.sh
|
||||
|
||||
- name: Build Linux Tauri app
|
||||
|
||||
10
.github/workflows/sprig.yml
vendored
10
.github/workflows/sprig.yml
vendored
@@ -1,9 +1,9 @@
|
||||
name: Sprig
|
||||
|
||||
# Builds and publishes Sprig — one deploy-anywhere Linux multicall binary for:
|
||||
# sprout-acp ACP harness that bridges Sprout events to the LLM agent
|
||||
# sprout-agent ACP-compliant agent (spawns MCP, calls LLMs)
|
||||
# sprout-dev-mcp Developer MCP server (multicall: rg, tree, sprout,
|
||||
# buzz-acp ACP harness that bridges Sprout events to the LLM agent
|
||||
# buzz-agent ACP-compliant agent (spawns MCP, calls LLMs)
|
||||
# buzz-dev-mcp Developer MCP server (multicall: rg, tree, buzz,
|
||||
# git-credential-nostr, git-sign-nostr)
|
||||
#
|
||||
# Targets: x86_64-unknown-linux-musl and aarch64-unknown-linux-musl (static
|
||||
@@ -137,7 +137,7 @@ jobs:
|
||||
set -euo pipefail
|
||||
TAG="sprig-latest"
|
||||
TITLE="Sprig (rolling)"
|
||||
NOTES="Rolling Linux build of Sprig (all-in-one sprout-acp + sprout-agent + sprout-dev-mcp), tracking \`main\` (\`${SHA}\`)."
|
||||
NOTES="Rolling Linux build of Sprig (all-in-one buzz-acp + buzz-agent + buzz-dev-mcp), tracking \`main\` (\`${SHA}\`)."
|
||||
|
||||
if gh api "repos/${REPO}/git/refs/tags/${TAG}" >/dev/null 2>&1; then
|
||||
gh api -X PATCH "repos/${REPO}/git/refs/tags/${TAG}" \
|
||||
@@ -197,5 +197,5 @@ jobs:
|
||||
set -euo pipefail
|
||||
gh release create "$TAG" \
|
||||
--title "Sprig v${VERSION}" \
|
||||
--notes "Sprig v${VERSION} — Linux all-in-one builds of sprout-acp + sprout-agent + sprout-dev-mcp." \
|
||||
--notes "Sprig v${VERSION} — Linux all-in-one builds of buzz-acp + buzz-agent + buzz-dev-mcp." \
|
||||
dist/*
|
||||
|
||||
Reference in New Issue
Block a user