Skip to content

Commit

Permalink
Remove "experimental" tag from workflow update (#380)
Browse files Browse the repository at this point in the history
  • Loading branch information
cretz authored Dec 13, 2024
1 parent 301062a commit d073176
Show file tree
Hide file tree
Showing 7 changed files with 0 additions and 37 deletions.
26 changes: 0 additions & 26 deletions src/Temporalio/Client/WorkflowHandle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,6 @@ public Task<TQueryResult> QueryAsync<TQueryResult>(
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task<WorkflowUpdateHandle> StartUpdateAsync<TWorkflow>(
Expression<Func<TWorkflow, Task>> updateCall, WorkflowUpdateStartOptions options)
{
Expand All @@ -328,7 +327,6 @@ public Task<WorkflowUpdateHandle> StartUpdateAsync<TWorkflow>(
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TWorkflow, TUpdateResult>(
Expression<Func<TWorkflow, Task<TUpdateResult>>> updateCall,
WorkflowUpdateStartOptions options)
Expand All @@ -347,7 +345,6 @@ public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TWorkflow, TUp
/// <param name="args">Arguments for the update.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public async Task<WorkflowUpdateHandle> StartUpdateAsync(
string update, IReadOnlyCollection<object?> args, WorkflowUpdateStartOptions options) =>
await StartUpdateAsync<ValueTuple>(update, args, options).ConfigureAwait(false);
Expand All @@ -360,7 +357,6 @@ public async Task<WorkflowUpdateHandle> StartUpdateAsync(
/// <param name="args">Arguments for the update.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TUpdateResult>(
string update, IReadOnlyCollection<object?> args, WorkflowUpdateStartOptions options) =>
Client.OutboundInterceptor.StartWorkflowUpdateAsync<TUpdateResult>(new(
Expand All @@ -378,9 +374,6 @@ public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TUpdateResult>
/// +
/// <see cref="WorkflowUpdateHandle.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <typeparam name="TWorkflow">Workflow class type.</typeparam>
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Extra options.</param>
Expand All @@ -401,9 +394,6 @@ public async Task ExecuteUpdateAsync<TWorkflow>(
/// +
/// <see cref="WorkflowUpdateHandle{TResult}.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <typeparam name="TWorkflow">Workflow class type.</typeparam>
/// <typeparam name="TUpdateResult">Update result type.</typeparam>
/// <param name="updateCall">Invocation of workflow update method.</param>
Expand All @@ -424,9 +414,6 @@ public async Task<TUpdateResult> ExecuteUpdateAsync<TWorkflow, TUpdateResult>(
/// +
/// <see cref="WorkflowUpdateHandle.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <param name="update">Update name.</param>
/// <param name="args">Update args.</param>
/// <param name="options">Extra options.</param>
Expand All @@ -447,9 +434,6 @@ public async Task ExecuteUpdateAsync(
/// +
/// <see cref="WorkflowUpdateHandle.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <typeparam name="TUpdateResult">Update result type.</typeparam>
/// <param name="update">Update name.</param>
/// <param name="args">Update args.</param>
Expand All @@ -470,7 +454,6 @@ public async Task<TUpdateResult> ExecuteUpdateAsync<TUpdateResult>(
/// </summary>
/// <param name="id">ID of the update.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public WorkflowUpdateHandle GetUpdateHandle(string id) =>
new(Client: Client, Id: id, WorkflowId: Id, WorkflowRunId: RunId);

Expand All @@ -480,7 +463,6 @@ public WorkflowUpdateHandle GetUpdateHandle(string id) =>
/// <typeparam name="TUpdateResult">Update result type.</typeparam>
/// <param name="id">ID of the update.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public WorkflowUpdateHandle<TUpdateResult> GetUpdateHandle<TUpdateResult>(string id) =>
new(Client: Client, Id: id, WorkflowId: Id, WorkflowRunId: RunId);

Expand Down Expand Up @@ -679,7 +661,6 @@ public Task<TQueryResult> QueryAsync<TQueryResult>(
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task<WorkflowUpdateHandle> StartUpdateAsync(
Expression<Func<TWorkflow, Task>> updateCall, WorkflowUpdateStartOptions options) =>
StartUpdateAsync<TWorkflow>(updateCall, options);
Expand All @@ -691,7 +672,6 @@ public Task<WorkflowUpdateHandle> StartUpdateAsync(
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
/// <returns>Workflow update handle.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TUpdateResult>(
Expression<Func<TWorkflow, Task<TUpdateResult>>> updateCall,
WorkflowUpdateStartOptions options) =>
Expand All @@ -703,9 +683,6 @@ public Task<WorkflowUpdateHandle<TUpdateResult>> StartUpdateAsync<TUpdateResult>
/// +
/// <see cref="WorkflowUpdateHandle.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Extra options.</param>
/// <returns>Completed update task.</returns>
Expand All @@ -724,9 +701,6 @@ public async Task ExecuteUpdateAsync(
/// +
/// <see cref="WorkflowUpdateHandle{TResult}.GetResultAsync(RpcOptions?)" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change. Currently this
/// API will timeout on long update requests instead of properly polling for their
/// completion.</remarks>
/// <typeparam name="TUpdateResult">Update result type.</typeparam>
/// <param name="updateCall">Invocation of workflow update method.</param>
/// <param name="options">Extra options.</param>
Expand Down
5 changes: 0 additions & 5 deletions src/Temporalio/Client/WorkflowUpdateHandle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ namespace Temporalio.Client
/// <param name="Id">Update ID.</param>
/// <param name="WorkflowId">Workflow ID.</param>
/// <param name="WorkflowRunId">Run ID if any.</param>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public record WorkflowUpdateHandle(
ITemporalClient Client,
string Id,
Expand All @@ -32,7 +31,6 @@ public record WorkflowUpdateHandle(
/// </summary>
/// <param name="rpcOptions">Extra RPC options.</param>
/// <returns>Completed update task.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public Task GetResultAsync(RpcOptions? rpcOptions = null) =>
GetResultAsync<ValueTuple>(rpcOptions);

Expand All @@ -42,7 +40,6 @@ public Task GetResultAsync(RpcOptions? rpcOptions = null) =>
/// <typeparam name="TResult">Update result type.</typeparam>
/// <param name="rpcOptions">Extra RPC options.</param>
/// <returns>Completed update result.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public virtual async Task<TResult> GetResultAsync<TResult>(RpcOptions? rpcOptions = null)
{
await PollUntilOutcomeAsync(rpcOptions).ConfigureAwait(false);
Expand Down Expand Up @@ -131,7 +128,6 @@ internal async Task PollUntilOutcomeAsync(RpcOptions? rpcOptions = null)
/// <param name="Id">Update ID.</param>
/// <param name="WorkflowId">Workflow ID.</param>
/// <param name="WorkflowRunId">Run ID if any.</param>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public record WorkflowUpdateHandle<TResult>(
ITemporalClient Client,
string Id,
Expand All @@ -144,7 +140,6 @@ public record WorkflowUpdateHandle<TResult>(
/// </summary>
/// <param name="rpcOptions">Extra RPC options.</param>
/// <returns>Completed update result.</returns>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public new Task<TResult> GetResultAsync(RpcOptions? rpcOptions = null) =>
GetResultAsync<TResult>(rpcOptions);
}
Expand Down
1 change: 0 additions & 1 deletion src/Temporalio/Client/WorkflowUpdateOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ namespace Temporalio.Client
/// <summary>
/// Options for executing an update on a <see cref="WorkflowHandle" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public class WorkflowUpdateOptions : ICloneable
{
/// <summary>
Expand Down
1 change: 0 additions & 1 deletion src/Temporalio/Client/WorkflowUpdateStartOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ namespace Temporalio.Client
/// <summary>
/// Options for starting an update on a <see cref="WorkflowHandle" />.
/// </summary>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public class WorkflowUpdateStartOptions : WorkflowUpdateOptions
{
/// <summary>
Expand Down
1 change: 0 additions & 1 deletion src/Temporalio/Workflows/Workflow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ public static string CurrentDetails
/// This set via a <see cref="AsyncLocal{T}" /> and therefore only visible inside the
/// handler and tasks it creates.
/// </remarks>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public static WorkflowUpdateInfo? CurrentUpdateInfo => Context.CurrentUpdateInfo;

/// <summary>
Expand Down
2 changes: 0 additions & 2 deletions src/Temporalio/Workflows/WorkflowUpdateAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ namespace Temporalio.Workflows
/// <see cref="Worker.TemporalWorkerOptions.WorkflowFailureExceptionTypes"/> to change the
/// default behavior.
/// </remarks>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
public sealed class WorkflowUpdateAttribute : Attribute
{
Expand Down Expand Up @@ -45,7 +44,6 @@ public WorkflowUpdateAttribute()
/// Gets or sets a short description for this update that may appear in UI/CLI when workflow
/// is asked for which updates it supports.
/// </summary>
/// <remarks>WARNING: This setting is experimental.</remarks>
public string? Description { get; set; }

/// <summary>
Expand Down
1 change: 0 additions & 1 deletion src/Temporalio/Workflows/WorkflowUpdateInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ namespace Temporalio.Workflows
/// </summary>
/// <param name="Id">Current update ID.</param>
/// <param name="Name">Current update name.</param>
/// <remarks>WARNING: Workflow update is experimental and APIs may change.</remarks>
public record WorkflowUpdateInfo(
string Id,
string Name)
Expand Down

0 comments on commit d073176

Please sign in to comment.