Skip to content

Add bump-tf skill#5990

Open
pietern wants to merge 1 commit into
mainfrom
bump-tf-skill
Open

Add bump-tf skill#5990
pietern wants to merge 1 commit into
mainfrom
bump-tf-skill

Conversation

@pietern

@pietern pietern commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Changes

Add a user-invocable bump-tf skill that codifies the Terraform provider bump workflow: bump the version constant, regenerate the Go schema (./task generate-tf-schema) and the DABs/TF field map (./task generate-schema-map), refresh acceptance goldens with a mandatory non-update verify pass, resolve schema-driven behavior changes, and add a changelog fragment.

Why

The bump has non-obvious steps that are easy to get wrong. The -update acceptance run can silently mask a real failure when a schema change makes the Terraform and direct engines diverge, so the skill requires a non-update verify pass to catch it. Capturing the workflow makes future bumps repeatable.

Tests

Validated by running the skill hands-off in a fresh worktree to bump to v1.122.0. Its result was byte-identical on the important bits to the manually authored #5977, differing only in one equivalent fixture value and the changelog filename.

This pull request and its description were written by Isaac.

Codify the Terraform provider bump workflow as a user-invocable skill: bump the
version constant in bundle/internal/tf/codegen/schema/version.go, regenerate the
Go schema and the DABs<->TF field map via ./task, refresh acceptance goldens
with a mandatory non-update verify pass that catches divergent engine variants,
resolve schema-driven behavior changes (now-required or removed provider
fields), and add a changelog fragment.

The registry-workaround.md appendix documents the filesystem-mirror fallback for
when the Terraform Registry has not yet indexed a freshly published release.

Co-authored-by: Isaac
@pietern
pietern marked this pull request as ready for review July 21, 2026 08:39
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: ddb7676

Run: 29814300389

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 227 1127 2:56
💚​ aws windows 4 4 229 1125 2:44
💚​ aws-ucws linux 4 4 314 1044 3:52
💚​ aws-ucws windows 4 4 316 1042 4:25
💚​ azure linux 4 4 227 1126 2:50
💚​ azure windows 4 4 229 1124 2:36
💚​ azure-ucws linux 4 4 316 1041 4:10
💚​ azure-ucws windows 4 4 318 1039 3:21
💚​ gcp linux 4 4 226 1128 3:05
💚​ gcp windows 4 4 228 1126 3:29
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows aws-ucws linux aws-ucws windows azure linux azure windows azure-ucws linux azure-ucws windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
Top 1 slowest tests (at least 2 minutes):
duration env testname
2:11 gcp windows TestAccept


If codegen succeeded, ignore this file.

## Fix: point Terraform at a local filesystem mirror

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

have you seen this be needed?

Everything else (`bundle/internal/tf/schema/*` including `root.go`, and `bundle/terraform_dabs_map/generated.go`) is generated from it, so the only file you hand-edit for the bump itself is `version.go`.
Do not edit the generated files, and do not touch the `databricks-tf-provider/...` version comment in `libs/testdiff/replacement.go` (the version is masked in acceptance output, so changing it is pure noise).

## Steps

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Given very deterministic instructions, can the whole thing be a Python script? The skill can still be there but it runs the script and then debugs if it does not work (and improves the script further).

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.

4 participants