Skip to content
Open
Show file tree
Hide file tree
Changes from 68 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
6723dde
Add remote activity SDK APIs
YunchuWang May 14, 2026
05223b6
Add remote activity worker profiles
YunchuWang May 14, 2026
ce8c38c
serverless pkg
YunchuWang May 15, 2026
8d96663
remove launchcommand
YunchuWang May 15, 2026
6dc7d23
separate declare from conneect
YunchuWang May 15, 2026
a94c91c
logcleanup
YunchuWang May 15, 2026
a1a03d8
use grpc retry
YunchuWang May 15, 2026
f58cd4d
inflight activity tracker
YunchuWang May 15, 2026
48f7284
serverless connection resilient
YunchuWang May 15, 2026
7c94c39
completeasync
YunchuWang May 15, 2026
cfa428e
add jitter
YunchuWang May 15, 2026
11a7914
dup headers
YunchuWang May 18, 2026
821069a
make taskhub metadata opt-out
YunchuWang May 20, 2026
1077961
Add serverless sandbox list and log APIs
YunchuWang May 20, 2026
e1433f2
remove declarat
YunchuWang May 20, 2026
4891155
Add serverless activities sample
YunchuWang May 20, 2026
42b6153
Remove serverless sample no-auth credential
YunchuWang May 20, 2026
71c9359
Simplify serverless sample auth and HTTP helper
YunchuWang May 20, 2026
55c9e36
Remove insecure credential sample wiring
YunchuWang May 20, 2026
560557c
simple serverless sample
YunchuWang May 21, 2026
2ca9681
Simplify serverless sample dashboard flow
YunchuWang May 21, 2026
dfede69
cleanup
YunchuWang May 21, 2026
81a603c
sync proto
YunchuWang May 21, 2026
18c8e02
remove env var
YunchuWang May 21, 2026
d5dcc19
Revert "remove env var"
YunchuWang May 22, 2026
408ee71
Enhance serverless worker registration and configuration
YunchuWang May 22, 2026
008a416
Remove serverless wakeup listener
YunchuWang May 22, 2026
a60e43a
Split serverless worker runtime options
YunchuWang May 22, 2026
ee477ac
Refactor serverless options and improve activity registration methods
YunchuWang May 22, 2026
098983a
remove public pull
YunchuWang May 22, 2026
44ee2e5
Enable annotation-based serverless declarations
YunchuWang May 27, 2026
7188bb8
Simplify serverless sample; move worker profile
YunchuWang May 27, 2026
5f431e3
Validate and resolve serverless activity annotations
YunchuWang May 27, 2026
46ce48b
Disallow EnableServerlessActivities in worker
YunchuWang May 27, 2026
dcbb904
Refactor serverless annotation resolution
YunchuWang May 27, 2026
862f5f2
Resolve and validate declared serverless activities
YunchuWang May 27, 2026
d907e31
Serverless: use appsettings and remove marker
YunchuWang May 27, 2026
f05c6b3
Inline task name resolver; remove helper class
YunchuWang May 27, 2026
cf26c58
Rename annotation resolver to declaration
YunchuWang May 27, 2026
d4373e6
Use attributes for serverless activity declarations
YunchuWang May 27, 2026
ae1f0d1
Use AddActivity for serverless declarations
YunchuWang May 28, 2026
b6faacd
Fail serverless worker without activities
YunchuWang May 28, 2026
d71f765
Harden serverless worker runtime defaults
YunchuWang May 28, 2026
c03448f
Introduce On-Demand Sandbox extension and samples
YunchuWang Jun 1, 2026
a4b2aca
Validate sandbox CPU/memory and add logging
YunchuWang Jun 2, 2026
fd86972
Merge remote-tracking branch 'origin/main' into wangbill/serverless-p…
YunchuWang Jun 2, 2026
5771008
Remove 'Accepted' from session result proto
YunchuWang Jun 2, 2026
9d32898
Add managed identity support for on-demand sandbox
YunchuWang Jun 3, 2026
f782197
Add image-pull managed identity support
YunchuWang Jun 3, 2026
604194f
Move sandbox activity enablement to client
YunchuWang Jun 9, 2026
5722ae6
Align on-demand sandbox .NET APIs with Python
YunchuWang Jun 10, 2026
92343e3
Simplify on-demand sandbox sample
YunchuWang Jun 10, 2026
d8529df
Clean up on-demand sandbox extension surface
YunchuWang Jun 10, 2026
95a67dc
Share on-demand sandbox gRPC transport
YunchuWang Jun 10, 2026
c60c2f2
Move sandbox declaration types to shared namespace
YunchuWang Jun 10, 2026
d3c342b
Split on-demand sandbox APIs into AzureManaged packages
YunchuWang Jun 10, 2026
da25ab9
Remove on-demand sandbox worker mode flag
YunchuWang Jun 10, 2026
762c5ae
Fail fast on invalid sandbox profile declarations
YunchuWang Jun 11, 2026
1df3461
Simplify on-demand sandbox worker cleanup
YunchuWang Jun 11, 2026
98a0e1f
Fix shared AzureManaged test protobuf reference
YunchuWang Jun 11, 2026
78e3d52
Remove unnecessary Grpc.Core references
YunchuWang Jun 11, 2026
278f025
Include on-demand sandbox proto in refresh script
YunchuWang Jun 11, 2026
5c7fa17
Address on-demand sandbox review comments
YunchuWang Jun 11, 2026
3f43978
Split on-demand sandbox into AzureManaged packages
YunchuWang Jun 11, 2026
6cf9f72
Refactor on-demand sandbox declaration provider
YunchuWang Jun 11, 2026
6d99262
Enable work item filters in worker builder
YunchuWang Jun 11, 2026
97f2020
Validate sandbox worker registration metadata
YunchuWang Jun 11, 2026
fbc550c
Address sandbox review feedback
YunchuWang Jun 11, 2026
b1dc957
Sync sandbox protobuf rename
YunchuWang Jun 12, 2026
6864544
Filter fatal notification exceptions
YunchuWang Jun 12, 2026
ce8894d
Address sandbox SDK review comments
YunchuWang Jun 12, 2026
dd0f857
Require managed identity for sandbox workers
YunchuWang Jun 12, 2026
78a8318
Preserve sandbox worker registration backoff
YunchuWang Jun 12, 2026
cafe990
Address sandbox client metadata comments
YunchuWang Jun 12, 2026
15c5039
Fix sandbox test timeout helper
YunchuWang Jun 12, 2026
5be4dcc
Observe sandbox session completion failures
YunchuWang Jun 12, 2026
b66381c
remove default worker profile
YunchuWang Jun 12, 2026
8a0e4f5
Rename DTS_SUBSTRATE to DTS_SANDBOX_PROVIDER
YunchuWang Jun 12, 2026
6dda811
Harden sandbox worker runtime config
YunchuWang Jun 13, 2026
61dd951
Update sandbox proto sync path
YunchuWang Jun 13, 2026
8ce3888
Tighten sandbox activity metadata validation
YunchuWang Jun 13, 2026
74df39e
Apply sandbox image proto updates
YunchuWang Jun 13, 2026
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
933 changes: 468 additions & 465 deletions CHANGELOG.md

Large diffs are not rendered by default.

101 changes: 94 additions & 7 deletions Microsoft.DurableTask.sln
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32901.215
Expand Down Expand Up @@ -117,16 +117,34 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReplaySafeLoggerFactorySamp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkerVersioningSample", "samples\WorkerVersioningSample\WorkerVersioningSample.csproj", "{26988639-D204-4E0B-80BE-F4E11952DFF8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{D4587EC0-1B16-8420-7502-A967139249D4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{53193780-CD18-2643-6953-C26F59EAEDF5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EternalOrchestrationVersionMigrationSample", "samples\EternalOrchestrationVersionMigrationSample\EternalOrchestrationVersionMigrationSample.csproj", "{1E30F09F-1ADA-4375-81CC-F0FBC74D5621}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActivityVersioningSample", "samples\ActivityVersioningSample\ActivityVersioningSample.csproj", "{3FBCFDBA-F547-4FD5-B8C6-0B645EF73E3A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EntityWithVersionedOrchestrationSample", "samples\EntityWithVersionedOrchestrationSample\EntityWithVersionedOrchestrationSample.csproj", "{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "on-demand-sandbox", "on-demand-sandbox", "{D422B5FD-8E3C-6588-ACD1-DEFAB429269C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "shared", "samples\on-demand-sandbox\shared\shared.csproj", "{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "main-app", "samples\on-demand-sandbox\main-app\main-app.csproj", "{0CB44F0A-3483-4052-A49F-D4E6F140741C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "remote-worker", "samples\on-demand-sandbox\remote-worker\remote-worker.csproj", "{B7069604-DD97-4115-8B30-FC1D4C0E6D43}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged.Sandboxes", "AzureManaged.Sandboxes", "{28648169-70E4-D0BA-4357-338A556A7DA8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.AzureManaged.Sandboxes", "src\Client\AzureManaged.Sandboxes\Client.AzureManaged.Sandboxes.csproj", "{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{D4587EC0-1B16-8420-7502-A967139249D4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged.Sandboxes", "AzureManaged.Sandboxes", "{9686B8F9-2644-6C9B-E567-55B0471E4584}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Worker.AzureManaged.Sandboxes", "src\Worker\AzureManaged.Sandboxes\Worker.AzureManaged.Sandboxes.csproj", "{C1995163-1DCE-405D-BE82-8B4B2584893E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{53193780-CD18-2643-6953-C26F59EAEDF5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Grpc", "Grpc", "{3B8F957E-7773-4C0C-ACD7-91A1591D9312}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -761,6 +779,66 @@ Global
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x64.Build.0 = Release|Any CPU
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x86.ActiveCfg = Release|Any CPU
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x86.Build.0 = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x64.ActiveCfg = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x64.Build.0 = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x86.ActiveCfg = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x86.Build.0 = Debug|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|Any CPU.Build.0 = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x64.ActiveCfg = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x64.Build.0 = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x86.ActiveCfg = Release|Any CPU
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x86.Build.0 = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x64.ActiveCfg = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x64.Build.0 = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x86.ActiveCfg = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x86.Build.0 = Debug|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|Any CPU.Build.0 = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x64.ActiveCfg = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x64.Build.0 = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x86.ActiveCfg = Release|Any CPU
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x86.Build.0 = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x64.ActiveCfg = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x64.Build.0 = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x86.ActiveCfg = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x86.Build.0 = Debug|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|Any CPU.Build.0 = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x64.ActiveCfg = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x64.Build.0 = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x86.ActiveCfg = Release|Any CPU
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x86.Build.0 = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x64.ActiveCfg = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x64.Build.0 = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x86.ActiveCfg = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x86.Build.0 = Debug|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|Any CPU.Build.0 = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x64.ActiveCfg = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x64.Build.0 = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x86.ActiveCfg = Release|Any CPU
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x86.Build.0 = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x64.ActiveCfg = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x64.Build.0 = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x86.ActiveCfg = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x86.Build.0 = Debug|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|Any CPU.Build.0 = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x64.ActiveCfg = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x64.Build.0 = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x86.ActiveCfg = Release|Any CPU
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -819,11 +897,20 @@ Global
{5A69FD28-D814-490E-A76B-B0A5F88C25B2} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{8E7BECBC-7226-4778-B8F2-8EBDFF0D3BA4} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{26988639-D204-4E0B-80BE-F4E11952DFF8} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{D4587EC0-1B16-8420-7502-A967139249D4} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
{53193780-CD18-2643-6953-C26F59EAEDF5} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
{1E30F09F-1ADA-4375-81CC-F0FBC74D5621} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{3FBCFDBA-F547-4FD5-B8C6-0B645EF73E3A} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{D422B5FD-8E3C-6588-ACD1-DEFAB429269C} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
{0CB44F0A-3483-4052-A49F-D4E6F140741C} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
{B7069604-DD97-4115-8B30-FC1D4C0E6D43} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
{28648169-70E4-D0BA-4357-338A556A7DA8} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056} = {28648169-70E4-D0BA-4357-338A556A7DA8}
{D4587EC0-1B16-8420-7502-A967139249D4} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
{9686B8F9-2644-6C9B-E567-55B0471E4584} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
{C1995163-1DCE-405D-BE82-8B4B2584893E} = {9686B8F9-2644-6C9B-E567-55B0471E4584}
{53193780-CD18-2643-6953-C26F59EAEDF5} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
{3B8F957E-7773-4C0C-ACD7-91A1591D9312} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AB41CB55-35EA-4986-A522-387AB3402E71}
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Durable Task .NET Client SDK
# Durable Task .NET Client SDK

[![Build status](https://github.com/microsoft/durabletask-dotnet/workflows/Validate%20Build/badge.svg)](https://github.com/microsoft/durabletask-dotnet/actions?workflow=Validate+Build)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
Expand Down Expand Up @@ -198,6 +198,8 @@ This SDK can also be used with the Durable Task Scheduler directly, without any

For runnable DTS emulator examples that demonstrate versioning, see the [WorkerVersioningSample](samples/WorkerVersioningSample/README.md) (deployment-based versioning), the [EternalOrchestrationVersionMigrationSample](samples/EternalOrchestrationVersionMigrationSample/README.md) (multi-version routing with `[DurableTask(Version = "...")]`), the [ActivityVersioningSample](samples/ActivityVersioningSample/README.md) (activity versioning with inherited defaults and explicit override support), and the [EntityWithVersionedOrchestrationSample](samples/EntityWithVersionedOrchestrationSample/README.md) (a single instance migrating v1→v2 via `ContinueAsNew(NewVersion)` while preserving entity-held state).

The [on-demand sandbox activities sample](samples/on-demand-sandbox/README.md) shows how to declare selected activities for Durable Task Scheduler (DTS)-managed on-demand sandbox execution and build the remote worker container image separately from the declarer app.

## Obtaining the Protobuf definitions

This project utilizes protobuf definitions from [durabletask-protobuf](https://github.com/microsoft/durabletask-protobuf), which are copied (vendored) into this repository under the `src/Grpc` directory. See the corresponding [README.md](./src/Grpc/README.md) for more information about how to update the protobuf definitions.
Expand Down
52 changes: 49 additions & 3 deletions eng/publish/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ extends:
# the packages to push pattern explicitly excludes:
# - 'Microsoft.DurableTask.Client.Grpc'
# - 'Microsoft.DurableTask.Client.OrchestrationServiceClientShim'
# - 'Microsoft.DurableTask.Client.AzureManaged'
# - 'Microsoft.DurableTask.Client.AzureManaged.*'
# which are pushed by their respective jobs
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.*.nupkg;!$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.Grpc.*.nupkg;!$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.OrchestrationServiceClientShim.*.nupkg;!$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.AzureManaged.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packageParentPath: $(System.DefaultWorkingDirectory) # This needs to be set to some prefix of the `packagesToPush` parameter. Apparently it helps with SDL tooling
Expand Down Expand Up @@ -324,7 +324,30 @@ extends:
command: push
nuGetFeedType: external
publishFeedCredentials: 'DurableTask org NuGet API Key'
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.AzureManaged.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.AzureManaged.*.nupkg;!$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.AzureManaged.Sandboxes.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packageParentPath: $(System.DefaultWorkingDirectory) # This needs to be set to some prefix of the `packagesToPush` parameter. Apparently it helps with SDL tooling

# NuGet release (Microsoft.DurableTask.Client.AzureManaged.Sandboxes)
- job: nugetRelease_Microsoft_DurableTask_Client_AzureManaged_Sandboxes
displayName: NuGet Release (Microsoft.DurableTask.Client.AzureManaged.Sandboxes)
dependsOn: nugetApproval
condition: succeeded('nugetApproval') # nuget packages need to be on ADO first
templateContext:
type: releaseJob
isProduction: true
inputs:
- input: pipelineArtifact
pipeline: officialPipeline # Pipeline reference as defined in the resources section
artifactName: drop
targetPath: $(System.DefaultWorkingDirectory)/drop
steps:
- task: 1ES.PublishNuget@1
displayName: 'NuGet push (Microsoft.DurableTask.Client.AzureManaged.Sandboxes)'
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'DurableTask org NuGet API Key'
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Client.AzureManaged.Sandboxes.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packageParentPath: $(System.DefaultWorkingDirectory) # This needs to be set to some prefix of the `packagesToPush` parameter. Apparently it helps with SDL tooling

# NuGet release (Microsoft.DurableTask.Worker.AzureManaged)
Expand All @@ -347,7 +370,30 @@ extends:
command: push
nuGetFeedType: external
publishFeedCredentials: 'DurableTask org NuGet API Key'
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Worker.AzureManaged.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Worker.AzureManaged.*.nupkg;!$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Worker.AzureManaged.Sandboxes.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packageParentPath: $(System.DefaultWorkingDirectory) # This needs to be set to some prefix of the `packagesToPush` parameter. Apparently it helps with SDL tooling

# NuGet release (Microsoft.DurableTask.Worker.AzureManaged.Sandboxes)
- job: nugetRelease_Microsoft_DurableTask_Worker_AzureManaged_Sandboxes
displayName: NuGet Release (Microsoft.DurableTask.Worker.AzureManaged.Sandboxes)
dependsOn: nugetApproval
condition: succeeded('nugetApproval') # nuget packages need to be on ADO first
templateContext:
type: releaseJob
isProduction: true
inputs:
- input: pipelineArtifact
pipeline: officialPipeline # Pipeline reference as defined in the resources section
artifactName: drop
targetPath: $(System.DefaultWorkingDirectory)/drop
steps:
- task: 1ES.PublishNuget@1
displayName: 'NuGet push (Microsoft.DurableTask.Worker.AzureManaged.Sandboxes)'
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'DurableTask org NuGet API Key'
packagesToPush: '$(System.DefaultWorkingDirectory)/drop/Microsoft.DurableTask.Worker.AzureManaged.Sandboxes.*.nupkg;!$(System.DefaultWorkingDirectory)/**/*.symbols.nupkg' # Despite this being a custom command, we need to keep this for 1ES validation
packageParentPath: $(System.DefaultWorkingDirectory) # This needs to be set to some prefix of the `packagesToPush` parameter. Apparently it helps with SDL tooling

# NuGet release (Microsoft.DurableTask.ScheduledTasks)
Expand Down
Loading
Loading