Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
1a376cf
Make context mockable
svegiraju-microsoft Oct 10, 2024
f51def0
Fix project
svegiraju-microsoft Oct 10, 2024
43d8ee2
Consolidated version of coverlet.msbuild, coverlet.collector, xunit, …
m3nax Jun 26, 2024
3ce4685
Make context mockable
svegiraju-microsoft Oct 10, 2024
d083483
Fix project
svegiraju-microsoft Oct 10, 2024
0653902
Added unit test to prove out concern raised on Discord
WhitWaldo Sep 13, 2024
a7c37ce
Removed unused using
WhitWaldo Sep 19, 2024
2b408c6
Added unit test to validate that headers aren't being stripped off re…
WhitWaldo Oct 7, 2024
8277fc2
Fixed spelling typo
WhitWaldo Oct 7, 2024
53d7a0c
Added fix to handle null return values
WhitWaldo Oct 6, 2024
cf9f1ca
Removed unnecessary null check
WhitWaldo Oct 11, 2024
5dcc4e5
Removed deprecated methods from DaprClient and tests as well as unuse…
WhitWaldo Sep 3, 2024
11b3aec
Removed unused (and invalid) reference
WhitWaldo Sep 3, 2024
c6eb1d8
Removed E2E workflow test as it validated DaprClient and the function…
WhitWaldo Oct 11, 2024
0b89433
Adding instance-based CreateInvokableHttpClient (#1319)
WhitWaldo Oct 14, 2024
d1b6479
Fixed security advisory updates across dependencies (transitive and d…
WhitWaldo Oct 15, 2024
b148bc4
Removes floating classes and introduces Dapr.Common project (#1365)
WhitWaldo Oct 16, 2024
614a92b
Extracted Protos out to common project (#1367)
WhitWaldo Oct 16, 2024
a8e1b79
Improvement of the dotnet-contributing files (#1330)
Shubhdeep02 Oct 16, 2024
d538b26
Support case insensitive cloudevent payloads and forward cloudevent p…
iliaspoli Oct 17, 2024
453da80
Updating actor serialization documentation (#1371)
WhitWaldo Oct 18, 2024
e07a12e
Prioritize retrieval of environment variables from IConfiguration ins…
WhitWaldo Oct 18, 2024
d4f2ff1
cleanup: Removed Serilog nuget from Directory.Packages.props (#1376)
m3nax Oct 22, 2024
01eddad
Removed sample folder (#1375)
m3nax Oct 22, 2024
0b4eeda
Remove unused variables (#1314)
RafaelJCamara Oct 24, 2024
ed86404
Remove unused using statements. (#1313)
RafaelJCamara Oct 24, 2024
d5af95c
Incremental source generator for actors (#1334)
m3nax Oct 28, 2024
03995c7
Add .NET client for Dapr Jobs API (#1384)
WhitWaldo Nov 1, 2024
d1aa92b
Updated prereqs to specify .NET 6 and .NET 8 in v1.15 (#1398)
WhitWaldo Nov 1, 2024
a06605c
Refactor DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions …
neworange-ruud Nov 4, 2024
c464294
Fix for DI registration not completing as expected (#1386)
WhitWaldo Nov 5, 2024
372d428
Add .NET client for pub/sub support - streaming subscriptions (#1381)
WhitWaldo Nov 5, 2024
a3da0aa
ci: set fail-fast to false (#1405)
mikeee Nov 12, 2024
3cbc50f
Added async operations workflow sample (#1394)
WhitWaldo Nov 12, 2024
c0a5a35
Added workflow example: Fan out/fan in (#1396)
WhitWaldo Nov 13, 2024
33d94a5
Added workflow sample: Sub-workflows (#1395)
WhitWaldo Nov 14, 2024
e04af4e
Added workflow sample: Task chaining (#1387)
WhitWaldo Nov 14, 2024
a972d2f
Added workflow sample: Monitor (#1388)
WhitWaldo Nov 14, 2024
f9c9e23
Added workflow example: External interaction (#1389)
WhitWaldo Nov 18, 2024
105f798
Optional DI lifecycle change (#1408)
WhitWaldo Nov 21, 2024
7933066
Additional lifecycle registration changes (#1410)
WhitWaldo Nov 24, 2024
072c060
Preserve comparer of the original dictionary from ConfigurationProvid…
tomhreb Nov 30, 2024
4ed3480
Update all.sln
WhitWaldo Nov 30, 2024
ed68f28
Bug/476 multiple methods per interface with JSON serialization doesn´…
paule96 Dec 3, 2024
2afde01
Support .NET 9 (#1404)
WhitWaldo Dec 4, 2024
b343ecb
update .net workflow docs to stable (#1418)
hhunter-ms Dec 4, 2024
4ed55b3
FIX: Actor source generator generates invalid code for generic interf…
m3nax Dec 5, 2024
d21a686
Add .NET client for LLM Conversations support (#1382)
WhitWaldo Dec 10, 2024
2fe08c9
Updated protos to latest in dapr/dapr (#1420)
WhitWaldo Dec 11, 2024
1e77e39
Conversation builder consistency changes (#1423)
WhitWaldo Dec 11, 2024
9d36d3e
#906 -Added methods in status API supports for saving and reading bin…
divzi-p Dec 11, 2024
dd06c48
Fixes + unit tests for streaming PubSub implementation (#1415)
WhitWaldo Dec 11, 2024
3dd8019
Fix nulls
svegiraju-microsoft Dec 20, 2024
f188fd1
Merge branch 'master' into users/svegira/make-context-mockable
siri-varma Dec 20, 2024
ce7b2d8
Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/…
siri-varma Dec 20, 2024
63bad79
Delete examples/AI/ConversationalAI/Properties/launchSettings.json
siri-varma Dec 20, 2024
57c93d2
Delete daprdocs/content/en/dotnet-sdk-docs/dotnet-ai/dotnet-ai-usage.md
siri-varma Dec 20, 2024
dd6b3c3
Update dotnet-jobs-howto.md
siri-varma Dec 20, 2024
e11bf0e
Update dotnet-jobs-howto.md
siri-varma Dec 20, 2024
0684a6c
Update dotnet-workflowclient-usage.md
siri-varma Dec 20, 2024
94763b3
Update dotnet-workflowclient-usage.md
siri-varma Dec 20, 2024
b519b62
fix thing
svegiraju-microsoft Dec 20, 2024
8f27ba7
Update WorkflowActivityContext.cs
siri-varma Dec 20, 2024
096664a
Update WorkflowActivityContext.cs
siri-varma Dec 21, 2024
dbda89d
fix things
svegiraju-microsoft Dec 21, 2024
1c4cc5b
Fix version
svegiraju-microsoft Dec 21, 2024
e3e6b0a
Update Dapr.Workflow.Test.csproj
siri-varma Dec 21, 2024
f32fb8e
fix things
svegiraju-microsoft Dec 21, 2024
b55699c
Delete examples/AI/ConversationalAI/Properties/launchSettings.json
siri-varma Dec 21, 2024
ea4ac28
Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/…
siri-varma Dec 21, 2024
df7c70c
Update WorkflowActivityContext.cs
siri-varma Dec 28, 2024
3077035
Merge branch 'master' into users/svegira/make-context-mockable
WhitWaldo Dec 28, 2024
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
Prev Previous commit
Next Next commit
Added workflow sample: Sub-workflows (#1395)
* Added Workflow with sub-workflow

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Removed duplicate package version reference

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>
  • Loading branch information
WhitWaldo authored and svegiraju-microsoft committed Dec 20, 2024
commit 33d94a560c885f631f204830dcfc172a33cf1565
7 changes: 7 additions & 0 deletions all.sln
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Common", "src\Dapr.Com
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dapr.Common.Test", "test\Dapr.Common.Test\Dapr.Common.Test.csproj", "{CDB47863-BEBD-4841-A807-46D868962521}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowSubworkflow", "examples\Workflow\WorkflowSubworkflow\WorkflowSubworkflow.csproj", "{FD3E9371-3134-4235-8E80-32226DFB4B1F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowFanOutFanIn", "examples\Workflow\WorkflowFanOutFanIn\WorkflowFanOutFanIn.csproj", "{D83B27F3-4401-42F5-843E-147566B4999A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowAsyncOperations", "examples\Workflow\WorkflowAsyncOperations\WorkflowAsyncOperations.csproj", "{00359961-0C50-4BB1-A794-8B06DE991639}"
Expand Down Expand Up @@ -321,6 +323,10 @@ Global
{CDB47863-BEBD-4841-A807-46D868962521}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CDB47863-BEBD-4841-A807-46D868962521}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CDB47863-BEBD-4841-A807-46D868962521}.Release|Any CPU.Build.0 = Release|Any CPU
{FD3E9371-3134-4235-8E80-32226DFB4B1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FD3E9371-3134-4235-8E80-32226DFB4B1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FD3E9371-3134-4235-8E80-32226DFB4B1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FD3E9371-3134-4235-8E80-32226DFB4B1F}.Release|Any CPU.Build.0 = Release|Any CPU
{D83B27F3-4401-42F5-843E-147566B4999A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D83B27F3-4401-42F5-843E-147566B4999A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D83B27F3-4401-42F5-843E-147566B4999A}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand Down Expand Up @@ -409,6 +415,7 @@ Global
{DFBABB04-50E9-42F6-B470-310E1B545638} = {27C5D71D-0721-4221-9286-B94AB07B58CF}
{B445B19C-A925-4873-8CB7-8317898B6970} = {27C5D71D-0721-4221-9286-B94AB07B58CF}
{CDB47863-BEBD-4841-A807-46D868962521} = {DD020B34-460F-455F-8D17-CF4A949F100B}
{FD3E9371-3134-4235-8E80-32226DFB4B1F} = {BF3ED6BF-ADF3-4D25-8E89-02FB8D945CA9}
{D83B27F3-4401-42F5-843E-147566B4999A} = {BF3ED6BF-ADF3-4D25-8E89-02FB8D945CA9}
{00359961-0C50-4BB1-A794-8B06DE991639} = {BF3ED6BF-ADF3-4D25-8E89-02FB8D945CA9}
{4E04EB35-7FD2-4FDB-B09A-F75CE24053B9} = {DD020B34-460F-455F-8D17-CF4A949F100B}
Expand Down
42 changes: 42 additions & 0 deletions examples/Workflow/WorkflowSubworkflow/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// ------------------------------------------------------------------------
// Copyright 2024 The Dapr Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------

using Dapr.Workflow;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using WorkflowSubWorkflow.Workflows;

var builder = Host.CreateDefaultBuilder(args).ConfigureServices(services =>
{
services.AddDaprWorkflow(options =>
{
options.RegisterWorkflow<DemoWorkflow>();
options.RegisterWorkflow<DemoSubWorkflow>();
});
});

using var host = builder.Build();
await host.StartAsync();

await using var scope = host.Services.CreateAsyncScope();
var daprWorkflowClient = scope.ServiceProvider.GetRequiredService<DaprWorkflowClient>();

var instanceId = $"demo-workflow-{Guid.NewGuid().ToString()[..8]}";
await daprWorkflowClient.ScheduleNewWorkflowAsync(nameof(DemoWorkflow), instanceId, instanceId );

await daprWorkflowClient.WaitForWorkflowCompletionAsync(instanceId);
var state = await daprWorkflowClient.GetWorkflowStateAsync(instanceId);
Console.WriteLine($"Workflow {instanceId}, state: {state.RuntimeStatus}");

state = await daprWorkflowClient.GetWorkflowStateAsync($"{instanceId}-sub");
Console.WriteLine($"Workflow {instanceId}-sub, state: {state.RuntimeStatus}");
18 changes: 18 additions & 0 deletions examples/Workflow/WorkflowSubworkflow/WorkflowSubworkflow.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\src\Dapr.Workflow\Dapr.Workflow.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" />
</ItemGroup>

</Project>
33 changes: 33 additions & 0 deletions examples/Workflow/WorkflowSubworkflow/Workflows/DemoSubWorkflow.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// ------------------------------------------------------------------------
// Copyright 2024 The Dapr Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------

using Dapr.Workflow;

namespace WorkflowSubWorkflow.Workflows;

internal sealed class DemoSubWorkflow : Workflow<string, bool>
{
/// <summary>
/// Override to implement workflow logic.
/// </summary>
/// <param name="context">The workflow context.</param>
/// <param name="instanceId">The deserialized workflow input.</param>
/// <returns>The output of the workflow as a task.</returns>
public override async Task<bool> RunAsync(WorkflowContext context, string instanceId)
{
Console.WriteLine($"Workflow {context.InstanceId} started");
Console.WriteLine($"Received input: {instanceId}");
await context.CreateTimer(TimeSpan.FromSeconds(5));
return true;
}
}
34 changes: 34 additions & 0 deletions examples/Workflow/WorkflowSubworkflow/Workflows/DemoWorkflow.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// ------------------------------------------------------------------------
// Copyright 2024 The Dapr Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------

using Dapr.Workflow;

namespace WorkflowSubWorkflow.Workflows;

internal sealed class DemoWorkflow : Workflow<string, bool>
{
/// <summary>
/// Override to implement workflow logic.
/// </summary>
/// <param name="context">The workflow context.</param>
/// <param name="instanceId">The deserialized workflow input.</param>
/// <returns>The output of the workflow as a task.</returns>
public override async Task<bool> RunAsync(WorkflowContext context, string instanceId)
{
Console.WriteLine($"Workflow {instanceId} started");
var subInstanceId = instanceId + "-sub";
var options = new ChildWorkflowTaskOptions(subInstanceId);
await context.CallChildWorkflowAsync<bool>(nameof(DemoSubWorkflow), "Hello, sub-workflow", options);
return true;
}
}