Skip to content

Commit d0a25cf

Browse files
committed
Add child workflow versioning override API
1 parent cf9259c commit d0a25cf

5 files changed

Lines changed: 22 additions & 2 deletions

File tree

openapi/openapiv2.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19250,7 +19250,8 @@
1925019250
"enum": [
1925119251
"START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED",
1925219252
"START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS",
19253-
"START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND"
19253+
"START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND",
19254+
"START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE"
1925419255
],
1925519256
"default": "START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED"
1925619257
},
@@ -19371,6 +19372,10 @@
1937119372
"timeSkippingStatePropagation": {
1937219373
"$ref": "#/definitions/v1TimeSkippingStatePropagation",
1937319374
"description": "The time-skipping state propagated from the parent workflow. This can be nil if no time skipping\nhas occurred or there is no previous run."
19375+
},
19376+
"versioningOverride": {
19377+
"$ref": "#/definitions/v1VersioningOverride",
19378+
"description": "Versioning override requested for the child workflow. If present, this explicit override\ntakes precedence over versioning behavior inherited from the parent workflow."
1937419379
}
1937519380
}
1937619381
},

openapi/openapiv3.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16732,6 +16732,7 @@ components:
1673216732
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED
1673316733
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
1673416734
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
16735+
- START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE
1673516736
type: string
1673616737
format: enum
1673716738
control:
@@ -16829,6 +16830,12 @@ components:
1682916830
description: |-
1683016831
The time-skipping state propagated from the parent workflow. This can be nil if no time skipping
1683116832
has occurred or there is no previous run.
16833+
versioningOverride:
16834+
allOf:
16835+
- $ref: '#/components/schemas/VersioningOverride'
16836+
description: |-
16837+
Versioning override requested for the child workflow. If present, this explicit override
16838+
takes precedence over versioning behavior inherited from the parent workflow.
1683216839
StartNexusOperationExecutionRequest:
1683316840
type: object
1683416841
properties:

temporal/api/command/v1/message.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import "temporal/api/enums/v1/command_type.proto";
1616
import "temporal/api/common/v1/message.proto";
1717
import "temporal/api/failure/v1/message.proto";
1818
import "temporal/api/taskqueue/v1/message.proto";
19+
import "temporal/api/workflow/v1/message.proto";
1920
import "temporal/api/sdk/v1/user_metadata.proto";
2021
import "temporal/api/sdk/v1/event_group_marker.proto";
2122

@@ -221,6 +222,9 @@ message StartChildWorkflowExecutionCommandAttributes {
221222
// Priority metadata. If this message is not present, or any fields are not
222223
// present, they inherit the values from the workflow.
223224
temporal.api.common.v1.Priority priority = 18;
225+
// Versioning override for the child workflow. If present, this explicit override takes
226+
// precedence over versioning behavior inherited from the parent workflow.
227+
temporal.api.workflow.v1.VersioningOverride versioning_override = 19;
224228
}
225229

226230
message ProtocolMessageCommandAttributes {

temporal/api/enums/v1/failed_cause.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ enum StartChildWorkflowExecutionFailedCause {
8989
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED = 0;
9090
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS = 1;
9191
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND = 2;
92+
START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE = 3;
9293
}
9394

9495
enum CancelExternalWorkflowExecutionFailedCause {
@@ -136,4 +137,3 @@ enum ResourceExhaustedScope {
136137
// Exhausted resource is a namespace-level resource.
137138
RESOURCE_EXHAUSTED_SCOPE_SYSTEM = 2;
138139
}
139-

temporal/api/history/v1/message.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,10 @@ message StartChildWorkflowExecutionInitiatedEventAttributes {
790790
// The time-skipping state propagated from the parent workflow. This can be nil if no time skipping
791791
// has occurred or there is no previous run.
792792
temporal.api.common.v1.TimeSkippingStatePropagation time_skipping_state_propagation = 23;
793+
794+
// Versioning override requested for the child workflow. If present, this explicit override
795+
// takes precedence over versioning behavior inherited from the parent workflow.
796+
temporal.api.workflow.v1.VersioningOverride versioning_override = 24;
793797
}
794798

795799
message StartChildWorkflowExecutionFailedEventAttributes {

0 commit comments

Comments
 (0)