mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
acp migration (ui) : ui connect to acp directly instead of goosed (#10081)
This commit is contained in:
@@ -56,7 +56,6 @@
|
||||
- `cargo fmt --check` - Code formatting (rustfmt)
|
||||
- `cargo test --jobs 2` - All tests
|
||||
- `cargo clippy --all-targets -- -D warnings` - Linting (clippy)
|
||||
- `just check-openapi-schema` - OpenAPI schema validation
|
||||
|
||||
**Desktop app checks:**
|
||||
- `pnpm install --frozen-lockfile` - Fresh dependency install (in `ui/desktop/`)
|
||||
|
||||
@@ -73,11 +73,11 @@ jobs:
|
||||
key: intel-macos-deployment-target-12
|
||||
|
||||
|
||||
- name: Build goose-server for Intel macOS (x86_64)
|
||||
- name: Build desktop backend for Intel macOS (x86_64)
|
||||
run: |
|
||||
source ./bin/activate-hermit
|
||||
rustup target add x86_64-apple-darwin
|
||||
cargo build --release -p goose-server --target x86_64-apple-darwin
|
||||
cargo build --release -p goose-cli --bin goose --target x86_64-apple-darwin
|
||||
|
||||
|
||||
|
||||
@@ -95,9 +95,13 @@ jobs:
|
||||
# Check disk space after cleanup
|
||||
df -h
|
||||
|
||||
- name: Copy binaries into Electron folder
|
||||
- name: Copy backend binary into Electron folder
|
||||
run: |
|
||||
cp target/x86_64-apple-darwin/release/goosed ui/desktop/src/bin/goosed
|
||||
mkdir -p ui/desktop/src/bin
|
||||
rm -f ui/desktop/src/bin/goose
|
||||
cp target/x86_64-apple-darwin/release/goose ui/desktop/src/bin/goose
|
||||
chmod +x ui/desktop/src/bin/goose
|
||||
ls -la ui/desktop/src/bin/
|
||||
|
||||
- name: Cache pnpm dependencies
|
||||
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
|
||||
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
with:
|
||||
key: linux-${{ matrix.build-on }}-${{ matrix.variant }}
|
||||
|
||||
- name: Build goosed binary
|
||||
- name: Build desktop backend binary
|
||||
env:
|
||||
RUST_LOG: debug
|
||||
RUST_BACKTRACE: 1
|
||||
@@ -137,15 +137,16 @@ jobs:
|
||||
FEATURE_ARGS=(--features vulkan)
|
||||
fi
|
||||
|
||||
cargo build --release --target ${TARGET} -p goose-server "${FEATURE_ARGS[@]}"
|
||||
cargo build --release --target ${TARGET} -p goose-cli --bin goose "${FEATURE_ARGS[@]}"
|
||||
|
||||
- name: Copy binaries into Electron folder
|
||||
- name: Copy backend binary into Electron folder
|
||||
run: |
|
||||
echo "Copying binaries to ui/desktop/src/bin/"
|
||||
echo "Copying backend binary to ui/desktop/src/bin/"
|
||||
export TARGET="x86_64-unknown-linux-gnu"
|
||||
mkdir -p ui/desktop/src/bin
|
||||
cp target/$TARGET/release/goosed ui/desktop/src/bin/
|
||||
chmod +x ui/desktop/src/bin/goosed
|
||||
rm -f ui/desktop/src/bin/goose
|
||||
cp target/$TARGET/release/goose ui/desktop/src/bin/
|
||||
chmod +x ui/desktop/src/bin/goose
|
||||
ls -la ui/desktop/src/bin/
|
||||
|
||||
- name: Free Rust build artifacts before packaging
|
||||
|
||||
@@ -113,28 +113,33 @@ jobs:
|
||||
env:
|
||||
CUDA_COMPUTE_CAP: ${{ inputs.windows_variant == 'cuda' && '80' || '' }}
|
||||
run: |
|
||||
Write-Output "Building Windows executable..."
|
||||
if ("${{ inputs.windows_variant }}" -eq "cuda") {
|
||||
cargo build --release --target x86_64-pc-windows-msvc -p goose-server --features cuda
|
||||
$isCuda = "${{ inputs.windows_variant }}" -eq "cuda"
|
||||
|
||||
Write-Output "Building Windows ACP backend"
|
||||
if ($isCuda) {
|
||||
cargo build --release --target x86_64-pc-windows-msvc -p goose-cli --bin goose --features cuda
|
||||
} else {
|
||||
cargo build --release --target x86_64-pc-windows-msvc -p goose-server
|
||||
cargo build --release --target x86_64-pc-windows-msvc -p goose-cli --bin goose
|
||||
}
|
||||
$binaryPath = "./target/x86_64-pc-windows-msvc/release/goose.exe"
|
||||
|
||||
# Verify build succeeded
|
||||
if (-not (Test-Path "./target/x86_64-pc-windows-msvc/release/goosed.exe")) {
|
||||
Write-Error "Windows binary not found."
|
||||
if (-not (Test-Path $binaryPath)) {
|
||||
Write-Error "Windows backend binary not found: $binaryPath"
|
||||
Get-ChildItem ./target/x86_64-pc-windows-msvc/release/ -ErrorAction SilentlyContinue
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Output "Windows binary found."
|
||||
Get-Item ./target/x86_64-pc-windows-msvc/release/goosed.exe
|
||||
Write-Output "Windows backend binary found."
|
||||
Get-Item $binaryPath
|
||||
|
||||
- name: Prepare Windows binary
|
||||
shell: bash
|
||||
run: |
|
||||
if [ ! -f "./target/x86_64-pc-windows-msvc/release/goosed.exe" ]; then
|
||||
echo "Windows binary not found."
|
||||
BACKEND_BINARY="./target/x86_64-pc-windows-msvc/release/goose.exe"
|
||||
|
||||
if [ ! -f "$BACKEND_BINARY" ]; then
|
||||
echo "Windows backend binary not found: $BACKEND_BINARY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -142,13 +147,14 @@ jobs:
|
||||
rm -rf ./ui/desktop/src/bin
|
||||
mkdir -p ./ui/desktop/src/bin
|
||||
|
||||
echo "Copying Windows binary..."
|
||||
cp -f ./target/x86_64-pc-windows-msvc/release/goosed.exe ./ui/desktop/src/bin/
|
||||
echo "Copying Windows backend binary..."
|
||||
cp -f "$BACKEND_BINARY" ./ui/desktop/src/bin/
|
||||
|
||||
if [ -d "./ui/desktop/src/platform/windows/bin" ]; then
|
||||
echo "Copying Windows platform files..."
|
||||
for file in ./ui/desktop/src/platform/windows/bin/*.{exe,dll,cmd}; do
|
||||
if [ -f "$file" ] && [ "$(basename "$file")" != "goosed.exe" ]; then
|
||||
filename="$(basename "$file")"
|
||||
if [ -f "$file" ] && [ "$filename" != "goose.exe" ]; then
|
||||
cp -f "$file" ./ui/desktop/src/bin/
|
||||
fi
|
||||
done
|
||||
@@ -229,14 +235,14 @@ jobs:
|
||||
certificate-profile-name: ${{ secrets.AZURE_CERTIFICATE_PROFILE_NAME }}
|
||||
files: |
|
||||
${{ github.workspace }}/dist-windows/Goose.exe
|
||||
${{ github.workspace }}/dist-windows/resources/bin/goosed.exe
|
||||
${{ github.workspace }}/dist-windows/resources/bin/goose.exe
|
||||
|
||||
- name: Verify signed executables
|
||||
shell: pwsh
|
||||
run: |
|
||||
$files = @(
|
||||
"dist-windows/Goose.exe",
|
||||
"dist-windows/resources/bin/goosed.exe"
|
||||
"dist-windows/resources/bin/goose.exe"
|
||||
)
|
||||
foreach ($file in $files) {
|
||||
Write-Output "Verifying signature: $file"
|
||||
|
||||
@@ -118,8 +118,10 @@ jobs:
|
||||
key: macos-deployment-target-12
|
||||
|
||||
# Build the project
|
||||
- name: Build goosed
|
||||
run: source ./bin/activate-hermit && cargo build --release -p goose-server
|
||||
- name: Build desktop backend
|
||||
run: |
|
||||
source ./bin/activate-hermit
|
||||
cargo build --release -p goose-cli --bin goose
|
||||
|
||||
# Post-build cleanup to free space
|
||||
- name: Post-build cleanup
|
||||
@@ -134,9 +136,13 @@ jobs:
|
||||
# Check disk space after cleanup
|
||||
df -h
|
||||
|
||||
- name: Copy binaries into Electron folder
|
||||
- name: Copy backend binary into Electron folder
|
||||
run: |
|
||||
cp target/release/goosed ui/desktop/src/bin/goosed
|
||||
mkdir -p ui/desktop/src/bin
|
||||
rm -f ui/desktop/src/bin/goose
|
||||
cp target/release/goose ui/desktop/src/bin/goose
|
||||
chmod +x ui/desktop/src/bin/goose
|
||||
ls -la ui/desktop/src/bin/
|
||||
|
||||
- name: Cache pnpm dependencies
|
||||
uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
path: download_cli.sh
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# 4) Bundle Desktop App (macOS only) - builds goosed and Electron app
|
||||
# 4) Bundle Desktop App (macOS only)
|
||||
# ------------------------------------------------------------
|
||||
bundle-desktop:
|
||||
needs: [prepare-version]
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
signing: false
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# 5) Bundle Desktop App (macOS Intel) - builds goosed and Electron app
|
||||
# 5) Bundle Desktop App (macOS Intel)
|
||||
# ------------------------------------------------------------
|
||||
bundle-desktop-intel:
|
||||
needs: [prepare-version]
|
||||
@@ -93,7 +93,7 @@ jobs:
|
||||
signing: false
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# 6) Bundle Desktop App (Linux) - builds goosed and Electron app
|
||||
# 6) Bundle Desktop App (Linux)
|
||||
# ------------------------------------------------------------
|
||||
bundle-desktop-linux:
|
||||
needs: [prepare-version]
|
||||
@@ -102,7 +102,7 @@ jobs:
|
||||
version: ${{ needs.prepare-version.outputs.version }}
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# 6) Bundle Desktop App (Windows) - builds goosed and Electron app
|
||||
# 6) Bundle Desktop App (Windows)
|
||||
# ------------------------------------------------------------
|
||||
bundle-desktop-windows:
|
||||
needs: [prepare-version]
|
||||
|
||||
@@ -183,12 +183,6 @@ jobs:
|
||||
cd ui/desktop && pnpm install --frozen-lockfile
|
||||
cd ../sdk && pnpm install --frozen-lockfile
|
||||
|
||||
- name: Check OpenAPI Schema is Up-to-Date
|
||||
run: |
|
||||
source ./bin/activate-hermit
|
||||
hermit uninstall rustup
|
||||
just check-openapi-schema
|
||||
|
||||
- name: Check ACP Schema is Up-to-Date
|
||||
run: |
|
||||
source ./bin/activate-hermit
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
|
||||
- name: Build Binary for Smoke Tests
|
||||
run: |
|
||||
cargo build --bin goose --bin goosed
|
||||
cargo build --bin goose
|
||||
|
||||
- name: Upload goose binary
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
@@ -76,13 +76,6 @@ jobs:
|
||||
path: target/debug/goose
|
||||
retention-days: 1
|
||||
|
||||
- name: Upload goosed binary
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
with:
|
||||
name: goosed-binary
|
||||
path: target/debug/goosed
|
||||
retention-days: 1
|
||||
|
||||
smoke-tests:
|
||||
name: Smoke Tests
|
||||
runs-on: ubuntu-latest
|
||||
@@ -253,39 +246,3 @@ jobs:
|
||||
mkdir -p $HOME/.local/share/goose/sessions
|
||||
mkdir -p $HOME/.config/goose
|
||||
bash scripts/test_compaction.sh
|
||||
|
||||
goosed-integration-tests:
|
||||
name: goose server HTTP integration tests
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-binary
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
with:
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
||||
- name: Download Binary
|
||||
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
||||
with:
|
||||
name: goosed-binary
|
||||
path: target/debug
|
||||
|
||||
- name: Make Binary Executable
|
||||
run: chmod +x target/debug/goosed
|
||||
|
||||
- name: Install Node.js Dependencies
|
||||
run: source ../../bin/activate-hermit && pnpm install --frozen-lockfile
|
||||
working-directory: ui/desktop
|
||||
|
||||
- name: Run Integration Tests
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
GOOSED_BINARY: ../../target/debug/goosed
|
||||
GOOSE_PROVIDER: anthropic
|
||||
GOOSE_MODEL: claude-sonnet-4-5-20250929
|
||||
SHELL: /bin/bash
|
||||
SKIP_BUILD: 1
|
||||
run: |
|
||||
echo 'export PATH=/some/fake/path:$PATH' >> $HOME/.bash_profile
|
||||
source ../../bin/activate-hermit && pnpm run test:integration:goosed
|
||||
working-directory: ui/desktop
|
||||
|
||||
Reference in New Issue
Block a user