acc: replace DATABRICKS_TEST_SKIPLOCAL with DATABRICKS_TEST_SELECT_CHANGED=N - #6248
Open
denik wants to merge 12 commits into
Open
acc: replace DATABRICKS_TEST_SKIPLOCAL with DATABRICKS_TEST_SELECT_CHANGED=N#6248denik wants to merge 12 commits into
denik wants to merge 12 commits into
Conversation
…ANGED=N N is the number of changed tests to select, previously hardcoded at 50. Moved tests are now selected after added and modified ones, and the selection is logged at startup.
Keep the old name as an alias: it is what the eng-dev-ecosystem CI job dispatches.
Collaborator
Integration test reportCommit: ae707e0
Top 6 slowest tests (at least 2 minutes):
|
local-select runs the same selection of changed tests locally against the testserver. TestInprocessMode is skipped under test selection: it asserts that two specific selftests ran, which does not hold when the selection excludes them.
A skip per test dir buried the run in ~1100 SKIP lines and hid the selection summary. local-select now runs plain `go test -v`, which shows the summary and the tests that ran.
A regenerated golden usually comes from a change elsewhere and lands on hundreds of dirs at once, which fills the quota and crowds out the tests the branch actually edits. Order is now added, changed fixture, changed output, moved.
andrewnester
approved these changes
Aug 13, 2026
Same rule the harness uses to split inputs from outputs, so a nested fixture such as subdir/outer.py is no longer mistaken for generated output.
Replace the four parallel maps with one map of a documented changedDir struct, pull the invariant-config and generated-file rules into named helpers, and rank by sorting once instead of concatenating four slices.
Scores instead of ranks, and the selection is now a real package rather
than test-only code, with a command to inspect what a change selects:
go run ./acceptance/internal/selection/cmd
go run ./acceptance/internal/selection/cmd acceptance/bundle/invariant/configs/job.yml.tmpl
A path given without a status prefix now takes the status git reports for it: added when git does not track it, modified otherwise. Each selected test is printed with the score it was picked by.
A dir that changed in several ways now outranks one that changed in a single way: new dir 5, changed fixtures 5, changed goldens 1, move 1. New and moved stay exclusive, and a move does not also count the renames of the files it brings along.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
DATABRICKS_TEST_SKIPLOCAL=withchangedbecomesDATABRICKS_TEST_SELECT_CHANGED=N, where N is the number of changed tests to select (was hardcoded at 50).acceptance/internal/selection, with a command to inspect what a change would run:go run ./acceptance/internal/selection/cmd [path...].out*files changed. A regenerated golden lands on hundreds of dirs at once, so it must not crowd out the tests the branch actually edits.integration-short-skiplocalis renamed tocloud-selectand kept as an alias, since that is the name the eng-dev-ecosystem CI job dispatches../task local-selectruns the same selection locally against the testserver.Why
"skiplocal" stopped meaning anything after #6196 dropped the
Localknob — every acceptance test runs locally now, so the variable only selects the tests a branch touches.