Skip to content

Add forbidigo rules for terminal detection and fix violations - #4302

Merged
pietern merged 15 commits into
mainfrom
cmdio-forbid-term-checks
Jan 19, 2026
Merged

Add forbidigo rules for terminal detection and fix violations#4302
pietern merged 15 commits into
mainfrom
cmdio-forbid-term-checks

Conversation

@pietern

@pieternpietern commented Jan 16, 2026

Copy link
Copy Markdown
Contributor

Changes

Configure forbidigo to prevent direct use of term.IsTerminal and isatty functions outside libs/cmdio.

Depends on #4298 and #4301.

Why

Use cmdio.IsPromptSupported() instead for consistent capability detection.

pieternand others added 7 commits January 15, 2026 20:32
Replace scattered interactive/prompt booleans in cmdIO with a single
Capabilities struct that encapsulates all terminal capability detection
(TTY status, color support, prompt support, Git Bash detection).
Changes:
- Add Capabilities struct with methods SupportsInteractive(), SupportsPrompt(), SupportsColor()
- Move IsTTY to tty.go with FakeTTY test helper
- Replace cmdio.IsTTY(w) with cmdio.SupportsColor(ctx, w) for color decisions
- Replace stdin TTY check with IsPromptSupported() in aitools install
No behavioral changes. Respects NO_COLOR and TERM=dumb throughout.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
All prompt functions now consistently write to stderr, removing the need
to check if stdout is a TTY for prompt support.
Changes:
- Select() now sets Stdout to stderr
- Secret() now sets Stdin and Stdout to use cmdio streams (stderr)
- Prompt() now uses stderr instead of stdout
- AskSelect() now explicitly sets Stdin and Stdout
- SupportsPrompt() no longer requires stdoutIsTTY
This simplifies the logic and follows Unix conventions: keep stdout clean
for data/piping, use stderr for interactive UI elements. Now prompts work
even when stdout is redirected (e.g., `databricks cmd | tee output.txt`).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Configure forbidigo to prevent direct use of term.IsTerminal and
isatty functions outside libs/cmdio. Use cmdio.IsPromptSupported()
instead for consistent capability detection.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Comment thread.golangci.yaml Outdated
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jan 16, 2026

Copy link
Copy Markdown
Collaborator

Commit: 5380843

Run: 21131029993

Env❌​FAIL🟨​KNOWN💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🟨​aws linux710241169520:56
🟨​aws windows107241369321:57
❌​aws-ucws linux3314258356873:06
❌​aws-ucws windows3611258556671:48
💚​azure linux12341369419:29
🟨​azure windows48341569221:00
❌​azure-ucws linux3111358156762:25
❌​azure-ucws windows348358356559:31
💚​gcp linux12340270021:12
🟨​gcp windows48340469820:24
22 interesting tests: 10 KNOWN, 8 RECOVERED, 3 FAIL, 1 SKIP
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🟨​K🟨​K💚​R🟨​K🟨​K🟨​K💚​R🟨​K
💚​TestAccept/bundle/deployment/bind/alert🙈​S🙈​S🙈​S🙈​S💚​R💚​R💚​R💚​R💚​R💚​R
🟨​TestAccept/bundle/generate/alert💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K
💚​TestAccept/bundle/resources/alerts/basic💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions🟨​K🟨​K🟨​K🟨​K🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions🟨​K🟨​K💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
❌​TestAccept/bundle/resources/synced_database_tables/basic🙈​s🙈​s❌​F❌​F🙈​s🙈​s❌​F❌​F🙈​s🙈​s
❌​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F❌​F❌​F
❌​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F❌​F❌​F
💚​TestAccept/ssh/connection💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
Top 38 slowest tests (at least 2 minutes):
durationenvtestname
5:53gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:43aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:41aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:40aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:40aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:38gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:36aws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:34aws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
5:18gcp linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
5:15gcp windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
4:13azure-ucws windowsTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
3:25gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:08gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:08azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:06gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:01aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:57aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:57gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:43aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:43aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:43azure-ucws linuxTestAccept/bundle/resources/experiments/basic/DATABRICKS_BUNDLE_ENGINE=terraform
2:42aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:33azure-ucws windowsTestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=yes/PY=yes/READPLAN=
2:31aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
2:26aws-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct
2:24azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:19aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:19azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:19azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:18aws-ucws linuxTestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=terraform/UV_PYTHON=3.10
2:12azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:11azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:11azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:09aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:09aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:07azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:06aws-ucws linuxTestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=yes/PY=yes/READPLAN=
2:05azure-ucws linuxTestAccept/bundle/resources/models/basic/DATABRICKS_BUNDLE_ENGINE=direct

Base automatically changed from cmdio-prompts-stderr to mainJanuary 19, 2026 07:47
@pietern
pietern requested a review from a team as a code ownerJanuary 19, 2026 07:47
@pietern

Copy link
Copy Markdown
ContributorAuthor

Integration test failures are unrelated.

@pietern
pietern merged commit 94ab80d into mainJan 19, 2026
22 of 23 checks passed
@pietern
pietern deleted the cmdio-forbid-term-checks branch January 19, 2026 10:10
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Commit: 94ab80d

Run: 21133463818

Env❌​FAIL🟨​KNOWN🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
❌​aws linux571102441681107:04
❌​aws windows2107244767966:18
❌​aws-ucws linux31314260954882:06
❌​aws-ucws windows30611261254678:04
❌​azure linux914113436680116:12
🟨​azure windows48345167842:56
❌​azure-ucws linux29111360954772:37
❌​azure-ucws windows1548362554571:33
❌​gcp linux95273418689121:29
❌​gcp windows657342568775:22
58 interesting tests: 38 FAIL, 11 KNOWN, 7 RECOVERED, 1 SKIP, 1 flaky
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/deployment/bind/alert🙈​S🙈​S🙈​S🙈​S💚​R💚​R💚​R💚​R🟨​K🟨​K
❌​TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p❌​F❌​F
❌​TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p❌​F❌​F
🟨​TestAccept/bundle/generate/alert💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform💚​R🟨​K💚​R🟨​K💚​R🟨​K💚​R🟨​K🟨​K🟨​K
❌​TestAccept/bundle/integration_whl/base❌​F✅​p❌​F❌​F❌​F✅​p❌​F✅​p❌​F❌​F
❌​TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct❌​F✅​p❌​F❌​F✅​p✅​p❌​F✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform❌​F✅​p❌​F❌​F❌​F✅​p❌​F✅​p❌​F❌​F
❌​TestAccept/bundle/integration_whl/custom_params✅​p✅​p❌​F❌​F🔄​f✅​p❌​F✅​p✅​p❌​F
❌​TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p🔄​f✅​p✅​p✅​p✅​p❌​F
❌​TestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p❌​F❌​F✅​p✅​p❌​F✅​p✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster✅​p✅​p❌​F❌​F❌​F✅​p❌​F✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p❌​F❌​F❌​F✅​p❌​F✅​p✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p❌​F❌​F🔄​f✅​p❌​F✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version✅​p✅​p❌​F❌​F❌​F✅​p❌​F❌​F❌​F✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER✅​p✅​p❌​F❌​F🔄​f✅​p❌​F❌​F❌​F✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION✅​p✅​p❌​F❌​F❌​F✅​p✅​p❌​F🔄​f✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER✅​p✅​p❌​F❌​F❌​F✅​p❌​F❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION✅​p✅​p❌​F❌​F✅​p✅​p❌​F❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_single_user❌​F❌​F❌​F❌​F❌​F✅​p❌​F❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct🔄​f✅​p❌​F❌​F✅​p✅​p❌​F❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F✅​p❌​F❌​F✅​p✅​p❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/serverless🙈​s🙈​s❌​F❌​F🙈​s🙈​s❌​F❌​F🙈​s🙈​s
❌​TestAccept/bundle/integration_whl/serverless/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F❌​F✅​p
❌​TestAccept/bundle/integration_whl/serverless/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F❌​F❌​F
❌​TestAccept/bundle/integration_whl/serverless_custom_params🙈​s🙈​s❌​F❌​F🙈​s🙈​s❌​F✅​p🙈​s🙈​s
❌​TestAccept/bundle/integration_whl/serverless_custom_params/DATABRICKS_BUNDLE_ENGINE=direct✅​p❌​F✅​p✅​p
❌​TestAccept/bundle/integration_whl/serverless_custom_params/DATABRICKS_BUNDLE_ENGINE=terraform❌​F✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/serverless_dynamic_version🙈​s🙈​s❌​F❌​F🙈​s🙈​s❌​F✅​p🙈​s🙈​s
❌​TestAccept/bundle/integration_whl/serverless_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct❌​F✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/serverless_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F❌​F✅​p
❌​TestAccept/bundle/integration_whl/wrapper✅​p✅​p✅​p❌​F✅​p✅​p❌​F✅​p🙈​s🙈​s
❌​TestAccept/bundle/integration_whl/wrapper/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p❌​F✅​p✅​p❌​F✅​p
❌​TestAccept/bundle/integration_whl/wrapper_custom_params✅​p✅​p❌​F❌​F✅​p✅​p✅​p❌​F🙈​s🙈​s
❌​TestAccept/bundle/integration_whl/wrapper_custom_params/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p❌​F❌​F✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/integration_whl/wrapper_custom_params/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p❌​F✅​p✅​p✅​p✅​p❌​F
💚​TestAccept/bundle/resources/alerts/basic💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/basic/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/alerts/with_file/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
❌​TestAccept/bundle/resources/clusters/run/spark_python_task✅​p✅​p❌​F✅​p✅​p✅​p❌​F✅​p✅​p✅​p
❌​TestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p❌​F✅​p✅​p✅​p❌​F✅​p✅​p✅​p
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions🟨​K🟨​K🟨​K🟨​K🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K🟨​K🟨​K
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions🟨​K🟨​K💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
❌​TestAccept/bundle/resources/synced_database_tables/basic🙈​s🙈​s❌​F❌​F🙈​s🙈​s❌​F❌​F🙈​s🙈​s
❌​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=direct❌​F❌​F❌​F❌​F
❌​TestAccept/bundle/resources/synced_database_tables/basic/DATABRICKS_BUNDLE_ENGINE=terraform❌​F❌​F❌​F❌​F
💚​TestAccept/ssh/connection💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🔄​TestSyncEnsureRemotePathIsUsableIfRepoExists✅​p✅​p✅​p✅​p✅​p✅​p✅​p✅​p🔄​f✅​p
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
14:34aws-ucws linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS
13:47gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
13:31gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
12:16aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
12:11aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
11:02aws-ucws windowsTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
10:51azure-ucws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
10:50aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform
10:26azure-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS
10:13aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
9:58aws-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
9:43gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
9:30aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/running-endpoint/DATABRICKS_BUNDLE_ENGINE=direct
9:23azure linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
9:09gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
9:06aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:54aws-ucws windowsTestAccept/bundle/resources/database_catalogs/basic/DATABRICKS_BUNDLE_ENGINE=direct
8:38gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:38gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
8:24gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
8:18azure-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
8:02aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:01aws linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_15.4_LTS
7:58gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
7:57aws-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS
7:56aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
7:55aws windowsTestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=terraform
7:51aws-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS
7:47aws-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS
7:43gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
7:41aws-ucws linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
7:31gcp windowsTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
7:30gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
7:28azure windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
7:25aws-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_13.3_LTS
7:23aws-ucws linuxTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
7:23aws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
7:08aws linuxTestSparkJarTaskDeployAndRunOnWorkspace/Databricks_Runtime_14.3_LTS
6:58azure-ucws windowsTestAccept/bundle/integration_whl/custom_params/DATABRICKS_BUNDLE_ENGINE=direct
6:51aws-ucws linuxTestAccept/bundle/resources/database_instances/single-instance/DATABRICKS_BUNDLE_ENGINE=terraform
6:51azure-ucws windowsTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
6:47aws-ucws linuxTestAccept/bundle/resources/database_catalogs/basic/DATABRICKS_BUNDLE_ENGINE=terraform
6:43aws windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
6:43gcp linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform
6:42azure-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_14.3_LTS
6:39azure-ucws linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
6:37aws-ucws windowsTestAccept/bundle/resources/database_instances/single-instance/DATABRICKS_BUNDLE_ENGINE=terraform
6:36azure-ucws windowsTestSparkJarTaskDeployAndRunOnVolumes/Databricks_Runtime_15.4_LTS
6:35gcp linuxTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
6:34aws linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct

denik pushed a commit that referenced this pull request May 20, 2026
## Changes
Configure forbidigo to prevent direct use of term.IsTerminal and isatty
functions outside libs/cmdio.
Depends on #4298 and #4301.
## Why
Use cmdio.IsPromptSupported() instead for consistent capability
detection.
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for freeto 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.

3 participants

@pietern@eng-dev-ecosystem-bot@denik