Skip to content

Commit 3a3148d

Browse files
committed
Merge branch 'main' of github.com:block/goose into dkatz/canonical-context
* '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)
2 parents 54344c2 + 0206035 commit 3a3148d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2530
-2635
lines changed

.github/workflows/canary.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ concurrency:
1515
group: ${{ github.workflow }}-${{ github.ref }}
1616
cancel-in-progress: true
1717

18+
# Permissions for SLSA attestation, AWS OIDC codesigning, and release creation
19+
permissions:
20+
id-token: write # Required for Sigstore OIDC signing and AWS OIDC codesigning
21+
contents: write # Required for creating releases and by actions/checkout
22+
actions: read # Required by bundle-desktop-windows.yml reusable workflow
23+
attestations: write # Required for SLSA build provenance attestations
24+
1825
jobs:
1926
# ------------------------------------
2027
# 1) Prepare Version
@@ -100,13 +107,26 @@ jobs:
100107
needs: [build-cli, install-script, bundle-desktop, bundle-desktop-linux, bundle-desktop-windows]
101108
permissions:
102109
contents: write
110+
id-token: write # Required for Sigstore OIDC signing
111+
attestations: write # Required for SLSA build provenance attestations
103112

104113
steps:
105114
- name: Download all artifacts
106115
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
107116
with:
108117
merge-multiple: true
109118

119+
- name: Attest build provenance
120+
uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
121+
with:
122+
subject-path: |
123+
goose-*.tar.bz2
124+
Goose*.zip
125+
*.deb
126+
*.rpm
127+
*.flatpak
128+
download_cli.sh
129+
110130
# Create/update the canary release
111131
- name: Release canary
112132
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0

.github/workflows/pr-comment-bundle.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,20 @@ jobs:
136136
[📱 Download macOS Desktop App (arm64, unsigned)](https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/Goose-darwin-arm64.zip)
137137
138138
**Instructions:**
139-
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
139+
140+
The easiest way is to just run the following script:
141+
142+
`./scripts/pre-release.sh`
143+
144+
script which will download the latest release (or you can specify the release you need), does the
145+
unzip, xattr to get it out of quarantine and signs it.
146+
147+
If you need to do this manually:
148+
149+
* Download the file
150+
* Unzip
151+
* run `xattr -r -d com.apple.quarantine '/path/to/Goose.app'`
152+
* optionally run `codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'`
153+
* start the app
154+
155+
The signing step is only needed if you do something that uses mac entitlements like speech to text

.github/workflows/publish-docker.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ on:
1515
permissions:
1616
contents: read
1717
packages: write
18+
id-token: write # Required for Sigstore OIDC signing
19+
attestations: write # Required for SLSA build provenance attestations
1820

1921
jobs:
2022
docker:
@@ -51,6 +53,7 @@ jobs:
5153
type=raw,value={{tag}},enable=${{ startsWith(github.ref, 'refs/tags/v') }}
5254
5355
- name: Build and push Docker image
56+
id: docker-push
5457
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # pin@v6.18.0
5558
with:
5659
context: .
@@ -60,3 +63,10 @@ jobs:
6063
cache-from: type=gha
6164
cache-to: type=gha,mode=max
6265
platforms: linux/amd64,linux/arm64
66+
67+
- name: Attest Docker image
68+
uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
69+
with:
70+
subject-name: ghcr.io/${{ github.repository_owner }}/goose
71+
subject-digest: ${{ steps.docker-push.outputs.digest }}
72+
push-to-registry: true

.github/workflows/release-branches.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,8 @@ jobs:
2828
2929
**Instructions:**
3030
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
31+
32+
**To test speech-to-text**, you also need to codesign the app with the microphone entitlement:
33+
```
34+
codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
35+
```

.github/workflows/release.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ permissions:
1313
id-token: write # Required for AWS OIDC authentication in called workflow
1414
contents: write # Required for creating releases and by actions/checkout
1515
actions: read # May be needed for some workflows
16+
attestations: write # Required for SLSA build provenance attestations
1617

1718
concurrency:
1819
group: ${{ github.workflow }}-${{ github.ref }}
@@ -92,12 +93,26 @@ jobs:
9293
needs: [build-cli, install-script, bundle-desktop, bundle-desktop-intel, bundle-desktop-linux, bundle-desktop-windows]
9394
permissions:
9495
contents: write
96+
id-token: write # Required for Sigstore OIDC signing
97+
attestations: write # Required for SLSA build provenance attestations
9598
steps:
9699
- name: Download all artifacts
97100
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
98101
with:
99102
merge-multiple: true
100103

104+
- name: Attest build provenance
105+
uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
106+
with:
107+
subject-path: |
108+
goose-*.tar.bz2
109+
goose-*.zip
110+
Goose*.zip
111+
*.deb
112+
*.rpm
113+
*.flatpak
114+
download_cli.sh
115+
101116
# Create/update the versioned release
102117
- name: Release versioned
103118
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0

0 commit comments

Comments
 (0)