Goose's Rust test suite passed with no provider keys. The CI job took 1,121 seconds.
We cloned Goose at 4811ae25f736 and ran its CI format check and crates test suite verbatim on GitHub Actions with no API keys. The upstream job passed in 1,121 seconds.
By David Discua
Measured in the lab
- 1121 s
- upstream job
- 178 s
- security job
- 4
- lab tests passed
- upstream cargo fmt --check passes at the pin
- crates cargo test --locked passes with GOOSE_DISABLE_KEYRING=1
- lab fmt, clippy and 4 tests pass
- cargo-audit and gitleaks security job passes
From reports/gate.json · run on October 14, 2026. Goose pin 4811ae25f736; upstream fmt and crates cargo test --locked in CI run 38514206203 on Linux; local Docker unavailable, lab suite on macOS
How it is wired
01/03The lab clones Goose at a fixed commit.
Goose is an open source AI agent that, by its GitHub description, can install, execute, edit and test with any LLM. Before trying any of that, we wanted to know whether its own Rust tests pass on a clean machine with no provider keys. We cloned Goose at commit 4811ae25f736 and ran the format check and crates test suite from its .github/workflows/ci.yml verbatim. The GitHub Actions job passed in 1,121 seconds, and the catch is that we could only run it there.
The catch
The upstream steps need Linux with sudo apt. The script installs libdbus-1-dev and libxcb1-dev, runs Goose's repair-v8-prebuilt.sh, sets GOOSE_DISABLE_KEYRING=1 and RUST_MIN_STACK=8388608, and runs cargo test --locked from inside crates/, the working directory upstream's workflow sets. Docker Desktop was down on our Mac when we shipped, so the heavy run exists only as the CI upstream job.
The report records that job's conclusion and duration and has no per-test counts. Treat it as a pass or fail on the pinned commit. A green keyless suite also tells you nothing about how Goose behaves with a live model. Provider keys (OPENAI_API_KEY, ANTHROPIC_API_KEY) stay commented out in .env.example and CI never reads them.
What we ran (keyless)
cp .env.example .env
export DISABLE_TELEMETRY=1 DO_NOT_TRACK=1
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --all
python3 scripts/check-banned-phrases
bash scripts/vendor-upstream.sh
bash scripts/upstream-goose.sh # Linux with sudo apt; CI job upstream
scripts/upstream-goose.sh refuses to run if vendor/goose is not at the pin, then runs these steps from upstream CI in order:
cargo fmt --checkapt install libdbus-1-dev libxcb1-devrepair-v8-prebuilt.shGOOSE_DISABLE_KEYRING=1 RUST_MIN_STACK=8388608cd crates && cargo test --locked
From reports/gate.json, run on October 14, 2026, for lab commit e95688e and CI run 38514206203:
| Check | Result |
|---|---|
Lab cargo fmt and cargo clippy (macOS) | pass |
Lab cargo test --all | 4 passed, 0 failed, 0 ignored |
Skill mirrors absent, .env gitignored | pass |
CI lab job | success, 14 s |
CI security job (cargo-audit, gitleaks) | success, 178 s |
CI upstream job (Goose fmt and crates tests) | success, 1,121 s |
The four lab tests check the skill frontmatter and that the upstream script contains every step above with no provider secret requirements.
How it is wired
Goose runs as a local agent that talks to an LLM provider and to MCP extensions. This lab sits outside it and treats Goose as a dependency to verify: pin the commit, run upstream's own CI steps, and fail if they do not pass. The lab skill goose-keyless-ci covers the optional next step of running Goose with MCP and a live key, which stays out of CI.
Minilab (open source)
Upstream is aaif-goose/goose: 55,286 stars, Apache-2.0, Rust, as of October 14, 2026. On a Linux machine, run bash scripts/upstream-goose.sh and compare your timing with the 1,121 seconds above.
Run it yourself
SkilledDragonCorp/minilab-goose-keyless-ci
Clone, install and run the report with no API keys. The numbers above are what that run writes.
cargo test --all && bash scripts/vendor-upstream.sh && bash scripts/upstream-goose.shSkilledDragon is not affiliated with the Goose project or its maintainers. Numbers are from our own keyless lab run; re-run the report before relying on them. Marks belong to their owners.
All labs