Run OS-independent bundle acceptance tests on Linux only for PRs#5876
Merged
Conversation
Add a GOOSOnPR filter in test.toml, mirroring the existing GOOS filter but consulted only on GitHub pull_request events. It ANDs with GOOS, inherits down the directory tree, is opt-out (absent = runs everywhere), and surfaces in out.test.toml. The event name comes from GITHUB_EVENT_NAME, so no workflow changes are needed. Skip the following bundle subtrees on Windows/macOS for PRs (each verified to have no OS-specific behavior; all still run on Linux for PRs and on every OS on push to main): invariant, resources, resource_deps, run_as, migrate, state, bundle_tag, lifecycle, summary. Co-authored-by: Isaac
c87aaec to
452684f
Compare
Collaborator
Integration test reportCommit: 452684f
10 interesting tests: 4 RECOVERED, 4 SKIP, 2 flaky
Top 11 slowest tests (at least 2 minutes):
|
janniklasrose
approved these changes
Jul 9, 2026
This was referenced Jul 9, 2026
Collaborator
Integration test reportCommit: 48bd9ba
27 interesting tests: 12 flaky, 9 FAIL, 3 RECOVERED, 2 SKIP, 1 KNOWN
Top 50 slowest tests (at least 2 minutes):
|
RCoff
pushed a commit
to RCoff/databricks-cli
that referenced
this pull request
Jul 10, 2026
) Follow-up to the `GOOSOnPR` filter (databricks#5876): skip more bundle subtrees on Windows/macOS PR runs. All still run on Linux for PRs and on every OS on push to `main`. Each subtree was verified to have no OS-specific behavior under test (not just no OS markers — `MSYS_NO_PATHCONV`, leading `//`, and CRLF-normalizing `sed` are portability scaffolding that make output OS-identical, not evidence of OS sensitivity): - `bundle/deployment` — bind/unbind and deploy/destroy logic - `bundle/validate` — config validation and diagnostics - `bundle/variables` — variable resolution and interpolation - `bundle/telemetry` — telemetry payload assertions (output is OS-normalized) - `templates/default-python/combinations` — the notebook/DLT/python matrix; the OS-specific wheel build stays covered by `templates/default-python/integration_classic` - `bundle/integration_whl` — the OS surface is the wheel build (venv layout, `python3` alias), identical across variants; keep a symmetric set covering both cluster modes × base/dynamic (`serverless`, `serverless_dynamic_version`, `interactive_cluster`, `interactive_cluster_dynamic_version`) and skip the rest Also documents `GOOSOnPR` in `.agent/rules/testing.md`: tests run on every OS by default, some directories recursively opt out for speed, and an OS-specific test sitting under such a directory should override the inherited skip. This pull request and its description were written by Isaac.
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.
Most Windows/macOS acceptance time re-runs platform-independent bundle logic that Linux already covers. This adds a mechanism to skip such tests on the Windows/macOS PR cells, while still running the full matrix on every OS on push to
main.New
GOOSOnPRfield intest.toml, mirroring the existingGOOSfilter but consulted only on GitHubpull_requestevents. It ANDs withGOOS, inherits down the directory tree, is opt-out (absent = runs everywhere), and surfaces inout.test.toml. No workflow changes — the event name comes fromGITHUB_EVENT_NAME.acceptance/internal/config.go—GOOSOnPR map[string]boolacceptance/internal/materialized_config.go— serialize intoout.test.tomlacceptance/acceptance_test.go—IsPullRequest+ skip branch beside theGOOScheckPaths no longer run on Windows/macOS for PRs (each verified to have no OS-specific behavior; all still run on Linux for PRs and on every OS on push to
main):bundle/invariant— config normalization, no-drift checks, state migrationbundle/resources— resource CRUD, diffing, permissionsbundle/resource_deps— dependency ordering and reference resolutionbundle/run_as— run_as identity resolutionbundle/migrate— state and config migrationbundle/state— deployment state tracking and lineagebundle/bundle_tag— tag validationbundle/lifecycle— deploy/destroy lifecyclebundle/summary— summary renderingThis pull request and its description were written by Isaac.