Repository navigation
Pin CLI 1.22 skills to v0.2.32 - #7159
Merged
Merged
Conversation
Signed-off-by: simonfaltum <simon.faltum@databricks.com>
Signed-off-by: simonfaltum <simon.faltum@databricks.com>
Signed-off-by: simonfaltum <simon.faltum@databricks.com>
Collaborator
Integration test reportCommit: 0a7abef
Top 4 slowest tests (at least 2 minutes):
|
denik
approved these changes
Oct 22, 2026
denik
reviewed
Oct 22, 2026
denik
left a comment
Contributor
There was a problem hiding this comment.
Please add changelog entry.
rugpanov
approved these changes
Oct 22, 2026
Signed-off-by: simonfaltum <simon.faltum@databricks.com>
simonfaltum
enabled auto-merge
October 22, 2026 11:17
7 tasks done
dhakad22klx
pushed a commit
to dhakad22klx/cli
that referenced
this pull request
Oct 24, 2026
## Changes - Add acceptance tests for `databricks aitools list` in `acceptance/cmd/aitools/list/`: - `explicit-ref`: `DATABRICKS_SKILLS_REF` is set. The CLI fetches only the skills manifest. - `pinned`: the compat entry pins `0.2.32`. The CLI does not call the latest-release API. - `latest`: the compat entry is `latest`, and the API returns `v0.2.33`. The CLI lists the skills from that release. - `latest-lookup-fails`: the compat entry is `latest`, and the API returns 403. The command fails with `resolve latest skills release: HTTP 403 fetching latest skills release`. - The skills latest-release lookup now reads `DATABRICKS_CLI_GITHUB_API_URL`, the existing override from `libs/versioncheck`. `versioncheck.GitHubAPIURL` is now exported, and both lookups use it. `versioncheck` already owns this variable, so the helper stays there. The helper now also removes a trailing `/`. - The `-run` pattern of `test-exp-aitools` now uses top-level alternation and includes `cmd/aitools`. `TestAccept/(apps|experimental/aitools)` selected only `apps`, because `go test` does not split on a `/` inside parentheses. So a change in `libs/aitools` now runs the new tests, and the 10 `experimental/aitools` acceptance tests also run in this target now. The `sources` do not change: a change in `acceptance/cmd/aitools` still runs `task test`, which includes Windows. ## Why No acceptance test ran `aitools list`. The aitools acceptance tests set `DATABRICKS_SKILLS_REF`, so they never used the compat manifest or the latest-release lookup. Because of this, the CLI tests did not find the 1.22.0 regression from databricks#7069. The VS Code unit tests found it in databricks/databricks-vscode#2269, and databricks#7159 mitigates it. The `latest-lookup-fails` output records the current behavior. When `aitools list` gets an embedded fallback, the test must change, and the diff shows the new behavior. Each test copies a committed `compat-manifest.json` into `DATABRICKS_CACHE_DIR`. So the result does not depend on the embedded or the remote compat manifest. `test.toml` also sets `DATABRICKS_SKILLS_REF`, `DATABRICKS_FORCE_EMBEDDED_COMPAT`, and `DATABRICKS_CACHE_ENABLED`, so values from the shell do not change the result. ## Tests - `go test ./acceptance -run 'TestAccept/apps|TestAccept/cmd/aitools|TestAccept/experimental/aitools'`: all pass, also with `DATABRICKS_SKILLS_REF=main` and `CLAUDE_CONFIG_DIR` set in the shell. - `go test ./libs/versioncheck/... ./libs/aitools/... ./cmd/aitools/... ./cmd/version/... ./libs/clicompat/...`, with the new `TestGitHubAPIURL` (default, override, and trailing `/`). - `golangci-lint` on the changed packages: 0 issues. ## Known limitations - The tests cover only `aitools list`. Plugin installs use the same lookup and have no acceptance test. - The JSON output keeps only `release`, `skills`, and `summary`, because agent detection depends on the binaries on `PATH`. - `test-exp-aitools` has no Windows runner. So a PR that changes only `libs/aitools` or `cmd/aitools` runs the new tests on Linux and macOS only. - `DATABRICKS_CLI_GITHUB_API_URL` now also redirects the skills lookup. A mirror that has only `databricks/cli` releases makes `aitools list` fail. This pull request and its description were written by Isaac. --------- Co-authored-by: Isaac <no-reply@databricks.com>
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
Pin CLI 1.22.0+ to the current latest skills release,
0.2.32. Adjust existing tests to support the pin.Why
After #7069,
aitools listand plugin installs fail when the unauthenticated GitHub latest-release lookup fails. The VS Code CLI bump reproducesresolve latest skills release: HTTP 403 fetching latest skills releaseon Linux and Windows.This remote manifest change mitigates the failure for released CLI 1.22.0 once its compatibility cache refreshes (one-hour TTL). Keep 1.22.0 pinned when restoring latest tracking for a fixed CLI release.
Tests
go test ./libs/clicompat/... ./libs/aitools/installer/...This PR was written by Codex.