Add testing instructions for speech to text#7185
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds manual testing guidance for the desktop app’s local Speech-to-Text flow, and updates automated PR/release comments to include codesigning steps needed to enable microphone access on macOS.
Changes:
- Add a “Speech-to-Text (Local Model)” section to the release manual testing checklist.
- Update PR/release workflow comment bodies with a codesign command using the microphone entitlement.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
RELEASE_CHECKLIST.md |
Adds a manual checklist section for verifying local Speech-to-Text. |
.github/workflows/release-branches.yml |
Adds codesigning instructions to the release-candidate PR comment body. |
.github/workflows/pr-comment-bundle.yml |
Adds codesigning instructions to the .bundle PR comment body. |
| @@ -28,3 +28,8 @@ jobs: | |||
|
|
|||
| **Instructions:** | |||
| After downloading, unzip the file and drag the goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` and then open the app | |||
There was a problem hiding this comment.
The instructions use goose.app in the text/xattr command but the built bundle name in this repo is Goose.app, so these steps won’t match what users actually unzip; update the wording/paths to consistently reference the real app bundle name.
| After downloading, unzip the file and drag the goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` and then open the app | |
| After downloading, unzip the file and drag the Goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/Goose.app'` and then open the app |
|
|
||
| **To test speech-to-text**, you also need to codesign the app with the microphone entitlement: | ||
| ``` | ||
| codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app' |
There was a problem hiding this comment.
--entitlements ui/desktop/entitlements.plist assumes the reviewer has a repo checkout at that path, but the unsigned downloadable zip produced by bundle:default only contains Goose.app; make the instructions self-contained (e.g., include/download the entitlements file alongside the zip, or reference an entitlements file shipped inside the archive).
| codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app' | |
| codesign --force --deep --sign - --entitlements '/path/to/Goose.app/Contents/Resources/entitlements.plist' '/path/to/Goose.app' |
|
|
||
| **Instructions:** | ||
| After downloading, unzip the file and drag the goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` and then open the app No newline at end of file | ||
| After downloading, unzip the file and drag the goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` and then open the app |
There was a problem hiding this comment.
The instructions reference goose.app but the build artifacts/workflows elsewhere use Goose.app; align the app bundle name in the text and quarantine removal command so reviewers run the correct commands.
| After downloading, unzip the file and drag the goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` and then open the app | |
| After downloading, unzip the file and drag the Goose.app to a location you prefer. The app is unsigned, so to run it run `xattr -r -d com.apple.quarantine '/path/to/Goose.app'` and then open the app |
|
|
||
| **To test speech-to-text**, you also need to codesign the app with the microphone entitlement: | ||
| ``` | ||
| codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app' |
There was a problem hiding this comment.
The codesign instruction uses --entitlements ui/desktop/entitlements.plist, but someone who only downloads/unzips the artifact won’t have that file; consider packaging the entitlements plist with the zip or linking to a raw URL so the command is runnable as-written.
| codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app' | |
| curl -o /tmp/entitlements.plist https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/ui/desktop/entitlements.plist | |
| codesign --force --deep --sign - --entitlements /tmp/entitlements.plist '/path/to/Goose.app' |
DOsinga
left a comment
There was a problem hiding this comment.
I added a reference to the ./script/pre-release.sh script to do the download/unpack/xattr/sign in one go and also added test
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| * Download the file | ||
| * Unzip | ||
| * run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` | ||
| * optionally run `codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'` | ||
| * start the app |
There was a problem hiding this comment.
These list items are heavily indented. In Markdown, indentation can cause content to render as a code block instead of a bulleted list (depending on surrounding indentation in the YAML block). Consider reducing leading spaces and using a standard Markdown list format so it renders consistently.
| * Download the file | |
| * Unzip | |
| * run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` | |
| * optionally run `codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'` | |
| * start the app | |
| * Download the file | |
| * Unzip | |
| * run `xattr -r -d com.apple.quarantine '/path/to/goose.app'` | |
| * optionally run `codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'` | |
| * start the app |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
|
||
| * Download the file | ||
| * Unzip | ||
| * run `xattr -r -d com.apple.quarantine '/path/to/Goose.app'` |
There was a problem hiding this comment.
The app name should be 'Goose.app' (capital G), not 'goose.app'. The actual application bundle is named 'Goose.app' as seen in other workflow files.
| * Download the file | ||
| * Unzip | ||
| * run `xattr -r -d com.apple.quarantine '/path/to/Goose.app'` | ||
| * optionally run `codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'` |
There was a problem hiding this comment.
The app name should be 'Goose.app' (capital G), not 'goose.app'. The actual application bundle is named 'Goose.app' as seen in other workflow files.
…ntext * 'main' of github.com:block/goose: feat: add onFallbackRequest handler to McpAppRenderer (#7208) feat: add streaming support for Claude Code CLI provider (#6833) fix: The detected filetype is PLAIN_TEXT, but the provided filetype was HTML (#6885) Add prompts (#7212) Add testing instructions for speech to text (#7185) Diagnostic files copying (#7209) fix: allow concurrent tool execution within the same MCP extension (#7202) fix: handle missing arguments in MCP tool calls to prevent GUI crash (#7143) Filter Apps page to only show standalone Goose Apps (#6811) opt: use static for Regex (#7205) nit: show dir in title, and less... jank (#7138) feat(gemini-cli): use stream-json output and re-use session (#7118) chore(deps): bump qs from 6.14.1 to 6.14.2 in /documentation (#7191) Switch jsonwebtoken to use aws-lc-rs (already used by rustls) (#7189) chore(deps): bump qs from 6.14.1 to 6.14.2 in /evals/open-model-gym/mcp-harness (#7184) Add SLSA build provenance attestations to release workflows (#7097) fix save and run recipe not working (#7186) Upgraded npm packages for latest security updates (#7183) docs: reasoning effort levels for Codex provider (#6798)
No description provided.