Skip to content

Commit

Permalink
Update Core (#376)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sushisource authored Dec 4, 2024
1 parent fe86f77 commit c219615
Show file tree
Hide file tree
Showing 41 changed files with 19,488 additions and 11,675 deletions.
12 changes: 5 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,6 @@ jobs:
version: "23.x"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Build
# We intentionally just build debug mode in this CI. We build before
# regen to confirm no interop header changes.
run: dotnet build

- name: Regen confirm unchanged
if: ${{ matrix.checkTarget }}
run: |
Expand All @@ -85,6 +80,9 @@ jobs:
if: ${{ matrix.checkTarget }}
run: dotnet format --verify-no-changes

- name: Build
run: dotnet build

- name: Test
run: dotnet test --logger "console;verbosity=detailed" --blame-crash -v n

Expand Down Expand Up @@ -120,8 +118,8 @@ jobs:
- name: Build docs
if: ${{ matrix.docsTarget }}
run: |
dotnet tool update -g docfx
docfx src/Temporalio.ApiDoc/docfx.json --warningsAsErrors
dotnet tool update -g docfx
docfx src/Temporalio.ApiDoc/docfx.json --warningsAsErrors
- name: Deploy docs
# Only deploy on main merge, not in PRs
Expand Down
512 changes: 512 additions & 0 deletions src/Temporalio/Api/Activity/V1/Message.cs

Large diffs are not rendered by default.

1,435 changes: 1,386 additions & 49 deletions src/Temporalio/Api/Common/V1/Message.cs

Large diffs are not rendered by default.

32 changes: 16 additions & 16 deletions src/Temporalio/Api/Enums/V1/EventType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,14 @@ static EventTypeReflection() {
"L0VWRU5UX1RZUEVfRVhURVJOQUxfV09SS0ZMT1dfRVhFQ1VUSU9OX1NJR05B",
"TEVEECcSMAosRVZFTlRfVFlQRV9VUFNFUlRfV09SS0ZMT1dfU0VBUkNIX0FU",
"VFJJQlVURVMQKBIxCi1FVkVOVF9UWVBFX1dPUktGTE9XX0VYRUNVVElPTl9V",
"UERBVEVfQUNDRVBURUQQKRIxCi1FVkVOVF9UWVBFX1dPUktGTE9XX0VYRUNV",
"VElPTl9VUERBVEVfUkVKRUNURUQQKhIyCi5FVkVOVF9UWVBFX1dPUktGTE9X",
"X0VYRUNVVElPTl9VUERBVEVfQ09NUExFVEVEECsSNgoyRVZFTlRfVFlQRV9X",
"T1JLRkxPV19QUk9QRVJUSUVTX01PRElGSUVEX0VYVEVSTkFMTFkQLBI2CjJF",
"VkVOVF9UWVBFX0FDVElWSVRZX1BST1BFUlRJRVNfTU9ESUZJRURfRVhURVJO",
"QUxMWRAtEisKJ0VWRU5UX1RZUEVfV09SS0ZMT1dfUFJPUEVSVElFU19NT0RJ",
"RklFRBAuEjEKLUVWRU5UX1RZUEVfV09SS0ZMT1dfRVhFQ1VUSU9OX1VQREFU",
"RV9BRE1JVFRFRBAvEigKJEVWRU5UX1RZUEVfTkVYVVNfT1BFUkFUSU9OX1ND",
"UERBVEVfQURNSVRURUQQLxIxCi1FVkVOVF9UWVBFX1dPUktGTE9XX0VYRUNV",
"VElPTl9VUERBVEVfQUNDRVBURUQQKRIxCi1FVkVOVF9UWVBFX1dPUktGTE9X",
"X0VYRUNVVElPTl9VUERBVEVfUkVKRUNURUQQKhIyCi5FVkVOVF9UWVBFX1dP",
"UktGTE9XX0VYRUNVVElPTl9VUERBVEVfQ09NUExFVEVEECsSNgoyRVZFTlRf",
"VFlQRV9XT1JLRkxPV19QUk9QRVJUSUVTX01PRElGSUVEX0VYVEVSTkFMTFkQ",
"LBI2CjJFVkVOVF9UWVBFX0FDVElWSVRZX1BST1BFUlRJRVNfTU9ESUZJRURf",
"RVhURVJOQUxMWRAtEisKJ0VWRU5UX1RZUEVfV09SS0ZMT1dfUFJPUEVSVElF",
"U19NT0RJRklFRBAuEigKJEVWRU5UX1RZUEVfTkVYVVNfT1BFUkFUSU9OX1ND",
"SEVEVUxFRBAwEiYKIkVWRU5UX1RZUEVfTkVYVVNfT1BFUkFUSU9OX1NUQVJU",
"RUQQMRIoCiRFVkVOVF9UWVBFX05FWFVTX09QRVJBVElPTl9DT01QTEVURUQQ",
"MhIlCiFFVkVOVF9UWVBFX05FWFVTX09QRVJBVElPTl9GQUlMRUQQMxInCiNF",
Expand Down Expand Up @@ -299,11 +299,17 @@ public enum EventType {
/// </summary>
[pbr::OriginalName("EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES")] UpsertWorkflowSearchAttributes = 40,
/// <summary>
/// An update was accepted (i.e. validated)
/// An update was admitted. Note that not all admitted updates result in this
/// event. See UpdateAdmittedEventOrigin for situations in which this event
/// is created.
/// </summary>
[pbr::OriginalName("EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED")] WorkflowExecutionUpdateAdmitted = 47,
/// <summary>
/// An update was accepted (i.e. passed validation, perhaps because no validator was defined)
/// </summary>
[pbr::OriginalName("EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED")] WorkflowExecutionUpdateAccepted = 41,
/// <summary>
/// An update was rejected (i.e. failed validation)
/// This event is never written to history.
/// </summary>
[pbr::OriginalName("EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED")] WorkflowExecutionUpdateRejected = 42,
/// <summary>
Expand All @@ -327,12 +333,6 @@ public enum EventType {
/// </summary>
[pbr::OriginalName("EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED")] WorkflowPropertiesModified = 46,
/// <summary>
/// An update was admitted. Note that not all admitted updates result in this
/// event. See UpdateAdmittedEventOrigin for situations in which this event
/// is created.
/// </summary>
[pbr::OriginalName("EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED")] WorkflowExecutionUpdateAdmitted = 47,
/// <summary>
/// A Nexus operation was scheduled using a ScheduleNexusOperation command.
/// </summary>
[pbr::OriginalName("EVENT_TYPE_NEXUS_OPERATION_SCHEDULED")] NexusOperationScheduled = 48,
Expand Down
23 changes: 14 additions & 9 deletions src/Temporalio/Api/Enums/V1/FailedCause.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ static FailedCauseReflection() {
"RUNVVElPTl9OT1RfRk9VTkQQARJHCkNTSUdOQUxfRVhURVJOQUxfV09SS0ZM",
"T1dfRVhFQ1VUSU9OX0ZBSUxFRF9DQVVTRV9OQU1FU1BBQ0VfTk9UX0ZPVU5E",
"EAISTwpLU0lHTkFMX0VYVEVSTkFMX1dPUktGTE9XX0VYRUNVVElPTl9GQUlM",
"RURfQ0FVU0VfU0lHTkFMX0NPVU5UX0xJTUlUX0VYQ0VFREVEEAMqhQMKFlJl",
"RURfQ0FVU0VfU0lHTkFMX0NPVU5UX0xJTUlUX0VYQ0VFREVEEAMquAMKFlJl",
"c291cmNlRXhoYXVzdGVkQ2F1c2USKAokUkVTT1VSQ0VfRVhIQVVTVEVEX0NB",
"VVNFX1VOU1BFQ0lGSUVEEAASJgoiUkVTT1VSQ0VfRVhIQVVTVEVEX0NBVVNF",
"X1JQU19MSU1JVBABEi0KKVJFU09VUkNFX0VYSEFVU1RFRF9DQVVTRV9DT05D",
Expand All @@ -104,14 +104,15 @@ static FailedCauseReflection() {
"X1BFUlNJU1RFTkNFX0xJTUlUEAQSKgomUkVTT1VSQ0VfRVhIQVVTVEVEX0NB",
"VVNFX0JVU1lfV09SS0ZMT1cQBRImCiJSRVNPVVJDRV9FWEhBVVNURURfQ0FV",
"U0VfQVBTX0xJTUlUEAYSNgoyUkVTT1VSQ0VfRVhIQVVTVEVEX0NBVVNFX1BF",
"UlNJU1RFTkNFX1NUT1JBR0VfTElNSVQQByqPAQoWUmVzb3VyY2VFeGhhdXN0",
"ZWRTY29wZRIoCiRSRVNPVVJDRV9FWEhBVVNURURfU0NPUEVfVU5TUEVDSUZJ",
"RUQQABImCiJSRVNPVVJDRV9FWEhBVVNURURfU0NPUEVfTkFNRVNQQUNFEAES",
"IwofUkVTT1VSQ0VfRVhIQVVTVEVEX1NDT1BFX1NZU1RFTRACQogBChhpby50",
"ZW1wb3JhbC5hcGkuZW51bXMudjFCEEZhaWxlZENhdXNlUHJvdG9QAVohZ28u",
"dGVtcG9yYWwuaW8vYXBpL2VudW1zL3YxO2VudW1zqgIXVGVtcG9yYWxpby5B",
"cGkuRW51bXMuVjHqAhpUZW1wb3JhbGlvOjpBcGk6OkVudW1zOjpWMWIGcHJv",
"dG8z"));
"UlNJU1RFTkNFX1NUT1JBR0VfTElNSVQQBxIxCi1SRVNPVVJDRV9FWEhBVVNU",
"RURfQ0FVU0VfQ0lSQ1VJVF9CUkVBS0VSX09QRU4QCCqPAQoWUmVzb3VyY2VF",
"eGhhdXN0ZWRTY29wZRIoCiRSRVNPVVJDRV9FWEhBVVNURURfU0NPUEVfVU5T",
"UEVDSUZJRUQQABImCiJSRVNPVVJDRV9FWEhBVVNURURfU0NPUEVfTkFNRVNQ",
"QUNFEAESIwofUkVTT1VSQ0VfRVhIQVVTVEVEX1NDT1BFX1NZU1RFTRACQogB",
"Chhpby50ZW1wb3JhbC5hcGkuZW51bXMudjFCEEZhaWxlZENhdXNlUHJvdG9Q",
"AVohZ28udGVtcG9yYWwuaW8vYXBpL2VudW1zL3YxO2VudW1zqgIXVGVtcG9y",
"YWxpby5BcGkuRW51bXMuVjHqAhpUZW1wb3JhbGlvOjpBcGk6OkVudW1zOjpW",
"MWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Temporalio.Api.Enums.V1.WorkflowTaskFailedCause), typeof(global::Temporalio.Api.Enums.V1.StartChildWorkflowExecutionFailedCause), typeof(global::Temporalio.Api.Enums.V1.CancelExternalWorkflowExecutionFailedCause), typeof(global::Temporalio.Api.Enums.V1.SignalExternalWorkflowExecutionFailedCause), typeof(global::Temporalio.Api.Enums.V1.ResourceExhaustedCause), typeof(global::Temporalio.Api.Enums.V1.ResourceExhaustedScope), }, null, null));
Expand Down Expand Up @@ -270,6 +271,10 @@ public enum ResourceExhaustedCause {
/// Persistence storage limit exceeded.
/// </summary>
[pbr::OriginalName("RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_STORAGE_LIMIT")] PersistenceStorageLimit = 7,
/// <summary>
/// Circuit breaker is open/half-open.
/// </summary>
[pbr::OriginalName("RESOURCE_EXHAUSTED_CAUSE_CIRCUIT_BREAKER_OPEN")] CircuitBreakerOpen = 8,
}

public enum ResourceExhaustedScope {
Expand Down
33 changes: 19 additions & 14 deletions src/Temporalio/Api/Enums/V1/Reset.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,20 @@ static ResetReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CiF0ZW1wb3JhbC9hcGkvZW51bXMvdjEvcmVzZXQucHJvdG8SFXRlbXBvcmFs",
"LmFwaS5lbnVtcy52MSqTAQoXUmVzZXRSZWFwcGx5RXhjbHVkZVR5cGUSKgom",
"LmFwaS5lbnVtcy52MSq5AQoXUmVzZXRSZWFwcGx5RXhjbHVkZVR5cGUSKgom",
"UkVTRVRfUkVBUFBMWV9FWENMVURFX1RZUEVfVU5TUEVDSUZJRUQQABIlCiFS",
"RVNFVF9SRUFQUExZX0VYQ0xVREVfVFlQRV9TSUdOQUwQARIlCiFSRVNFVF9S",
"RUFQUExZX0VYQ0xVREVfVFlQRV9VUERBVEUQAiqXAQoQUmVzZXRSZWFwcGx5",
"VHlwZRIiCh5SRVNFVF9SRUFQUExZX1RZUEVfVU5TUEVDSUZJRUQQABIdChlS",
"RVNFVF9SRUFQUExZX1RZUEVfU0lHTkFMEAESGwoXUkVTRVRfUkVBUFBMWV9U",
"WVBFX05PTkUQAhIjCh9SRVNFVF9SRUFQUExZX1RZUEVfQUxMX0VMSUdJQkxF",
"EAMqbgoJUmVzZXRUeXBlEhoKFlJFU0VUX1RZUEVfVU5TUEVDSUZJRUQQABIi",
"Ch5SRVNFVF9UWVBFX0ZJUlNUX1dPUktGTE9XX1RBU0sQARIhCh1SRVNFVF9U",
"WVBFX0xBU1RfV09SS0ZMT1dfVEFTSxACQoIBChhpby50ZW1wb3JhbC5hcGku",
"ZW51bXMudjFCClJlc2V0UHJvdG9QAVohZ28udGVtcG9yYWwuaW8vYXBpL2Vu",
"dW1zL3YxO2VudW1zqgIXVGVtcG9yYWxpby5BcGkuRW51bXMuVjHqAhpUZW1w",
"b3JhbGlvOjpBcGk6OkVudW1zOjpWMWIGcHJvdG8z"));
"RUFQUExZX0VYQ0xVREVfVFlQRV9VUERBVEUQAhIkCiBSRVNFVF9SRUFQUExZ",
"X0VYQ0xVREVfVFlQRV9ORVhVUxADKpcBChBSZXNldFJlYXBwbHlUeXBlEiIK",
"HlJFU0VUX1JFQVBQTFlfVFlQRV9VTlNQRUNJRklFRBAAEh0KGVJFU0VUX1JF",
"QVBQTFlfVFlQRV9TSUdOQUwQARIbChdSRVNFVF9SRUFQUExZX1RZUEVfTk9O",
"RRACEiMKH1JFU0VUX1JFQVBQTFlfVFlQRV9BTExfRUxJR0lCTEUQAypuCglS",
"ZXNldFR5cGUSGgoWUkVTRVRfVFlQRV9VTlNQRUNJRklFRBAAEiIKHlJFU0VU",
"X1RZUEVfRklSU1RfV09SS0ZMT1dfVEFTSxABEiEKHVJFU0VUX1RZUEVfTEFT",
"VF9XT1JLRkxPV19UQVNLEAJCggEKGGlvLnRlbXBvcmFsLmFwaS5lbnVtcy52",
"MUIKUmVzZXRQcm90b1ABWiFnby50ZW1wb3JhbC5pby9hcGkvZW51bXMvdjE7",
"ZW51bXOqAhdUZW1wb3JhbGlvLkFwaS5FbnVtcy5WMeoCGlRlbXBvcmFsaW86",
"OkFwaTo6RW51bXM6OlYxYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Temporalio.Api.Enums.V1.ResetReapplyExcludeType), typeof(global::Temporalio.Api.Enums.V1.ResetReapplyType), typeof(global::Temporalio.Api.Enums.V1.ResetType), }, null, null));
Expand All @@ -47,18 +48,22 @@ static ResetReflection() {
}
#region Enums
/// <summary>
/// Event types to exclude when reapplying events.
/// Event types to exclude when reapplying events beyond the reset point.
/// </summary>
public enum ResetReapplyExcludeType {
[pbr::OriginalName("RESET_REAPPLY_EXCLUDE_TYPE_UNSPECIFIED")] Unspecified = 0,
/// <summary>
/// Exclude signals when reapplying events.
/// Exclude signals when reapplying events beyond the reset point.
/// </summary>
[pbr::OriginalName("RESET_REAPPLY_EXCLUDE_TYPE_SIGNAL")] Signal = 1,
/// <summary>
/// Exclude updates when reapplying events.
/// Exclude updates when reapplying events beyond the reset point.
/// </summary>
[pbr::OriginalName("RESET_REAPPLY_EXCLUDE_TYPE_UPDATE")] Update = 2,
/// <summary>
/// Exclude nexus events when reapplying events beyond the reset point.
/// </summary>
[pbr::OriginalName("RESET_REAPPLY_EXCLUDE_TYPE_NEXUS")] Nexus = 3,
}

/// <summary>
Expand Down
6 changes: 3 additions & 3 deletions src/Temporalio/Api/Enums/V1/TaskQueue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@ public enum TaskReachability {
/// <summary>
/// Specifies which category of tasks may reach a versioned worker of a certain Build ID.
///
/// Task Reachability is eventually consistent; there may be a delay until it converges to the most
/// accurate value but it is designed in a way to take the more conservative side until it converges.
/// For example REACHABLE is more conservative than CLOSED_WORKFLOWS_ONLY.
/// Task Reachability is eventually consistent; there may be a delay (up to few minutes) until it
/// converges to the most accurate value but it is designed in a way to take the more conservative
/// side until it converges. For example REACHABLE is more conservative than CLOSED_WORKFLOWS_ONLY.
///
/// Note: future activities who inherit their workflow's Build ID but not its Task Queue will not be
/// accounted for reachability as server cannot know if they'll happen as they do not use
Expand Down
27 changes: 14 additions & 13 deletions src/Temporalio/Api/Enums/V1/Update.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,48 +48,49 @@ static UpdateReflection() {
#region Enums
/// <summary>
/// UpdateWorkflowExecutionLifecycleStage is specified by clients invoking
/// workflow execution updates and used to indicate to the server how long the
/// client wishes to wait for a return value from the RPC. If any value other
/// Workflow Updates and used to indicate to the server how long the
/// client wishes to wait for a return value from the API. If any value other
/// than UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED is sent by the
/// client then the RPC will complete before the update is finished and will
/// return a handle to the running update so that it can later be polled for
/// client then the API will complete before the Update is finished and will
/// return a handle to the running Update so that it can later be polled for
/// completion.
/// If specified stage wasn't reached before server timeout, server returns
/// actual stage reached.
/// </summary>
public enum UpdateWorkflowExecutionLifecycleStage {
/// <summary>
/// An unspecified vale for this enum.
/// An unspecified value for this enum.
/// </summary>
[pbr::OriginalName("UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED")] Unspecified = 0,
/// <summary>
/// The gRPC call will not return until the update request has been admitted
/// The API call will not return until the Update request has been admitted
/// by the server - it may be the case that due to a considerations like load
/// or resource limits that an update is made to wait before the server will
/// or resource limits that an Update is made to wait before the server will
/// indicate that it has been received and will be processed. This value
/// does not wait for any sort of acknowledgement from a worker.
/// </summary>
[pbr::OriginalName("UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED")] Admitted = 1,
/// <summary>
/// The gRPC call will not return until the update has passed validation on
/// a worker.
/// The API call will not return until the Update has passed validation on a worker.
/// </summary>
[pbr::OriginalName("UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED")] Accepted = 2,
/// <summary>
/// The gRPC call will not return until the update has executed to completion
/// The API call will not return until the Update has executed to completion
/// on a worker and has either been rejected or returned a value or an error.
/// </summary>
[pbr::OriginalName("UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED")] Completed = 3,
}

/// <summary>
/// Records why a WorkflowExecutionUpdateAdmittedEvent was written to history.
/// Note that not all admitted updates result in this event.
/// Note that not all admitted Updates result in this event.
/// </summary>
public enum UpdateAdmittedEventOrigin {
[pbr::OriginalName("UPDATE_ADMITTED_EVENT_ORIGIN_UNSPECIFIED")] Unspecified = 0,
/// <summary>
/// The UpdateAdmitted event was created when reapplying events during reset
/// or replication. I.e. an accepted update on one branch of workflow history
/// was converted into an admitted update on a different branch.
/// or replication. I.e. an accepted Update on one branch of Workflow history
/// was converted into an admitted Update on a different branch.
/// </summary>
[pbr::OriginalName("UPDATE_ADMITTED_EVENT_ORIGIN_REAPPLY")] Reapply = 1,
}
Expand Down
4 changes: 1 addition & 3 deletions src/Temporalio/Api/Failure/V1/Message.cs
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,6 @@ public bool NonRetryable {
/// retry interval calculated by the retry policy. Retry attempts will
/// still be subject to the maximum retries limit and total time limit
/// defined by the policy.
/// ATTENTION: this value will be ignored if set for failures produced by
/// the workflow.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
Expand Down Expand Up @@ -2653,7 +2651,7 @@ public string StackTrace {
/// The `encoded_attributes` Payload could represent any serializable object, e.g. JSON object or a `Failure` proto
/// message.
///
/// SDK authors:
/// SDK authors:
/// - The SDK should provide a default `encodeFailureAttributes` and `decodeFailureAttributes` implementation that:
/// - Uses a JSON object to represent `{ message, stack_trace }`.
/// - Overwrites the original message with "Encoded failure" to indicate that more information could be extracted.
Expand Down
Loading

0 comments on commit c219615

Please sign in to comment.