Skip to content

acc: fix change detection skipping new tests on windows/macOS PRs#6047

Merged
denik merged 4 commits into
mainfrom
denik/fix-test-selection
Jul 24, 2026
Merged

acc: fix change detection skipping new tests on windows/macOS PRs#6047
denik merged 4 commits into
mainfrom
denik/fix-test-selection

Conversation

@denik

@denik denik commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Why

Subsetting is enabled only on the windows/macOS PR cells (TESTS_SELECT_SUBSET_PCT). There the subset selector runs git diff --merge-base origin/main to always run the tests a PR adds/changes, but the test job's shallow checkout has no origin/main, so the diff failed — and the error was swallowed, silently disabling change detection. New tests then fell through to the seeded hash and got skipped, which is how b82fa5c's invariant tests passed on PR yet failed on the nightly Windows run.

Changes

  • push.yml: fetch origin/main (and unshallow the head) after setup-build-environment, which would otherwise re-shallow the repo, so the diff resolves on the PR cells.
  • selectChangedLocalTests: log a warning and fail open on a failed diff instead of swallowing it. It can't fail hard: integration runs (DATABRICKS_TEST_SKIPLOCAL=withchanged) also call this from a checkout without origin/main.

denik added 2 commits July 23, 2026 17:59
The acceptance subset selector runs `git diff --merge-base origin/main`
to always run the tests a PR adds/changes on the windows/macOS cells, but
the test job's shallow checkout has no origin/main, so the diff failed and
the error was swallowed, silently disabling change detection.

Fetch origin/main in CI and fail loudly on a failed diff instead.
Do not merge. Modifies selftest/basic/script so its golden comparison
fails, to confirm from CI logs that change detection runs this test on
the windows/macOS subset cells (not skipped by TESTS_SELECT_SUBSET_PCT).
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: cd3252b

Run: 30074662695

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 322 1059 4:33
💚​ aws windows 4 4 324 1057 7:02
💚​ azure linux 4 4 322 1058 4:40
💚​ azure windows 4 4 324 1056 6:44
💚​ gcp linux 1 5 321 1060 4:29
💚​ gcp windows 1 5 323 1058 5:23
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 3 slowest tests (at least 2 minutes):
duration env testname
5:53 aws windows TestAccept
5:37 azure windows TestAccept
4:18 gcp windows TestAccept

@denik
denik enabled auto-merge July 23, 2026 16:33
t.Fatal on a failed `git diff --merge-base origin/main` broke integration
runs (DATABRICKS_TEST_SKIPLOCAL=withchanged) whose checkout has no
origin/main. Log a warning and continue instead; the push.yml PR cells
still fetch full history so change detection works there.
@denik
denik requested review from janniklasrose and pietern and removed request for pietern July 24, 2026 08:45
@denik
denik added this pull request to the merge queue Jul 24, 2026
Merged via the queue into main with commit 35854b8 Jul 24, 2026
26 checks passed
@denik
denik deleted the denik/fix-test-selection branch July 24, 2026 09:04
denik added a commit that referenced this pull request Jul 24, 2026
Revert the fail-open from #6047 now that every caller (push.yml PR cells
and integration runs) fetches origin/main. A failed
`git diff --merge-base origin/main` should abort loudly instead of
silently disabling change detection and letting new tests skip.
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.

3 participants