Skip to content

Skip server-side acceptance tests on Windows and macOS#5072

Open
pietern wants to merge 1 commit intomainfrom
test-time-windows-skip
Open

Skip server-side acceptance tests on Windows and macOS#5072
pietern wants to merge 1 commit intomainfrom
test-time-windows-skip

Conversation

@pietern
Copy link
Copy Markdown
Contributor

@pietern pietern commented Apr 23, 2026

Summary

Windows acceptance tests run at 2.1–2.4× the Linux duration uniformly across every directory. A large subset of those tests exercise server-side logic via bundle deploy/update cycles and don't touch OS-specific CLI behavior. Linux coverage alone is sufficient for those subtrees.

Subtrees skipped on Windows + macOS

Subtree Linux cumul Windows cumul Tests
bundle/resources/ (all resources: jobs, pipelines, clusters, dashboards, grants, permissions, model_serving_endpoints, postgres_*, quality_monitors, secret_scopes, volumes, etc.) ~1800s ~4200s ~200
bundle/templates/default-python/combinations 521s 1214s 18
bundle/templates/default-python/integration_classic 143s 313s 6
bundle/templates/default-python/serverless ~40s 95s 2
bundle/deployment/bind/ 209s 441s 46
bundle/deployment/unbind/ 56s 112s 9
bundle/run_as/ 72s 178s 4
bundle/resource_deps/ ~130s ~300s ~30

bundle/templates/default-python/classic/ still runs on Windows and macOS as the template-machinery smoke test.

Changes

GOOS.windows = false + GOOS.darwin = false set on:

  • bundle/resources/test.toml (parent)
  • bundle/templates/default-python/{combinations,integration_classic,serverless}/test.toml
  • bundle/deployment/bind/test.toml (new)
  • bundle/deployment/unbind/test.toml (new)
  • bundle/run_as/test.toml (new)
  • bundle/resource_deps/test.toml

All out.test.toml files regenerated via make generate-out-test-toml; verified locally with make test-update.

Measured impact

Job Before (main) After Δ
linux/direct 6m25s 6m4s −21s
linux/terraform 10m46s 10m39s −7s
macos/direct 6m35s 4m54s −1m41s
macos/terraform 13m48s 3m53s −9m55s (−72%)
windows/direct 20m00s 17m36s −2m24s
windows/terraform 31m28s 15m56s −15m32s (−49%)

Linux timings unchanged — full coverage preserved. No test regressions.

This pull request and its description were written by Isaac.

@pietern pietern marked this pull request as ready for review April 23, 2026 07:27
Profiling via gotestsum JSON (PR #5068) shows Windows acceptance tests
run at 2.1-2.4x the Linux duration uniformly across every directory,
and a large subset of those tests exercise server-side logic through
bundle deploy/update cycles without touching OS-specific CLI behavior.
Linux coverage alone is sufficient for those subtrees.

Skipping on both Windows and macOS (via GOOS.windows/GOOS.darwin =
false) in:

- `bundle/resources/` — jobs, pipelines, clusters, dashboards, grants,
  permissions, model_serving_endpoints, postgres_*, quality_monitors,
  secret_scopes, volumes, models, registered_models, schemas, etc.
- `bundle/deployment/bind/` and `bundle/deployment/unbind/` --
  server-side state binding
- `bundle/run_as/` -- server-side identity impersonation
- `bundle/resource_deps/` -- server-side dependency resolution
- `bundle/templates/default-python/{combinations,integration_classic,
  serverless}` -- server-side template rendering; Windows/macOS still
  smoke-tests the template machinery via `templates/default-python/
  classic/`.

All `out.test.toml` files regenerated via `make generate-out-test-toml`
so the materialized config snapshot reflects the new GOOS filters.

Expected impact:
- windows/terraform: ~32m -> ~12-15m
- macos/terraform:   ~13m -> ~7-9m
- linux/terraform:   unchanged (full coverage preserved)

Co-authored-by: Isaac
@pietern pietern force-pushed the test-time-windows-skip branch from 8a992ba to 0d23102 Compare April 23, 2026 07:55
@pietern pietern changed the title Skip slow Windows-irrelevant acceptance tests on Windows Skip server-side acceptance tests on Windows and macOS Apr 23, 2026
Copy link
Copy Markdown
Contributor

@janniklasrose janniklasrose left a comment

Choose a reason for hiding this comment

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

Is there a flag we can set to run them in local (on macOS)? Presumably not all will be run after this PR

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.

2 participants