Skip to content

Commit a16db99

Browse files
committed
Merge commit '5c4eda7d93d37342a310b0808921efd331b6f21e' into halspang/multi-version-annotations
2 parents ef6b0e3 + 5c4eda7 commit a16db99

61 files changed

Lines changed: 5466 additions & 97 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@
33
## Unreleased
44

55

6+
## v1.25.0-preview.2
7+
- On-demand sandbox ([#736](https://github.com/microsoft/durabletask-dotnet/pull/736))
8+
- Bump Grpc.AspNetCore.Server from 2.76.0 to 2.80.0 ([#747](https://github.com/microsoft/durabletask-dotnet/pull/747))
9+
- Bump Grpc.Net.Client from 2.76.0 to 2.80.0 ([#748](https://github.com/microsoft/durabletask-dotnet/pull/748))
10+
- Fix DURABLE0010 false positives when a replay-safe logger created via `TaskOrchestrationContext.CreateReplaySafeLogger` is passed to a helper method ([#717](https://github.com/microsoft/durabletask-dotnet/issues/717), [#718](https://github.com/microsoft/durabletask-dotnet/pull/718))
11+
- Expose scheduled version on TaskActivityContext ([#744](https://github.com/microsoft/durabletask-dotnet/pull/744))
12+
- Bump Grpc.Tools from 2.78.0 to 2.81.0 ([#740](https://github.com/microsoft/durabletask-dotnet/pull/740))
13+
- Add PackageRequireLicenseAcceptance to Release.props for authoring requirements ([#733](https://github.com/microsoft/durabletask-dotnet/pull/733))
14+
- Remove Copilot agent GitHub Actions workflow ([#728](https://github.com/microsoft/durabletask-dotnet/pull/728))
15+
- Split private preview on-demand sandbox APIs into opt-in `Microsoft.DurableTask.Client.AzureManaged.Sandboxes` and `Microsoft.DurableTask.Worker.AzureManaged.Sandboxes` packages.
16+
- Updated private preview on-demand sandbox worker profile declarations to use `SandboxWorkerProfileOptions.AddActivity(...)`, and updated the on-demand sandbox sample to share activity name constants between the main app and remote worker.
17+
- Added SDK-side validation for private preview on-demand sandbox CPU and memory resource quantities.
18+
19+
620

721
## v1.25.0-preview.1
822
- Implement per-orchestration and per-activity versioning ([#695](https://github.com/microsoft/durabletask-dotnet/pull/695))
@@ -461,5 +475,3 @@ Initial public release
461475

462476

463477

464-
465-

Directory.Packages.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@
5252
<ItemGroup>
5353
<PackageVersion Include="Google.Protobuf" Version="3.33.5" />
5454
<PackageVersion Include="Grpc.Core" Version="2.46.6" />
55-
<PackageVersion Include="Grpc.Net.Client" Version="2.76.0" />
56-
<PackageVersion Include="Grpc.Tools" Version="2.78.0" />
57-
<PackageVersion Include="Grpc.AspNetCore.Server" Version="2.76.0" />
55+
<PackageVersion Include="Grpc.Net.Client" Version="2.80.0" />
56+
<PackageVersion Include="Grpc.Tools" Version="2.81.0" />
57+
<PackageVersion Include="Grpc.AspNetCore.Server" Version="2.80.0" />
5858
</ItemGroup>
5959

6060
<!-- Microsoft.CodeAnalysis.* Packages -->

Microsoft.DurableTask.sln

Lines changed: 94 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.3.32901.215
@@ -117,16 +117,34 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReplaySafeLoggerFactorySamp
117117
EndProject
118118
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkerVersioningSample", "samples\WorkerVersioningSample\WorkerVersioningSample.csproj", "{26988639-D204-4E0B-80BE-F4E11952DFF8}"
119119
EndProject
120-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{D4587EC0-1B16-8420-7502-A967139249D4}"
121-
EndProject
122-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{53193780-CD18-2643-6953-C26F59EAEDF5}"
123-
EndProject
124120
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EternalOrchestrationVersionMigrationSample", "samples\EternalOrchestrationVersionMigrationSample\EternalOrchestrationVersionMigrationSample.csproj", "{1E30F09F-1ADA-4375-81CC-F0FBC74D5621}"
125121
EndProject
126122
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActivityVersioningSample", "samples\ActivityVersioningSample\ActivityVersioningSample.csproj", "{3FBCFDBA-F547-4FD5-B8C6-0B645EF73E3A}"
127123
EndProject
128124
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EntityWithVersionedOrchestrationSample", "samples\EntityWithVersionedOrchestrationSample\EntityWithVersionedOrchestrationSample.csproj", "{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}"
129125
EndProject
126+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "on-demand-sandbox", "on-demand-sandbox", "{D422B5FD-8E3C-6588-ACD1-DEFAB429269C}"
127+
EndProject
128+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "shared", "samples\on-demand-sandbox\shared\shared.csproj", "{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}"
129+
EndProject
130+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "main-app", "samples\on-demand-sandbox\main-app\main-app.csproj", "{0CB44F0A-3483-4052-A49F-D4E6F140741C}"
131+
EndProject
132+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "remote-worker", "samples\on-demand-sandbox\remote-worker\remote-worker.csproj", "{B7069604-DD97-4115-8B30-FC1D4C0E6D43}"
133+
EndProject
134+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged.Sandboxes", "AzureManaged.Sandboxes", "{28648169-70E4-D0BA-4357-338A556A7DA8}"
135+
EndProject
136+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.AzureManaged.Sandboxes", "src\Client\AzureManaged.Sandboxes\Client.AzureManaged.Sandboxes.csproj", "{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}"
137+
EndProject
138+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{D4587EC0-1B16-8420-7502-A967139249D4}"
139+
EndProject
140+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged.Sandboxes", "AzureManaged.Sandboxes", "{9686B8F9-2644-6C9B-E567-55B0471E4584}"
141+
EndProject
142+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Worker.AzureManaged.Sandboxes", "src\Worker\AzureManaged.Sandboxes\Worker.AzureManaged.Sandboxes.csproj", "{C1995163-1DCE-405D-BE82-8B4B2584893E}"
143+
EndProject
144+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureManaged", "AzureManaged", "{53193780-CD18-2643-6953-C26F59EAEDF5}"
145+
EndProject
146+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Grpc", "Grpc", "{3B8F957E-7773-4C0C-ACD7-91A1591D9312}"
147+
EndProject
130148
Global
131149
GlobalSection(SolutionConfigurationPlatforms) = preSolution
132150
Debug|Any CPU = Debug|Any CPU
@@ -761,6 +779,66 @@ Global
761779
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x64.Build.0 = Release|Any CPU
762780
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x86.ActiveCfg = Release|Any CPU
763781
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2}.Release|x86.Build.0 = Release|Any CPU
782+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
783+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|Any CPU.Build.0 = Debug|Any CPU
784+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x64.ActiveCfg = Debug|Any CPU
785+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x64.Build.0 = Debug|Any CPU
786+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x86.ActiveCfg = Debug|Any CPU
787+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Debug|x86.Build.0 = Debug|Any CPU
788+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|Any CPU.ActiveCfg = Release|Any CPU
789+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|Any CPU.Build.0 = Release|Any CPU
790+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x64.ActiveCfg = Release|Any CPU
791+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x64.Build.0 = Release|Any CPU
792+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x86.ActiveCfg = Release|Any CPU
793+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279}.Release|x86.Build.0 = Release|Any CPU
794+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
795+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|Any CPU.Build.0 = Debug|Any CPU
796+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x64.ActiveCfg = Debug|Any CPU
797+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x64.Build.0 = Debug|Any CPU
798+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x86.ActiveCfg = Debug|Any CPU
799+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Debug|x86.Build.0 = Debug|Any CPU
800+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|Any CPU.ActiveCfg = Release|Any CPU
801+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|Any CPU.Build.0 = Release|Any CPU
802+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x64.ActiveCfg = Release|Any CPU
803+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x64.Build.0 = Release|Any CPU
804+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x86.ActiveCfg = Release|Any CPU
805+
{0CB44F0A-3483-4052-A49F-D4E6F140741C}.Release|x86.Build.0 = Release|Any CPU
806+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
807+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|Any CPU.Build.0 = Debug|Any CPU
808+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x64.ActiveCfg = Debug|Any CPU
809+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x64.Build.0 = Debug|Any CPU
810+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x86.ActiveCfg = Debug|Any CPU
811+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Debug|x86.Build.0 = Debug|Any CPU
812+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|Any CPU.ActiveCfg = Release|Any CPU
813+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|Any CPU.Build.0 = Release|Any CPU
814+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x64.ActiveCfg = Release|Any CPU
815+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x64.Build.0 = Release|Any CPU
816+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x86.ActiveCfg = Release|Any CPU
817+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43}.Release|x86.Build.0 = Release|Any CPU
818+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
819+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|Any CPU.Build.0 = Debug|Any CPU
820+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x64.ActiveCfg = Debug|Any CPU
821+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x64.Build.0 = Debug|Any CPU
822+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x86.ActiveCfg = Debug|Any CPU
823+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Debug|x86.Build.0 = Debug|Any CPU
824+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|Any CPU.ActiveCfg = Release|Any CPU
825+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|Any CPU.Build.0 = Release|Any CPU
826+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x64.ActiveCfg = Release|Any CPU
827+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x64.Build.0 = Release|Any CPU
828+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x86.ActiveCfg = Release|Any CPU
829+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056}.Release|x86.Build.0 = Release|Any CPU
830+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
831+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|Any CPU.Build.0 = Debug|Any CPU
832+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x64.ActiveCfg = Debug|Any CPU
833+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x64.Build.0 = Debug|Any CPU
834+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x86.ActiveCfg = Debug|Any CPU
835+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Debug|x86.Build.0 = Debug|Any CPU
836+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|Any CPU.ActiveCfg = Release|Any CPU
837+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|Any CPU.Build.0 = Release|Any CPU
838+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x64.ActiveCfg = Release|Any CPU
839+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x64.Build.0 = Release|Any CPU
840+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x86.ActiveCfg = Release|Any CPU
841+
{C1995163-1DCE-405D-BE82-8B4B2584893E}.Release|x86.Build.0 = Release|Any CPU
764842
EndGlobalSection
765843
GlobalSection(SolutionProperties) = preSolution
766844
HideSolutionNode = FALSE
@@ -819,11 +897,20 @@ Global
819897
{5A69FD28-D814-490E-A76B-B0A5F88C25B2} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
820898
{8E7BECBC-7226-4778-B8F2-8EBDFF0D3BA4} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
821899
{26988639-D204-4E0B-80BE-F4E11952DFF8} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
822-
{D4587EC0-1B16-8420-7502-A967139249D4} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
823-
{53193780-CD18-2643-6953-C26F59EAEDF5} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
824900
{1E30F09F-1ADA-4375-81CC-F0FBC74D5621} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
825901
{3FBCFDBA-F547-4FD5-B8C6-0B645EF73E3A} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
826902
{8E0D27B3-2B5D-4B6F-A4E6-5C8E7B0F7DD2} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
903+
{D422B5FD-8E3C-6588-ACD1-DEFAB429269C} = {EFF7632B-821E-4CFC-B4A0-ED4B24296B17}
904+
{F0DC6D16-C9BC-4804-BBAF-84C050D5E279} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
905+
{0CB44F0A-3483-4052-A49F-D4E6F140741C} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
906+
{B7069604-DD97-4115-8B30-FC1D4C0E6D43} = {D422B5FD-8E3C-6588-ACD1-DEFAB429269C}
907+
{28648169-70E4-D0BA-4357-338A556A7DA8} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
908+
{A7C6DF09-1AD3-42F6-BCF1-D40E011D1056} = {28648169-70E4-D0BA-4357-338A556A7DA8}
909+
{D4587EC0-1B16-8420-7502-A967139249D4} = {1C217BB2-CE16-41CC-9D47-0FC0DB60BDB3}
910+
{9686B8F9-2644-6C9B-E567-55B0471E4584} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
911+
{C1995163-1DCE-405D-BE82-8B4B2584893E} = {9686B8F9-2644-6C9B-E567-55B0471E4584}
912+
{53193780-CD18-2643-6953-C26F59EAEDF5} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
913+
{3B8F957E-7773-4C0C-ACD7-91A1591D9312} = {5B448FF6-EC42-491D-A22E-1DC8B618E6D5}
827914
EndGlobalSection
828915
GlobalSection(ExtensibilityGlobals) = postSolution
829916
SolutionGuid = {AB41CB55-35EA-4986-A522-387AB3402E71}

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Durable Task .NET Client SDK
1+
# Durable Task .NET Client SDK
22

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

199199
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).
200200

201+
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.
202+
201203
## Obtaining the Protobuf definitions
202204

203205
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.

0 commit comments

Comments
 (0)