Skip to content

Bugbash uag - #6559

Open
rclarey wants to merge 5 commits into
mainfrom
bugbash-uag
Open

Bugbash uag#6559
rclarey wants to merge 5 commits into
mainfrom
bugbash-uag

Conversation

@rclarey

@rclarey rclarey commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Changes

Why

Tests

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Approval status: pending

/internal/ - needs approval

Files: internal/bugbash/exec.sh
Suggested: @simonfaltum
Also eligible: @Divyansh-db, @renaudhartert-db, @hectorcast-db, @parthban-db, @tanmay-db, @tejaskochar-db, @mihaimitrea-db, @chrisst, @rauchy

General files (require maintainer)

11 files changed
Based on git history:

  • @anton-107 -- recent work in experimental/ssh/internal/client/, experimental/ssh/cmd/, .nextchanges/cli/

Any maintainer (@andrewnester, @anton-107, @denik, @pietern, @shreyas-goenka, @simonfaltum, @renaudhartert-db, @janniklasrose, @lennartkats-db, @rugpanov) can approve all areas.
See OWNERS for ownership rules.

rclarey and others added 5 commits September 8, 2026 09:19
Adds a hidden `databricks ssh agent-shim <agent>` command that runs on the
serverless driver: it probes the workspace AI Gateway, sets up PATH, and
execs a ucode-configured coding agent (Claude Code, Codex) with the
Databricks session context injected.

This first commit assumes the toolchain (uv/ucode/node) is already present
on the driver; first-run bootstrap of that toolchain follows in the next
commit.

Co-authored-by: Isaac <no-reply@databricks.com>
On first launch the shim now installs the toolchain the agent needs before
execing ucode: uv (into ~/.local/bin), the latest ucode release via uv, and
Node/npm (downloaded and SHA256-verified) when the serverless image ships
none. It also silences npm's update-notifier and records the resolved PATH
so later launches skip straight to the agent.

Co-authored-by: Isaac <no-reply@databricks.com>
An interactive `databricks ssh connect` session now writes a per-agent
launcher onto PATH before opening the shell, so `claude` / `codex` resolve to
the uploaded CLI's `ssh agent-shim <agent>` (which bootstraps and launches the
ucode-configured agent). Serverless-only, and only when the workspace home is
known so the wrapper can locate the CLI; the shim dir is appended to PATH so a
wrapper never shadows a real binary of the same name.

Co-authored-by: Isaac <no-reply@databricks.com>
The agent-shim command streamed the raw output of its bootstrap
subprocesses (uv, ucode, node/npm) straight to the terminal, which was
noisy and hard to follow.

Render each step with the shared cmdio spinner and a short description
instead: the subprocess output is captured and hidden, the spinner is
replaced with a checkmark when the step succeeds, and the full captured
output (stdout+stderr, in order) is printed only when a step fails. In a
non-interactive terminal it degrades to a plain checkmark line per step.

Co-authored-by: Isaac <no-reply@databricks.com>
Download the release-build snapshot archives into ./bugbash (relative to
where the script is run) instead of a temp directory, so testers can pass
--releases-dir to 'databricks ssh connect'. The per-platform binary is
still extracted into a temp directory for $PATH.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 657c8a8

Run: 34199066769

Env 💚​RECOVERED ✅​pass 🙈​skip Time
💚​ aws linux 1 275 15 5:34
💚​ aws windows 1 277 13 5:18
💚​ azure linux 1 274 15 5:15
💚​ azure windows 1 276 13 3:43
💚​ gcp linux 1 275 15 5:36
💚​ gcp windows 1 277 13 3:41
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
Top 6 slowest tests (at least 2 minutes):
duration env testname
3:58 aws linux TestAccept
3:51 azure linux TestAccept
3:51 gcp linux TestAccept
3:40 azure windows TestAccept
3:39 gcp windows TestAccept
3:37 aws windows TestAccept

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants