Skip to content

ssh: move command group out of experimental into cmd/ssh - #6396

Open
TanishqDatabricks wants to merge 3 commits into
mainfrom
ssh-out-of-experimental
Open

ssh: move command group out of experimental into cmd/ssh#6396
TanishqDatabricks wants to merge 3 commits into
mainfrom
ssh-out-of-experimental

Conversation

@TanishqDatabricks

@TanishqDatabricks TanishqDatabricks commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Changes

Move the ssh command group out of experimental so it appears when a user calls databricks help.

  • Move: experimental/ssh/cmd/ssh/. The command files are flattened up from the inner cmd/ subpackage into cmd/ssh/ directly (matching cmd/labs), and the internal/ tree moves to cmd/ssh/internal/, so databricks ssh lives alongside the other top-level command groups under cmd/. All import paths rewritten experimental/ssh/...cmd/ssh/....
  • Unhide: removed Hidden: true, so databricks ssh now shows in databricks --help.
  • CI job rename: test-exp-sshtest-ssh across the Taskfile task, tools/testmask (ciTargets + fixtures), the push.yml matrix job, and the pr-checklist skill. Dropped the now-redundant ./experimental/ssh/... from TEST_PACKAGES (covered by ./cmd/...).
  • References: updated ruff.toml, cross-reference comments in libs/process and libs/testserver, and the moved docs.
  • Changelog: added .nextchanges/cli/ssh-out-of-experimental.md.

Pure relocation + visibility change; no change to the command's behavior. Git tracked the whole tree as renames.

⚠️ Note for merging

The CI check renamed from task test-exp-ssh (...) to task test-ssh (...). If the old name is a required status check in branch protection, the required-check list must be updated or merges will block.

Tests

  • task test-ssh (renamed) runs the ssh unit tests + TestAccept/ssh acceptance tests.
  • Verified locally: gofmt clean, no remaining experimental/ssh / test-exp-ssh references, and the testmask task↔ciTargets↔fixtures mapping is consistent. A full go build/test wasn't runnable in my environment (module proxy unreachable), so relying on CI to confirm the compile.

This pull request and its description were written by Isaac.

Graduate the ssh command group out of experimental:

- Move experimental/ssh/ -> cmd/ssh/. Command files are flattened up from
  the inner cmd/ subpackage into cmd/ssh/ directly (matching cmd/labs), and
  the internal/ tree moves to cmd/ssh/internal/, so `databricks ssh` lives
  alongside the other top-level command groups under cmd/. All import paths
  rewritten experimental/ssh/... -> cmd/ssh/...
- Unhide the command (remove Hidden: true) so it appears in `databricks --help`.
- Rename the CI test job test-exp-ssh -> test-ssh across the Taskfile task,
  tools/testmask (ciTargets + fixtures), the push.yml matrix job, and the
  pr-checklist skill. Drop the now-redundant ./experimental/ssh/... from
  TEST_PACKAGES (covered by ./cmd/...).
- Update remaining path references (ruff.toml, libs cross-reference comments,
  moved docs) and add a .nextchanges/cli changelog fragment.

Co-authored-by: Isaac <no-reply@databricks.com>
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Approval status: pending

/libs/process/ - needs approval

Files: libs/process/group.go
Suggested: @renaudhartert-db
Also eligible: @simonfaltum, @mihaimitrea-db, @rauchy, @parthban-db, @hectorcast-db, @tanmay-db, @Divyansh-db, @tejaskochar-db, @chrisst

General files (require maintainer)

64 files changed
Based on git history:

  • @pietern -- recent work in .github/workflows/, ./, tools/testmask/

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

TanishqDatabricks and others added 2 commits August 27, 2026 14:53
Two test fixes for the test-exp-ssh -> test-ssh rename and unhiding of the
ssh command in the previous commit:

- tools/testmask/targets_test.go: GetTargets returns alphabetically sorted
  targets, and "test-ssh" sorts after "test-pipelines"/"test-sandbox" whereas
  the old "test-exp-ssh" sorted before them. Reorder the expected slices in
  the "triggers all" cases to match; the string rename alone left them stale.
- acceptance/help/output.txt: `databricks` root help now lists `ssh` under
  Additional Commands (it was hidden before), so add the entry.

Co-authored-by: Isaac <no-reply@databricks.com>
ssh graduated out of experimental and is no longer hidden, so it can no
longer illustrate the "top-level in cmd/cmd.go with Hidden: true"
registration option. Point at `sandbox`, which still registers that way.

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

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: de0b9a7

Run: 33074470185

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 4 274 1191 3:55
💚​ aws windows 1 4 276 1189 3:32
💚​ azure linux 1 4 273 1191 4:20
💚​ azure windows 1 4 275 1189 3:43
💚​ gcp linux 1 4 274 1191 4:27
💚​ gcp windows 1 4 276 1189 3:44
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:38 azure windows TestAccept
3:38 gcp windows TestAccept
3:28 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