refactor: goose-acp-server -> goose binary for TUI#8155
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 93c221a463
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
ui/acp/scripts/build-native.ts
Outdated
| } | ||
|
|
||
| const pkgDir = resolve(NATIVE_DIR, `goose-acp-server-${platform}`); | ||
| const pkgDir = resolve(NATIVE_DIR, `goose-${platform}`); |
There was a problem hiding this comment.
Copy binaries into goose-binary package directories
buildTarget now stages artifacts under ui/goose-binary/goose-${platform}/bin, but the actual workspace package folders are goose-binary-${platform}. This means build:native writes binaries into newly created non-package directories, so the real npm packages never get bin/goose; downstream release tooling (for example ui/scripts/publish.sh, which checks only goose-binary-*) will treat every platform package as missing its binary and skip/ship broken artifacts.
Useful? React with 👍 / 👎.
93c221a to
320a2ea
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 56a5f753ff
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| - 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.
Include goose CLI crates in publish trigger paths
After this change the workflow builds --bin goose, but on.push.paths still only watches crates/goose-acp/** and ui/acp/**; as a result, pushes to main that modify crates/goose-cli/**, crates/goose/**, or other goose CLI dependencies will not trigger this publish pipeline, and npm native packages can be released with stale binaries. Please update the path filters (or remove them) so source changes for the goose binary always run this workflow.
Useful? React with 👍 / 👎.
DOsinga
left a comment
There was a problem hiding this comment.
Clean mechanical rename from goose-acp-server to goose-binary across the npm packaging infrastructure. Code is correct, CI is green, and it's a net deletion. The Codex P1 about path mismatch in build-native.ts is a false positive — the code correctly uses goose-binary-${platform}. The other Codex note about path filters in publish-npm.yml is a pre-existing issue not introduced by this PR. LGTM!
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 886870e9b8
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
.github/workflows/publish-npm.yml
Outdated
| id: changesets | ||
| uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1.7.0 | ||
| with: | ||
| publish: pnpm run release | ||
| publish: ${{ (inputs.dry-run == true || github.ref != 'refs/heads/main') && 'echo "Dry run - skipping npm publish"' || 'pnpm run release' }} | ||
| version: pnpm run version |
There was a problem hiding this comment.
Reinstate dry-run gating for changesets action
This step now runs unconditionally, and changesets/action still receives a version command even when publish is swapped to an echo for dry runs. On workflow_dispatch runs with dry-run: true (or non-main refs), that can still create/update the release version PR, which is a repo-mutating side effect that the previous if: inputs.dry-run != true && github.ref == 'refs/heads/main' guard prevented.
Useful? React with 👍 / 👎.
jamadeo
left a comment
There was a problem hiding this comment.
Is there a rust binary target to remove too?
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 87bbad1847
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| # Temporarily disabled - Windows builds are slow (20+ min) without cache | ||
| # - platform: win32-x64 | ||
| # os: windows-latest | ||
| # target: x86_64-pc-windows-msvc |
There was a problem hiding this comment.
Re-enable Windows build before publishing win32 binary pkg
In .github/workflows/publish-npm.yml, the Windows target is commented out, but the release job still publishes workspace packages and @aaif/goose continues to depend on @aaif/goose-binary-win32-x64 (ui/text/package.json). Since ui/goose-binary/.gitignore excludes */bin, CI checkouts do not contain bin/goose.exe, so the win32 package can be published without an executable, leaving Windows users with a broken bundled-server path.
Useful? React with 👍 / 👎.
| run: | | ||
| cd ui | ||
| # Publish all packages in the workspace | ||
| pnpm publish -r --access public --no-git-checks |
There was a problem hiding this comment.
Scope npm publish to intended packages
This replaces changesets-driven publishing with pnpm publish -r, which (per pnpm publish --help) publishes all workspace packages. In this repo, ui/pnpm-workspace.yaml includes desktop, so this step can attempt to publish ui/desktop (goose-app) alongside ACP/TUI/native packages, causing release failures or unintended npm publishes. The workflow should filter to the explicit release packages instead of publishing the entire workspace.
Useful? React with 👍 / 👎.
87bbad1 to
530ec6b
Compare
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 530ec6bced
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| run: | | ||
| cd ui | ||
| # Publish all packages in the workspace | ||
| pnpm publish -r --access public --no-git-checks |
There was a problem hiding this comment.
Filter publish to version-bumped packages
Running pnpm publish -r --access public --no-git-checks here attempts to publish every workspace package on each main-branch run, but this commit removed the changesets versioning step that previously prepared publishable versions. In practice that means unchanged package versions will be re-attempted and npm will reject already-published versions, so a release can fail before newly bumped packages are published; add a version-bump step (or publish filtering) so only packages with new versions are sent to npm.
Useful? React with 👍 / 👎.
I want to keep the goose-acp-server implementation there so that it's intact and can be moved to Unless I misunderstood you and there is still cleanup that can be done regardless. Happy to follow up. |
* origin/main: (63 commits) remove name from blog post (#8157) fix: use `overflow: clip` to not disrupt sticky ToC (#8158) chore(deps): bump path-to-regexp from 0.1.12 to 0.1.13 in /documentation (#8161) chore(deps): bump node-forge from 1.3.2 to 1.4.0 in /documentation (#8145) refactor: goose-acp-server -> goose binary for TUI (#8155) fix "View as Markdown" feature not working (#8160) feat(tui): UI improvements for messages, tool calls, text entry, etc (#8156) feat(desktop): add i18n infrastructure with react-intl (#8105) fix(tui): ordering of messages (#8144) fix: extension command with quotes in cli (#8150) chore(aaif): Use Azure Artifact Signing for Windows (#8116) chore(aaif): Switch macOS code signing (#8076) Remove unused tool call json in logs (#8147) feat(tui): tab expand tool calls cleanly (#8136) fix: replace panics with user-friendly errors in CLI session builder (#7901) fix: read GOOSE_CONTEXT_LIMIT from config.yaml, not just env vars (#7900) fix: deliver truncation notice as separate content block (#7899) fix: use platform-appropriate commands in developer extension instructions (#7898) fix: replace any with proper SVG types in icon components (#7873) chore: remove debug console.log statements, stale comments, and dead code (#8142) ...
Signed-off-by: Cameron Yick <[email protected]>
Cleanup now that
ui/acppackage usesgoose acpinstead of thegoose-acp-server. Everything now uses thegoosebinary wrapped in a native npm package.We can get back to having server support when we make
goose servedo whatgoose-acp-serverdoes now per #7697https://github.com/block/goose/actions/runs/23658726270 is a test publishing build. I will move PR out of draft if it doesn't introduce any new issues