Bugbash uag - #6559
Open
rclarey wants to merge 5 commits into
Open
Conversation
Contributor
Approval status: pending
|
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>
Collaborator
Integration test reportCommit: 657c8a8
Top 6 slowest tests (at least 2 minutes):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Why
Tests