Skip to content

Commit c88bc24

Browse files
committed
Merge branch 'main' into lifei/sub-recipe-tool
* main: fix: Improves reliability of flaky log tests (#3029) Add xAI Test Coverage (#3020) Reorganizing tutorials (#3028) feat(providers): update Google Gemini models to latest available models (#2989) fix(docker): install protoc to fix lance-encoding build (#2995) fix: updated openrouter known models (#3021) Mnovich/temporal foreground tasks (#2895) add 'install in goose' asset (#3016) Added useDarkMode hook for detecting dark mode setting dynamically (#3019) docs: add sagemaker provider (#2980) Docs: Add Goose Recipes Cookbook Page (#2998) feat (cli): add an alias --id for --name param for goose session --resume command (#3018) fix: disable extension (#3000) Add xAI Provider Support for Grok Models (#2976) removing dlls from core bin (#3014) docs: Update Leaderboard in New Community Landing Page (#2954) Douwe/fix include for recipes (#2914)
2 parents 559217f + 09b06c5 commit c88bc24

File tree

158 files changed

+5777
-2227
lines changed

Some content is hidden

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

158 files changed

+5777
-2227
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Auto-reply to Recipe Submissions
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
jobs:
8+
thank-you-comment:
9+
if: contains(github.event.issue.title, '[Recipe]')
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Add thank-you comment
13+
uses: actions/github-script@v7
14+
with:
15+
script: |
16+
const commentBody = [
17+
"🎉 Thanks for submitting your Goose recipe to the Cookbook!",
18+
"",
19+
"We appreciate you sharing your workflow with the community — our team will review your submission soon.",
20+
"If accepted, it’ll be added to the [Goose Recipes Cookbook](https://block.github.io/goose/recipes) and you’ll receive LLM credits as a thank-you!",
21+
"",
22+
"Stay tuned — and keep those recipes coming 🧑‍🍳🔥"
23+
].join('\n');
24+
25+
github.issues.createComment({
26+
issue_number: context.issue.number,
27+
owner: context.repo.owner,
28+
repo: context.repo.repo,
29+
body: commentBody
30+
});
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: 🧑‍🍳 Submit a Recipe to the Goose Cookbook
2+
description: Share a reusable Goose session (aka a recipe) to help the community!
3+
title: "[Recipe] <your recipe title here>"
4+
labels: ["recipe submission"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for contributing to the Goose Cookbook! 🍳
10+
Recipes are reusable sessions created in Goose Desktop or CLI and shared with the community to help others vibe-code faster.
11+
12+
📌 **How to Submit**
13+
- Create your recipe using Goose (“Make Agent from this session”)
14+
- Fill out the JSON below using the format provided
15+
- Paste it into the field and submit the issue — we’ll review and add it to the Cookbook!
16+
17+
🪄 **What Happens After?**
18+
- If accepted, we’ll publish your recipe to the [Goose Recipes Cookbook](https://block.github.io/goose/recipes)
19+
- You’ll receive LLM credits as a thank-you!
20+
- Your GitHub handle will be displayed and linked on the recipe card
21+
22+
- type: textarea
23+
id: recipe-json
24+
attributes:
25+
label: Paste Your Recipe JSON Below
26+
description: Use the structure below and be sure to include your GitHub handle.
27+
placeholder: |
28+
{
29+
"id": "pr-generator",
30+
"title": "PR Generator",
31+
"description": "Generate pull request descriptions based on staged changes and git history.",
32+
"action": "Generate PR",
33+
"category": "Developer",
34+
"extensions": ["GitHub MCP", "Memory"],
35+
"activities": ["Summarize changes", "Create PR branch", "Push PR"],
36+
"recipeUrl": "https://goose.block.xyz/recipe/pr-generator",
37+
"author": "your-github-handle"
38+
}
39+
validations:
40+
required: true
41+
42+
- type: markdown
43+
attributes:
44+
value: |
45+
🛠 **Recipe Field Tips**
46+
- `"id"` should be lowercase, hyphenated, and unique (e.g. `my-awesome-recipe`)
47+
- `"action"` describes the core purpose of the recipe (e.g., `Generate Docs`)
48+
- `"category"` is the type of user this recipe is for (e.g., `Developer`, `Entertainment`)
49+
- `"extensions"` are the Goose tools this recipe uses
50+
- `"recipeUrl"` is from Goose Desktop/CLI
51+
- `"author"` is your GitHub handle — we’ll link to your profile in the Cookbook

.github/workflows/build-cli.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
echo "Building with explicit PROTOC path..."
8484
cross build --release --target ${TARGET} -p goose-cli -vv
8585
86-
- name: Build temporal-service for target platform
86+
- name: Build temporal-service for target platform using build.sh script
8787
run: |
8888
source ./bin/activate-hermit
8989
export TARGET="${{ matrix.architecture }}-${{ matrix.target-suffix }}"
@@ -116,9 +116,12 @@ jobs:
116116
;;
117117
esac
118118
119-
echo "Building temporal-service for ${GOOS}/${GOARCH}..."
119+
echo "Building temporal-service for ${GOOS}/${GOARCH} using build.sh script..."
120120
cd temporal-service
121-
go build -o "../target/${TARGET}/release/${BINARY_NAME}" main.go
121+
# Run build.sh with cross-compilation environment
122+
GOOS="${GOOS}" GOARCH="${GOARCH}" ./build.sh
123+
# Move the built binary to the expected location
124+
mv "${BINARY_NAME}" "../target/${TARGET}/release/${BINARY_NAME}"
122125
echo "temporal-service built successfully for ${TARGET}"
123126
124127
- name: Package CLI with temporal-service

.github/workflows/bundle-desktop-intel.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,12 @@ jobs:
150150
rustup target add x86_64-apple-darwin
151151
cargo build --release -p goose-server --target x86_64-apple-darwin
152152
153-
# Build temporal-service
153+
# Build temporal-service using build.sh script
154154
- name: Build temporal-service
155155
run: |
156-
echo "Building temporal-service..."
156+
echo "Building temporal-service using build.sh script..."
157157
cd temporal-service
158-
go build -o temporal-service main.go
159-
chmod +x temporal-service
158+
./build.sh
160159
echo "temporal-service built successfully"
161160
162161
# Install and prepare temporal CLI

.github/workflows/bundle-desktop-linux.yml

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,29 @@ jobs:
142142
restore-keys: |
143143
${{ runner.os }}-cargo-build-
144144
145-
# 8) Build the Rust goosed binary
145+
# 8) Set up Go for building temporal-service
146+
- name: Set up Go
147+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # pin@v5
148+
with:
149+
go-version: '1.21'
150+
151+
# 9) Build temporal-service using build.sh script
152+
- name: Build temporal-service
153+
run: |
154+
echo "Building temporal-service using build.sh script..."
155+
cd temporal-service
156+
./build.sh
157+
echo "temporal-service built successfully"
158+
159+
# 10) Build the Rust goosed binary
146160
- name: Build goosed binary
147161
run: |
148162
echo "Building goosed binary for Linux..."
149163
cargo build --release -p goose-server
150164
ls -la target/release/
151165
file target/release/goosed
152166
153-
# 9) Clean up build artifacts to save space
167+
# 11) Clean up build artifacts to save space
154168
- name: Clean up build artifacts
155169
run: |
156170
echo "Cleaning up to save disk space..."
@@ -167,16 +181,18 @@ jobs:
167181
# Check disk space
168182
df -h
169183
170-
# 10) Copy binary to Electron folder
171-
- name: Copy binary into Electron folder
184+
# 12) Copy binaries to Electron folder
185+
- name: Copy binaries into Electron folder
172186
run: |
173-
echo "Copying goosed binary to ui/desktop/src/bin/"
187+
echo "Copying binaries to ui/desktop/src/bin/"
174188
mkdir -p ui/desktop/src/bin
175189
cp target/release/goosed ui/desktop/src/bin/
190+
cp temporal-service/temporal-service ui/desktop/src/bin/
176191
chmod +x ui/desktop/src/bin/goosed
192+
chmod +x ui/desktop/src/bin/temporal-service
177193
ls -la ui/desktop/src/bin/
178194
179-
# 10a) Final cleanup before npm build
195+
# 13) Final cleanup before npm build
180196
- name: Final cleanup before npm build
181197
run: |
182198
echo "Final cleanup before npm build..."
@@ -188,7 +204,7 @@ jobs:
188204
# Check final disk space
189205
df -h
190206
191-
# 12) Install npm dependencies
207+
# 14) Install npm dependencies
192208
- name: Install npm dependencies
193209
run: |
194210
cd ui/desktop
@@ -199,7 +215,7 @@ jobs:
199215
# Verify installation
200216
ls -la node_modules/.bin/ | head -5
201217
202-
# 13) Build Electron app with Linux makers (.deb and .rpm)
218+
# 15) Build Electron app with Linux makers (.deb and .rpm)
203219
- name: Build Linux packages
204220
run: |
205221
cd ui/desktop
@@ -212,7 +228,7 @@ jobs:
212228
ls -la out/
213229
find out/ -name "*.deb" -o -name "*.rpm" | head -10
214230
215-
# 14) List all generated files for debugging
231+
# 16) List all generated files for debugging
216232
- name: List generated files
217233
run: |
218234
echo "=== All files in out/ directory ==="
@@ -224,23 +240,23 @@ jobs:
224240
echo "=== File sizes ==="
225241
find ui/desktop/out/ -name "*.deb" -o -name "*.rpm" -exec ls -lh {} \;
226242
227-
# 15) Upload .deb package
243+
# 17) Upload .deb package
228244
- name: Upload .deb package
229245
uses: actions/upload-artifact@v4
230246
with:
231247
name: Goose-linux-x64-deb
232248
path: ui/desktop/out/make/deb/x64/*.deb
233249
if-no-files-found: error
234250

235-
# 16) Upload .rpm package
251+
# 18) Upload .rpm package
236252
- name: Upload .rpm package
237253
uses: actions/upload-artifact@v4
238254
with:
239255
name: Goose-linux-x64-rpm
240256
path: ui/desktop/out/make/rpm/x64/*.rpm
241257
if-no-files-found: error
242258

243-
# 17) Create combined artifact with both packages
259+
# 19) Create combined artifact with both packages
244260
- name: Upload combined Linux packages
245261
uses: actions/upload-artifact@v4
246262
with:

.github/workflows/bundle-desktop-windows.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,20 @@ jobs:
196196
ls -la ./target/x86_64-pc-windows-gnu/release/goosed.exe
197197
ls -la ./target/x86_64-pc-windows-gnu/release/*.dll
198198
199-
# 4.5) Build temporal-service for Windows
199+
# 4.5) Build temporal-service for Windows using build.sh script
200200
- name: Build temporal-service for Windows
201201
run: |
202-
echo "Building temporal-service for Windows..."
202+
echo "Building temporal-service for Windows using build.sh script..."
203203
docker run --rm \
204204
-v "$(pwd)":/usr/src/myapp \
205205
-w /usr/src/myapp/temporal-service \
206206
golang:latest \
207-
sh -c "GOOS=windows GOARCH=amd64 go build -o temporal-service.exe main.go"
207+
sh -c "
208+
# Make build.sh executable
209+
chmod +x build.sh
210+
# Set Windows build environment and run build script
211+
GOOS=windows GOARCH=amd64 ./build.sh
212+
"
208213
echo "temporal-service.exe built successfully"
209214
210215
# 4.6) Download temporal CLI for Windows

.github/workflows/bundle-desktop.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,12 @@ jobs:
190190
- name: Build goosed
191191
run: source ./bin/activate-hermit && cargo build --release -p goose-server
192192

193-
# Build temporal-service
193+
# Build temporal-service using build.sh script
194194
- name: Build temporal-service
195195
run: |
196-
echo "Building temporal-service..."
196+
echo "Building temporal-service using build.sh script..."
197197
cd temporal-service
198-
go build -o temporal-service main.go
199-
chmod +x temporal-service
198+
./build.sh
200199
echo "temporal-service built successfully"
201200
202201
# Install and prepare temporal CLI

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ tmp/
1212
# will have compiled files and executables
1313
debug/
1414
target/
15+
.goose/
1516

1617
# These are backup files generated by rustfmt
1718
**/*.rs.bk
@@ -49,3 +50,8 @@ benchconf.json
4950
scripts/fake.sh
5051
do_not_version/
5152
/ui/desktop/src/bin/temporal
53+
/temporal-service/temporal.db
54+
/ui/desktop/src/bin/temporal.db
55+
/temporal.db
56+
/ui/desktop/src/bin/goose-scheduler-executor
57+
/ui/desktop/src/bin/goose

Cargo.lock

Lines changed: 14 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)