Skip to content

Remove the terraform engine from the acceptance CI matrix - #6877

Merged
denik merged 5 commits into
mainfrom
denik/remove-tf-ci-matrix
Oct 2, 2026
Merged

denik merged 5 commits into
mainfrom
denik/remove-tf-ci-matrix

Conversation

@denik

@denik denik commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Removes the terraform engine from the acceptance CI matrix so the suite runs direct-only, and drops the now-single-value DATABRICKS_BUNDLE_ENGINE matrix pins (using Env.DATABRICKS_BUNDLE_ENGINE only where a test forces a specific engine). The terraform engine code itself is untouched here; it is rejected in #6888 and removed in #6889.

This pull request and its description were written by Isaac.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: aa4e242

Run: 36995245993

Env 🔄​flaky ✅​pass 🙈​skip Time
✅​ aws linux 360 37 13:25
✅​ aws windows 287 60 5:41
🔄​ azure linux 3 356 37 15:50
🔄​ azure windows 1 285 60 6:21
✅​ gcp linux 360 37 14:09
✅​ gcp windows 287 60 8:52
Test Name azure linux azure windows
🔄​ TestAccept 🔄​f ✅​p
🔄​ TestAccept/bundle/debug/fetch-repository-info 🔄​f ✅​p
🔄​ TestAccept/bundle/debug/fetch-repository-info/DMS=true 🔄​f ✅​p
🔄​ TestSyncIncrementalFileOverwritesFolder ✅​p 🔄​f
Top 15 slowest tests (at least 2 minutes):
duration env testname
7:40 aws linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
7:12 aws linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:49 gcp linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:24 azure linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
5:54 gcp linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
5:34 azure linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
5:06 gcp windows TestAccept
4:01 gcp linux TestAccept
3:51 aws linux TestAccept
3:42 azure windows TestAccept
3:32 aws windows TestAccept
2:53 gcp windows TestAccept/bundle/debug/fetch-repository-info/DMS=
2:49 gcp linux TestAccept/bundle/debug/fetch-repository-info/DMS=
2:48 gcp linux TestAccept/bundle/debug/fetch-repository-info/DMS=true
2:47 gcp windows TestAccept/bundle/debug/fetch-repository-info/DMS=true

@denik
denik force-pushed the denik/remove-tf-ci-matrix branch 3 times, most recently from 9b7e99d to 3015115 Compare September 30, 2026 08:56
Base automatically changed from denik/invariant-replay to main September 30, 2026 10:15
@denik
denik force-pushed the denik/remove-tf-ci-matrix branch from 3015115 to ab15880 Compare September 30, 2026 10:25
@github-actions github-actions Bot added DABs DABs related issues PyDABs labels Sep 30, 2026
@denik denik mentioned this pull request Sep 30, 2026
2 of 4 tasks
@denik
denik force-pushed the denik/remove-tf-ci-matrix branch 2 times, most recently from c9565df to ac061d5 Compare October 2, 2026 09:34
@github-actions github-actions Bot added the AIR Databricks AI Runtime CLI label Oct 2, 2026
@denik
denik marked this pull request as ready for review October 2, 2026 09:40
@denik denik removed PyDABs AIR Databricks AI Runtime CLI labels Oct 2, 2026

@janniklasrose janniklasrose left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved based on PR summary & spot checks

@github-actions github-actions Bot added PyDABs AIR Databricks AI Runtime CLI labels Oct 2, 2026
@denik
denik enabled auto-merge October 2, 2026 10:16
denik and others added 5 commits October 2, 2026 12:16
Drop the global DATABRICKS_BUNDLE_ENGINE matrix and EnvVaryOutput so the
acceptance suite is direct-only. The terraform engine code stays; it is removed
in a follow-up PR.

- acceptance/test.toml: drop EnvMatrix.DATABRICKS_BUNDLE_ENGINE / EnvMatrixExclude.noplantf / EnvRepl.
- acceptance/bundle/test.toml: drop EnvVaryOutput and EnvMatrixExclude.dms_needs_direct.
- push.yml: drop the terraform cell; direct/directdms cells filter on DMS only.
- 57 mixed engine matrices collapsed to ["direct"]; 183 scripts drop the .$DATABRICKS_BUNDLE_ENGINE output suffix.
- delete 412 *.terraform.* goldens; rename 468 *.direct.* goldens to plain.
- remove 14 terraform-only tests (terraform-specific behavior / rejection paths, obsolete once the engine is gone - their coverage returns as removal-error tests alongside the engine removal); convert cmd/completion and generate/auto-bind to direct-only.

Co-authored-by: Isaac <no-reply@databricks.com>
…ine-forced tests

Co-authored-by: Isaac <no-reply@databricks.com>
The CI-matrix removal stripped `.$DATABRICKS_BUNDLE_ENGINE` from the scripts'
intermediate filenames (e.g. plan_raw.$DATABRICKS_BUNDLE_ENGINE.json ->
plan_raw.json) but left the matching Ignore entries as plan_raw.direct.json /
plan_raw.terraform.json, so the renamed intermediate was no longer ignored and
tripped the "unexpected files" check. Collapse each pair to the plain name.

Co-authored-by: Isaac <no-reply@databricks.com>
Dropping DATABRICKS_BUNDLE_ENGINE from the matrix left several scripts still
referencing the now-unset variable. Under set -u those errored, and a prior
-update baked the "unbound variable" output into their goldens (permissions,
recreate-keys, grants, resource_deps), so the tests were green against broken
goldens.

- Strip the engine suffix from the remaining out.*.$DATABRICKS_BUNDLE_ENGINE.json
  writes (permissions/_script, recreate-keys/_script, run_as/pipelines/_script).
- Drop the direct-only `if [ "$DATABRICKS_BUNDLE_ENGINE" = "direct" ]` guards now
  that direct is the only engine (volumes/uppercase-name, grants remove-principal),
  and the dead terraform-only blocks in resource_deps.
- Default read_state.py to the direct engine when the variable is unset
  (terraform only when set explicitly); direct is the CLI default now.
- Point the templates/default-python/classic and readplan/lineage-mismatch plan
  reads at the renamed plain plan files.
- Pin generate/auto-bind to the plain DMS variant (bind is unsupported with
  deployment history), matching its previous single engine run.
- Fix user_agent/verify.py to expect engine/direct now that recorded requests
  are no longer engine-suffixed, and regenerate all affected goldens.

Co-authored-by: Isaac <no-reply@databricks.com>
…nd DMS pin

Co-authored-by: Isaac <no-reply@databricks.com>
@denik
denik force-pushed the denik/remove-tf-ci-matrix branch from 2d11a48 to aa4e242 Compare October 2, 2026 10:23
@denik
denik added this pull request to the merge queue Oct 2, 2026
@denik denik removed PyDABs AIR Databricks AI Runtime CLI labels Oct 2, 2026
Merged via the queue into main with commit b84661a Oct 2, 2026
35 checks passed
@denik
denik deleted the denik/remove-tf-ci-matrix branch October 2, 2026 11:04
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: b84661a

Run: 36999011914

Env ❌​FAIL 🔄​flaky ✅​pass 🙈​skip Time
❌​ aws linux 3 1434 1118 135:15
❌​ aws windows 3 2 1357 1143 151:49
❌​ azure linux 3 1283 1170 117:25
❌​ azure windows 3 1208 1195 131:25
❌​ gcp linux 6 1269 1174 133:16
❌​ gcp windows 6 2 1192 1199 161:13
10 interesting tests: 6 FAIL, 4 flaky
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
❌​ TestAccept ❌​F ❌​F ❌​F ❌​F ❌​F ❌​F
❌​ TestAccept/bundle/debug/fetch-repository-info ✅​p ✅​p ✅​p ✅​p ❌​F ❌​F
❌​ TestAccept/bundle/debug/fetch-repository-info/DMS= ✅​p ✅​p ✅​p ✅​p ❌​F ❌​F
❌​ TestAccept/bundle/debug/fetch-repository-info/DMS=true ✅​p ✅​p ✅​p ✅​p ❌​F ❌​F
❌​ TestAccept/bundle/dms/provenance ❌​F ❌​F ❌​F ❌​F ❌​F ❌​F
❌​ TestAccept/bundle/dms/provenance/DMS=true ❌​F ❌​F ❌​F ❌​F ❌​F ❌​F
🔄​ TestAccept/bundle/resources/apps/lifecycle-started-toggle ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/apps/lifecycle-started-toggle/DMS= ✅​p ✅​p ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate ✅​p 🔄​f 🙈​s 🙈​s 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate/DMS=true ✅​p 🔄​f
Top 50 slowest tests (at least 2 minutes):
duration env testname
11:28 gcp linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=
11:03 gcp linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
10:41 gcp windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
10:40 gcp windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=
9:52 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
9:37 azure linux TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
9:35 gcp linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
8:45 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
8:31 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
8:30 azure linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
8:06 azure windows TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
8:05 aws windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:51 aws windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:47 gcp linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
7:46 azure linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:43 azure windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:35 aws windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
7:33 aws linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
7:32 azure linux TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
7:30 azure linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:29 gcp linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
7:28 gcp linux TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:24 azure windows TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:21 aws linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:15 gcp windows TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:11 gcp windows TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
7:06 gcp linux TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
6:57 aws linux TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
6:52 azure windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
6:51 aws linux TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=1
6:50 gcp windows TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=
6:35 aws windows TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
6:33 azure linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
6:31 aws linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
6:20 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
6:07 azure windows TestAccept/bundle/resources/clusters/deploy/simple/DMS=
6:04 aws linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
6:01 azure linux TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
5:50 aws linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
5:45 azure linux TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
5:43 azure windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
5:42 aws linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
5:34 aws linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
5:18 aws windows TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
5:16 aws linux TestAccept/bundle/deploy/spark-jar-task/DMS=
5:10 aws linux TestAccept/bundle/deploy/spark-jar-task/DMS=true
5:00 aws windows TestAccept/bundle/deploy/spark-jar-task/DMS=true
4:52 gcp windows TestAccept/bundle/deploy/spark-jar-task/DMS=
4:47 azure linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
4:46 gcp windows TestAccept/bundle/deploy/spark-jar-task/DMS=true

MarioCadenas added a commit that referenced this pull request Oct 6, 2026
#6877 dropped the default DATABRICKS_BUNDLE_ENGINE matrix, so the test now
runs direct-only.

Co-authored-by: Isaac <no-reply@databricks.com>
Signed-off-by: MarioCadenas <MarioCadenas@users.noreply.github.com>
yiweidai-db pushed a commit to yiweidai-db/cli that referenced this pull request Oct 6, 2026
…icks#6941)

## Changes
The testserver's stale-read / never-finishing-delete injection
(`staleOnceEnabled` in `acceptance/internal/prepare_server.go`) required
both `INJECT_STALE_ON_DIRECT=1` and `DATABRICKS_BUNDLE_ENGINE=direct`.
Now it only requires `INJECT_STALE_ON_DIRECT=1`.

## Why
databricks#6877 removed the terraform engine from the acceptance matrix, so
`DATABRICKS_BUNDLE_ENGINE` is no longer set and the injection silently
turned off. Running `-update` in that PR then regenerated
`postgres_synced_tables/recreate_capped` with a successful recreate
(`Recreated postgres_synced_tables.my_table`). The test exists to check
the opposite: its section title is "the capped wait times out and the
recreate fails". It has been passing on main without checking anything
since.

With the gate fixed, the golden is back to exactly what databricks#6728 committed:
the `DATABRICKS_BUNDLE_RESOURCE_MAX_WAIT` timeout error. The dashboards
tests that also set `INJECT_STALE_ON_DIRECT` pass unchanged.

## Tests
`TestAccept/bundle/resources/(postgres_synced_tables|dashboards)`

This pull request and its description were written by Isaac.

Co-authored-by: Isaac <no-reply@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DABs DABs related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants