Skip to content

acceptance: prepare plan and template comparisons for UUID numbering - #7423

Merged
janniklasrose merged 3 commits into
mainfrom
janniklasrose/acc/uuid-compatible-tests
Nov 10, 2026
Merged

janniklasrose merged 3 commits into
mainfrom
janniklasrose/acc/uuid-compatible-tests

Conversation

@janniklasrose

Copy link
Copy Markdown
Member

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 #7021 removes the UUID opt-out.

Stacked on #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; #7021 records the transient retry.

This PR was written by Codex.

janniklasrose and others added 3 commits November 9, 2026 23:16
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>
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Commit: d9d1f41e8 | Workflow run

Regression test report

Selected 20 changed tests (limit=20, 7 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/immutable/no-artifacts/DMS=/READPLAN= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/no-artifacts/DMS=/READPLAN=1 ✅ ✅ ✅
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/selftest/uuid ✅ ✅ ✅
TestAccept/selftest/uuid_not_unique ✅ ✅ ✅

@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

✅ Integration test report

Commit: d9d1f41

Run: 42721334007

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 286 37 4:21
✅​ aws-windows-latest-4core-16gb 288 35 4:22
✅​ azure linux-2core-8gb 285 37 4:42
✅​ azure-windows-latest-4core-16gb 287 35 3:36
✅​ gcp linux-2core-8gb 286 37 4:20
✅​ gcp-windows-latest-4core-16gb 288 35 4:36
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:16 gcp-windows-latest-4core-16gb TestAccept
3:13 aws-windows-latest-4core-16gb TestAccept
2:33 azure-windows-latest-4core-16gb TestAccept

@janniklasrose
janniklasrose requested a review from denik November 10, 2026 09:58
@janniklasrose
janniklasrose marked this pull request as ready for review November 10, 2026 09:58
@janniklasrose
janniklasrose requested review from a team as code owners November 10, 2026 09:58
@janniklasrose
janniklasrose added this pull request to the merge queue Nov 10, 2026
Merged via the queue into main with commit 4423656 Nov 10, 2026
25 checks passed
Base automatically changed from janniklasrose/acc/uuid-unique-knob to main November 10, 2026 12:06
@janniklasrose
janniklasrose deleted the janniklasrose/acc/uuid-compatible-tests 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
…databricks#7020)

## 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 databricks#7420: databricks#7423 prepares affected tests,
then databricks#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._

Co-authored-by: Isaac <no-reply@databricks.com>
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
## Changes

Remove the temporary `UniqueUUID` option and always distinguish UUIDs,
updating acceptance goldens with numeric suffixes.

In the materialization-set `batch` and `removal_scope` tests, register
the deployed set ID as `[SET1_ID]` with `read_id.py` and remove the
compact-UUID TOML replacements. This makes the dashed local IDs and
compact cloud IDs use the same named replacement before
request/operation UUIDs are numbered.

## Why

Expected output should distinguish different UUIDs consistently. databricks#7423
handles the immutable and template comparisons. The materialization-set
fix addresses the deterministic cloud mismatch found during the five
sequential CI repetitions.

## Tests

`./task fmt`, `./task checks`, `./task lint`, and the
materialization-set acceptance tests passed. The full local suite was
blocked by the unrelated completion-test SIGPIPE and temporary-home
cleanup; `inittime` passed on retry. Cloud CI validation is pending.

_This PR was written by Isaac and revised with 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

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