Skip to content

Add support for testing different Dynamic Configs, add shutdown tests#838

Merged
yuandrew merged 7 commits into
mainfrom
yuandrew/dynamic_config_testing_support
Jun 16, 2026
Merged

Add support for testing different Dynamic Configs, add shutdown tests#838
yuandrew merged 7 commits into
mainfrom
yuandrew/dynamic_config_testing_support

Conversation

@yuandrew

@yuandrew yuandrew commented May 28, 2026

Copy link
Copy Markdown
Contributor

What was changed

Added support for testing different Dynamic Config settings via existing .config.json, and added tests for frontend.enableCancelWorkerPollsOnShutdown and shutdown.

From .config.json, you can specify both the dynamic configs to set, as well as expectNamespaceCapabilities to assert that the dynamic config was actually set for each run.

  • Added runVariants support to the runner.
  • Each variant runs in its own embedded dev server, namespace, and task queue.
  • Variant dynamicConfig values override the repo base dynamic config from dockerfiles/dynamicconfig/docker.yaml.
  • Added expectNamespaceCapabilities validation via DescribeNamespace before each variant runs.
  • Exposed validated capability expectations to feature code through FEATURE_NAMESPACE_CAPABILITIES for variant-
    specific assertions.

The flow I'd expect for a new feature:

  1. Write feature, merge to main
  2. Write features tests, then run locally against local repo (instructions in base README)
  • with something like go run . run --lang go --version ../sdk-go --no-history-check worker_shutdown/poll_complete_on_shutdown
  1. If regressions found, have opportunity to merge a fix in before cutting a release
  2. Cut release
  3. Merge features tests
  4. All subsequent PRs will have new and legacy test coverage.

Why?

More test coverage for legacy behavior

Checklist

  1. Closes Shutdown Worker features tests, enableCancelWorkerPollsOnShutdown #835

  2. How was this tested:
    Added a bunch of tests

  3. Any docs updates needed?

@yuandrew yuandrew force-pushed the yuandrew/dynamic_config_testing_support branch from fa8234f to fcca953 Compare June 1, 2026 22:10
@yuandrew yuandrew marked this pull request as ready for review June 2, 2026 18:00
@yuandrew yuandrew requested review from a team as code owners June 2, 2026 18:00

@Sushisource Sushisource left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Overall seems perfectly sensible to me

My only nit is config.json doesn't need to have a . prefix - no reason to hide it.

@yuandrew yuandrew enabled auto-merge (squash) June 16, 2026 21:48
@yuandrew yuandrew merged commit da50a50 into main Jun 16, 2026
27 checks passed
@yuandrew yuandrew deleted the yuandrew/dynamic_config_testing_support branch June 16, 2026 21:52
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.

Shutdown Worker features tests, enableCancelWorkerPollsOnShutdown

2 participants