Skip to content

Add ChildWorkflowOptions support to WorkflowImplementationOptions (#2)#2887

Open
porunov wants to merge 1 commit into
temporalio:masterfrom
porunov:feature/child-workflow-options
Open

Add ChildWorkflowOptions support to WorkflowImplementationOptions (#2)#2887
porunov wants to merge 1 commit into
temporalio:masterfrom
porunov:feature/child-workflow-options

Conversation

@porunov
Copy link
Copy Markdown

@porunov porunov commented May 25, 2026

Fixes #2790

Tests are added to: ChildWorkflowOptionsInWorkflowImplementationOptionsTest.java

  • Add childWorkflowOptions map and defaultChildWorkflowOptions fields
  • Add setChildWorkflowOptions() and setDefaultChildWorkflowOptions() builder methods
  • Add getChildWorkflowOptions() and getDefaultChildWorkflowOptions() getters
  • Update SyncWorkflowContext to store and expose child workflow options
  • Update WorkflowInternal.newChildWorkflowStub() to merge predefined options
  • Add mergeChildWorkflowOptions() method to ChildWorkflowOptions.Builder
  • Add integration and unit tests

Potential documentation place: https://docs.temporal.io/develop/java/workflows/child-workflows (it could be something similar as activity options documentation).

Disclaimer: Code was Generated by Opus 4.6 in Copilot. Reviewed manually.

@porunov porunov requested a review from a team as a code owner May 25, 2026 20:56
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 25, 2026

CLA assistant check
All committers have signed the CLA.

@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

…plementationOptions

Fixes temporalio#2790

- Add childWorkflowOptions map and defaultChildWorkflowOptions fields
- Add setChildWorkflowOptions() and setDefaultChildWorkflowOptions() builder methods
- Add getChildWorkflowOptions() and getDefaultChildWorkflowOptions() getters
- Update SyncWorkflowContext to store and expose child workflow options
- Update WorkflowInternal.newChildWorkflowStub() to merge predefined options
- Add mergeChildWorkflowOptions() method to ChildWorkflowOptions.Builder
- Add integration and unit tests

---------

Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
@porunov porunov force-pushed the feature/child-workflow-options branch from bd8e2d9 to 3295d53 Compare May 25, 2026 21:04
Copy link
Copy Markdown
Contributor

@maciejdudko maciejdudko left a comment

Choose a reason for hiding this comment

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

Hi @porunov, thank you for your contribution. The code looks good, but the tests need to be improved before we can merge this - see comment.

Comment on lines +46 to +47
@Test
public void testDefaultChildWorkflowOptionsApplied() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This test does not actually assert that the right options were used. Please rewrite it so that the child workflow only succeeds if the default options were correctly applied. I think checking its memo would be most straight forward.

Please also add a test that verifies default, not per-type child workflow options work too.

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.

Extend WorkflowImplementationOptions with ChildWorkflowOptions

3 participants