Skip to content

acceptance: add UniqueUUID test.toml knob for distinct UUID numbering - #7020

Merged
janniklasrose merged 1 commit into
janniklasrose/acc/distinct-single-valuefrom
janniklasrose/acc/uuid-unique-knob
Nov 10, 2026
Merged

janniklasrose merged 1 commit into
janniklasrose/acc/distinct-single-valuefrom
janniklasrose/acc/uuid-unique-knob

Conversation

@janniklasrose

@janniklasrose janniklasrose commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Changes

Add opt-in UUID numbering through UniqueUUID, defaulting to false, with unit tests and acceptance selftests. Existing goldens stay unchanged.

Why

Keep the UUID replacement implementation separate from the golden updates. This is layer 2 after #7420: #7423 prepares affected tests, then #7021 removes the temporary option and enables numbering unconditionally.

Tests

go test ./libs/testdiff ./acceptance/internal and both UUID acceptance selftests passed on this layer.

This PR was written by Isaac and revised with Codex.

@janniklasrose
janniklasrose added this pull request to stack #7022 October 12, 2026 11:53
@janniklasrose janniklasrose changed the title janniklasrose/acc/uuid unique knob acceptance: add UniqueUUID test.toml knob for distinct UUID numbering Oct 12, 2026
// UUID collapses to [UUID]. Enable it for tests that need to tell distinct UUIDs
// apart; leave it off when they appear in a non-deterministic order (the index
// assignment would be unstable).
UniqueUUID *bool

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.

Why do we need the option to switch it off? Why not always have uniqueness?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Agreed. #7423 now fixes the immutable test and template comparisons that needed flat UUIDs, and #7021 removes UniqueUUID entirely and enables numbering everywhere. The default-false option in this PR is temporary, to keep review of the UUID implementation separate from the golden updates.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Integration test report

Commit: 5c0a683

Run: 42721331445

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 283 37 4:03
✅​ aws-windows-latest-4core-16gb 285 35 3:48
✅​ azure linux-2core-8gb 282 37 4:02
✅​ azure-windows-latest-4core-16gb 284 35 4:05
✅​ gcp linux-2core-8gb 283 37 4:14
✅​ gcp-windows-latest-4core-16gb 285 35 4:14
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:16 gcp-windows-latest-4core-16gb TestAccept
3:00 azure-windows-latest-4core-16gb TestAccept
2:55 aws-windows-latest-4core-16gb TestAccept

@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-knob branch from 26ab8ff to fc3f149 Compare November 9, 2026 22:54
@janniklasrose
janniklasrose removed this pull request from stack #7022 November 9, 2026 22:55
@github-actions github-actions Bot added the DABs DABs related issues label Nov 9, 2026
@janniklasrose
janniklasrose changed the base branch from main to janniklasrose/acc/distinct-single-value November 9, 2026 22:55
@janniklasrose
janniklasrose added this pull request to stack #7421 November 9, 2026 22:55
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Commit: 5c0a68309 | Workflow run

Regression test report

Selected 20 changed tests (limit=20, 6 not selected)

35 tests: regression=0 unreleased=0 coverage=35 failing=0
test branch main (b694c4c) latest (v1.25.0)
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DMS= ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DMS=true ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DMS= ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DMS=true ✅ ✅ ✅
TestAccept/bundle/deploy/readplan/whl-upload/DMS= ✅ ✅ ✅
TestAccept/bundle/integration_whl/serverless_extras_dynamic_version/DMS= ✅ ✅ ✅
TestAccept/bundle/integration_whl/serverless_extras_dynamic_version/DMS=true ✅ ✅ ✅
TestAccept/bundle/migrate/command/default-python/DMS= ✅ ✅ ✅
TestAccept/bundle/migrate/command/grants/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/dashboards/detect-change/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/dashboards/detect-change/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/job_runs/retried_run_now/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/job_runs/retried_run_now/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/basic/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/basic/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/catalog-name/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/catalog-name/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/name-change/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/name-change/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/route-optimized/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/route-optimized/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/schema-name/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/schema-name/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/table-prefix/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/recreate/table-prefix/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/ai-gateway/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/ai-gateway/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/both_gateway_and_tags/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/both_gateway_and_tags/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/config/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/config/DMS=true ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/email-notifications/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/model_serving_endpoints/update/email-notifications/DMS=true ✅ ✅ ✅
TestAccept/selftest/uuid ✅ ✅ ✅
TestAccept/selftest/uuid_not_unique ✅ ✅ ✅

The built-in [UUID] replacement collapses every UUID to one token, so a golden
cannot tell two distinct UUIDs apart (raised in review of #6995).

Add a UniqueUUID test.toml knob (default false) that, when set, makes the
built-in UUID replacement honor the existing Distinct numbering: distinct UUIDs
in an output become [UUID][0], [UUID][1], ... in order of first appearance.
Existing tests are unaffected (default off); a test opts in with
UniqueUUID = true.

Co-authored-by: Isaac <no-reply@databricks.com>
@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-knob branch from fc3f149 to 5c0a683 Compare November 9, 2026 23:30
@janniklasrose
janniklasrose removed this pull request from stack #7421 November 9, 2026 23:31
@janniklasrose
janniklasrose added this pull request to stack #7424 November 9, 2026 23:31
@janniklasrose
janniklasrose marked this pull request as ready for review November 10, 2026 09:57
@janniklasrose
janniklasrose requested a review from a team as a code owner November 10, 2026 09:57
@janniklasrose
janniklasrose added this pull request to the merge queue Nov 10, 2026
Merged via the queue into main with commit 10d6a13 Nov 10, 2026
51 of 53 checks passed
@janniklasrose
janniklasrose deleted the janniklasrose/acc/uuid-unique-knob branch November 10, 2026 12:06
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
## Changes

Add numeric suffixes for `Distinct` replacements only when an output
contains multiple distinct values. A repeated single value now stays
unsuffixed: `[HASH][0]` becomes `[HASH]`. Includes the corresponding
acceptance golden updates.

## Why

Keep numbering focused on distinguishing different values. This is the
generic prerequisite for the UUID numbering stack, followed by databricks#7020,
databricks#7423, and databricks#7021.

## Tests

Unit coverage checks single matches, repeated identical values, and
multiple distinct values. Formatting, checks, lint, and the full test
suite passed on the completed stack; databricks#7021 records the transient retry.

_This change was split and validated with Codex._
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
…atabricks#7423)

## Changes

Capture the immutable no-artifacts test's initial plan in a separate
golden, preserving its assertions. Teach the Python replacement helper
to honor `Distinct` so template comparisons can match numbered goldens.

## Why

Saved-plan deployment reuses the planned snapshot UUID; direct
deployment generates another. Separate plan output lets both variants
share expectations. Template comparisons also need the same numbering
behavior as the Go harness before databricks#7021 removes the UUID opt-out.

Stacked on databricks#7020. UUID numbering remains off by default in this PR.

## Tests

Both immutable variants, template tests, and helper selftests passed
with numbering off. Python doctests cover repeated values, multiple
distinct values, and already-normalized output. Formatting, checks,
lint, and the full test suite passed with numbering always enabled on
the completed stack; databricks#7021 records the transient retry.

_This PR was written by Codex._
@denik denik added the test-only-fix PRs that update failing of flaky tests without changing CLI code. label Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DABs DABs related issues test-only-fix PRs that update failing of flaky tests without changing CLI code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants