-
Notifications
You must be signed in to change notification settings - Fork 4.6k
refactor: goose-acp-server -> goose binary for TUI #8155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -91,9 +91,9 @@ jobs: | |
| if-no-files-found: error | ||
| retention-days: 7 | ||
|
|
||
| # Build goose binaries for all platforms | ||
| # Build goose CLI binaries for all platforms | ||
| build-goose-binaries: | ||
| name: Build goose (${{ matrix.platform }}) | ||
| name: Build goose CLI (${{ matrix.platform }}) | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| fail-fast: false | ||
|
|
@@ -111,9 +111,10 @@ jobs: | |
| - platform: linux-x64 | ||
| os: ubuntu-latest | ||
| target: x86_64-unknown-linux-gnu | ||
| - platform: win32-x64 | ||
| os: windows-latest | ||
| target: x86_64-pc-windows-msvc | ||
| # Temporarily disabled - Windows builds are slow (20+ min) without cache | ||
| # - platform: win32-x64 | ||
| # os: windows-latest | ||
| # target: x86_64-pc-windows-msvc | ||
| outputs: | ||
| cache-key-base: ${{ steps.cache-key.outputs.key-base }} | ||
| steps: | ||
|
|
@@ -164,7 +165,7 @@ jobs: | |
| target/${{ matrix.target }}/release/goose${{ matrix.platform == 'win32-x64' && '.exe' || '' }} | ||
| key: ${{ steps.cache-key.outputs.key }} | ||
|
|
||
| - name: Build goose binary | ||
| - name: Build goose CLI binary | ||
| if: steps.binary-cache.outputs.cache-hit != 'true' | ||
| run: cargo build --release --target ${{ matrix.target }} --bin goose | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
After this change the workflow builds Useful? React with 👍 / 👎. |
||
|
|
||
|
|
@@ -227,7 +228,7 @@ jobs: | |
| echo "Downloaded ACP schema:" | ||
| ls -lh crates/goose-acp/acp-*.json | ||
| echo "" | ||
| echo "Downloaded goose binaries:" | ||
| echo "Downloaded goose CLI binaries:" | ||
| ls -R goose-binaries/ | ||
|
|
||
| - name: Install dependencies | ||
|
|
@@ -259,7 +260,7 @@ jobs: | |
| echo "### ACP Schema" | ||
| echo "✅ Generated and cached" | ||
| echo "" | ||
| echo "### Goose Binaries" | ||
| echo "### Goose CLI Binaries" | ||
| echo "✅ Built for all platforms:" | ||
| for dir in goose-binaries/goose-*; do | ||
| platform=$(basename "$dir" | sed 's/goose-//') | ||
|
|
@@ -268,7 +269,7 @@ jobs: | |
| echo "" | ||
| echo "### npm Packages" | ||
| echo "✅ @aaif/goose-acp" | ||
| echo "✅ @aaif/goose-text" | ||
| echo "✅ @aaif/goose (TUI)" | ||
| echo "" | ||
| } >> "$GITHUB_STEP_SUMMARY" | ||
|
|
||
|
|
@@ -292,29 +293,52 @@ jobs: | |
| echo "⚠️ Skipping actual npm publish (dry-run mode)" | ||
| echo "" | ||
| echo "To publish for real, run this workflow without dry-run enabled." | ||
| echo "" | ||
| echo "**Note:** Changesets will still run to verify functionality." | ||
| } >> "$GITHUB_STEP_SUMMARY" | ||
| fi | ||
|
|
||
| - name: Create Release Pull Request or Publish to npm | ||
| - name: Publish to npm | ||
| if: inputs.dry-run != true && github.ref == 'refs/heads/main' | ||
| id: changesets | ||
| uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1.7.0 | ||
| with: | ||
| publish: pnpm run release | ||
| version: pnpm run version | ||
| commit: 'chore: version packages' | ||
| title: 'chore: version packages' | ||
| cwd: ui | ||
| run: | | ||
| cd ui | ||
| # Publish all packages in the workspace | ||
| pnpm publish -r --access public --no-git-checks | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This replaces changesets-driven publishing with Useful? React with 👍 / 👎. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Running Useful? React with 👍 / 👎. |
||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | ||
| NPM_CONFIG_PROVENANCE: true | ||
|
|
||
| - name: Dry run - Show what would be published | ||
| if: inputs.dry-run == true || github.ref != 'refs/heads/main' | ||
| run: | | ||
| cd ui | ||
| echo "## 📦 Packages that would be published:" | tee -a "$GITHUB_STEP_SUMMARY" | ||
| echo "" | tee -a "$GITHUB_STEP_SUMMARY" | ||
|
|
||
| # List all publishable packages | ||
| for pkg in acp text goose-binary/*/; do | ||
| if [ -f "$pkg/package.json" ]; then | ||
| name=$(jq -r '.name' "$pkg/package.json") | ||
| version=$(jq -r '.version' "$pkg/package.json") | ||
| echo "- $name@$version" | tee -a "$GITHUB_STEP_SUMMARY" | ||
| fi | ||
| done | ||
|
|
||
| echo "" | tee -a "$GITHUB_STEP_SUMMARY" | ||
| echo "**Note:** This is a dry run. No packages were published." | tee -a "$GITHUB_STEP_SUMMARY" | ||
|
|
||
| - name: Publish summary | ||
| if: steps.changesets.outputs.published == 'true' && inputs.dry-run != true && github.ref == 'refs/heads/main' | ||
| if: inputs.dry-run != true && github.ref == 'refs/heads/main' | ||
| run: | | ||
| cd ui | ||
| { | ||
| echo "## 🚀 Published Packages" | ||
| echo "" | ||
| echo '${{ steps.changesets.outputs.publishedPackages }}' | jq -r '.[] | "- \(.name)@\(.version)"' | ||
| for pkg in acp text goose-binary/*/; do | ||
| if [ -f "$pkg/package.json" ]; then | ||
| name=$(jq -r '.name' "$pkg/package.json") | ||
| version=$(jq -r '.version' "$pkg/package.json") | ||
| echo "- $name@$version" | ||
| fi | ||
| done | ||
| } >> "$GITHUB_STEP_SUMMARY" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In
.github/workflows/publish-npm.yml, the Windows target is commented out, but the release job still publishes workspace packages and@aaif/goosecontinues to depend on@aaif/goose-binary-win32-x64(ui/text/package.json). Sinceui/goose-binary/.gitignoreexcludes*/bin, CI checkouts do not containbin/goose.exe, so the win32 package can be published without an executable, leaving Windows users with a broken bundled-server path.Useful? React with 👍 / 👎.