Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ $(PROTO_OUT):
mkdir $(PROTO_OUT)

##### Compile proto files for go #####
grpc: buf-lint api-linter buf-breaking clean go-grpc fix-path

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.

intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

oh yeah, I learnt that the current process to delete deprecated fields is to allow breaking and add this back in the next PR.

grpc: buf-lint api-linter clean go-grpc fix-path

go-grpc: clean $(PROTO_OUT)
printf $(COLOR) "Compile for go-gRPC..."
Expand Down
52 changes: 36 additions & 16 deletions openapi/openapiv2.json
Original file line number Diff line number Diff line change
Expand Up @@ -19281,9 +19281,9 @@
"$ref": "#/definitions/v1TimeSkippingConfig",
"description": "The propagated time-skipping configuration for the child workflow."
},
"initialSkippedDuration": {
"type": "string",
"description": "Propagate the duration skipped to the child workflow."
"timeSkippingStatePropagation": {
"$ref": "#/definitions/v1TimeSkippingStatePropagation",
"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."
}
}
},
Expand Down Expand Up @@ -19674,16 +19674,31 @@
"type": "boolean",
"description": "Enables or disables time skipping for this workflow execution."
},
"maxSkippedDuration": {
"fastForward": {
"type": "string",
"description": "Optionally fast-forward the current workflow execution by this duration ahead of current workflow execution time.\nWhen the fast-forward completes, time skipping is disabled by the call that initiated the fast-forward, and this\naction is recorded in the WorkflowExecutionTimeSkippingTransitionedEvent. It can be re-enabled by\nsetting `enabled` to true via UpdateWorkflowExecutionOptions.\nThe current workflow execution is a chain of runs (retries, cron, continue-as-new);\nchild workflows are separate executions, so this fast_forward won't affect them.\n\nFor a given workflow execution, only one active fast-forward is allowed at a time.\nIf a new fast-forward is set via UpdateWorkflowExecutionOptions before the previous\none completes, the new one will override the previous one.\nIf the fast-forward duration exceeds the remaining execution timeout, time will only\nbe fast-forwarded up to the end of the execution."
},
"disableChildPropagation": {
"type": "boolean",
"description": "By default, child workflows inherit the \"enabled\" flag when they are started.\nThis flag disables that inheritance."
}
},
"description": "The configuration for time skipping of a workflow execution (a chain of runs including retries, cron, continue-as-new).\nWhen time skipping is enabled, virtual time advances automatically whenever there is no in-flight work.\nIn-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations,\nand possibly other features added in the future.\nUser timers are not classified as in-flight work and will be skipped over; the virtual clock may also skip to the\ntime point of the registered fast forward when there is no in-flight work.\nWhen time is skipped, a WorkflowExecutionTimeSkippingTransitionedEvent will be\nadded to the workflow history to capture the state changes.\n\nFor child workflows, by default, if the parent execution is skipping time, the child execution will also skip time,\nbut a parent's fast_forward won't affect its child's execution. A flag is provided to disable propagation of the\n\"enabled\" flag to child workflows; regardless of that flag, a child workflow inherits the virtual time from the\nparent execution as its start time."
},
"v1TimeSkippingStatePropagation": {
"type": "object",
"properties": {
"initialSkippedDuration": {
"type": "string",
"description": "Maximum total virtual time that can be skipped."
"description": "The time skipped by the previous execution that started this workflow.\nIt can happen in child workflows and a chain of runs (CaN, cron, retry)."
},
"maxElapsedDuration": {
"fastForwardTargetTime": {
"type": "string",
"description": "Maximum elapsed time since time skipping was enabled.\nThis includes both skipped time and real time elapsing."
"format": "date-time",
"description": "If there is a fast-forward action set for the previous run in a chain of runs,\nthe target time should be propagated to the next run as well."
}
},
"description": "Configuration for time skipping during a workflow execution.\nWhen enabled, virtual time advances automatically whenever there is no in-flight work.\nIn-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations,\nand possibly other features added in the future.\nUser timers are not classified as in-flight work and will be skipped over.\nWhen time advances, it skips to the earlier of the next user timer or the configured bound, if either exists.\n\nPropagation behavior of time skipping:\nThe enabled flag, bound fields, and accumulated skipped duration are propagated to related executions as follows:\n(1) Child workflows and continue-as-new: both the configuration and the accumulated skipped duration are\n inherited from the current execution. The configured bound is shared between the inherited skipped\n duration and any additional duration skipped by the new run.\n(2) Retry and cron: the configuration and accumulated skipped duration are inherited as recorded when the\n current workflow started; the accumulated skipped duration of the current run is not propagated.\n(3) Reset: the new run retains the time-skipping configuration of the current execution. Because reset replays\n all events up to the reset point and re-applies any UpdateWorkflowExecutionOptions changes made after that\n point, the resulting run ends up with the same final time-skipping configuration as the previous run."
"description": "The time-skipping state that needs to be propagated from a parent workflow to a child workflow,\nor through a chain of runs."
},
"v1TimeoutFailureInfo": {
"type": "object",
Expand Down Expand Up @@ -19980,6 +19995,11 @@
"workflowExecutionOptions": {
"$ref": "#/definitions/v1WorkflowExecutionOptions",
"description": "Workflow Execution options after update."
},
"updateTime": {
"type": "string",
"format": "date-time",
"description": "The Workflow Execution time when the options were updated. When time skipping is\nenabled, this is the workflow's virtual time rather than wall-clock time."
}
}
},
Expand Down Expand Up @@ -20985,7 +21005,7 @@
},
"timeSkippingConfig": {
"$ref": "#/definitions/v1TimeSkippingConfig",
"description": "Time-skipping configuration for this workflow execution.\nIf not set, the time-skipping configuration is not updated by this request;\nthe existing configuration is preserved."
"description": "The time-skipping configuration for this workflow execution.\nWhen `fast_forward` is set, time will be fast-forwarded to a future point relative\nto the current workflow timestamp. Each call takes effect, even if\n`fast_forward` is set to the same duration, since the target time is recalculated\nfrom the current timestamp on every call.\n\nThis field must be updated as a whole; updating individual sub-fields is not supported.\nWhen setting the update mask in `UpdateWorkflowExecutionOptionsRequest`, \n`BatchOperationUpdateWorkflowExecutionOptions`, etc., use a mask that covers the entire field."
}
}
},
Expand Down Expand Up @@ -21264,9 +21284,9 @@
"$ref": "#/definitions/v1TimeSkippingConfig",
"description": "Initial time-skipping configuration for this workflow execution, recorded at start time.\nThis may have been set explicitly via the start workflow request, or propagated from a\nparent/previous execution.\n\nThe configuration may be updated after start via UpdateWorkflowExecutionOptions, which\nwill be reflected in the WorkflowExecutionOptionsUpdatedEvent."
},
"initialSkippedDuration": {
"type": "string",
"description": "The time skipped by the previous execution that started this workflow.\nIt can happen in cases of child workflows and continue-as-new workflows."
"timeSkippingStatePropagation": {
"$ref": "#/definitions/v1TimeSkippingStatePropagation",
"description": "The time-skipping state propagated from a previous run of this workflow. This can be nil\nif no time skipping has occurred or there is no previous run."
}
},
"title": "Always the first event in workflow history"
Expand Down Expand Up @@ -21309,19 +21329,19 @@
"targetTime": {
"type": "string",
"format": "date-time",
"description": "The virtual time after time skipping was applied."
"description": "The virtual time point that time skipping advanced to."
},
"disabledAfterBound": {
"disabledAfterFastForward": {
"type": "boolean",
"description": "when true, time skipping was disabled automatically due to a bound being reached."
"description": "When true, time skipping has been disabled automatically due to a call to fast_forward completing."
},
"wallClockTime": {
"type": "string",
"format": "date-time",
"description": "The wall-clock time when the time-skipping state changed event was generated."
}
},
"description": "Attributes for an event indicating that time skipping state changed for a workflow execution,\neither time was advanced or time skipping was disabled automatically due to a bound being reached.\nThe worker_may_ignore field in HistoryEvent should always be set true for this event."
"description": "Attributes for an event indicating that time skipping state changed for a workflow execution,\neither time was advanced or time skipping was disabled automatically due to the fast_forward completing.\nThe worker_may_ignore field in HistoryEvent should always be set true for this event."
},
"v1WorkflowExecutionTimedOutEventAttributes": {
"type": "object",
Expand Down
Loading
Loading