diff --git a/.github/workflows/validate-build.yml b/.github/workflows/validate-build.yml index 497ceac7..439f5ce6 100644 --- a/.github/workflows/validate-build.yml +++ b/.github/workflows/validate-build.yml @@ -49,4 +49,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: pkg - path: out/pkg + path: out/pkg/$env:config diff --git a/Directory.Build.props b/Directory.Build.props index 644af0ec..7a9bbd31 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,15 +18,17 @@ Debug AnyCPU $(MSBuildThisFileDirectory) - $(RepoRoot)$([MSBuild]::EnsureTrailingSlash(out/$(SubOutRoot))) + $(RepoRoot)$([MSBuild]::EnsureTrailingSlash(out/$(SubOutRoot))) + pub + pkg $(RepoRoot)eng/ $(RepoRoot)src/ - $(OutRoot)bin/ - $(OutRoot)obj/$(MSBuildProjectName)/ - $(BaseIntermediateOutputPath)$(Configuration)/ - $(MSBuildProjectName)/ - $(BaseOutputPath)$(Configuration)/$([MSBuild]::EnsureTrailingSlash($(SubOutputPath))) - $(OutRoot)pkg/ + $(SrcRoot)Shared/ + + + + true + true @@ -36,9 +38,4 @@ 00240000048000009400000006020000002400005253413100040000010001000505410141442095e0b0466df68ac32d158abdf0bd9cf26407d7a9d20b93656530556f23979f20b067628b9baee75fc6bba5c349519585a2852c1843bc61d74c4cbf9d80429cbdcbf609ea70fd62061eb65f40a6c9d505dd71cb119ef51f589a014d3b56159abbc38825fafbd119b6e97ebd9a5f3862a5c06220c680a6ac9eec - - true - true - - diff --git a/Directory.Build.targets b/Directory.Build.targets index 89ae2eea..701926a6 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -15,39 +15,7 @@ + + - - - - - - - - false - <_TranslateUrlPattern>(https://azfunc%40dev\.azure\.com/azfunc/internal/_git|https://dev\.azure\.com/azfunc/internal/_git|https://azfunc\.visualstudio\.com/internal/_git|azfunc%40vs-ssh\.visualstudio\.com:v3/azfunc/internal|git%40ssh\.dev\.azure\.com:v3/azfunc/internal)/([^/\.]+)\.(.+) - <_TranslateUrlReplacement>https://github.com/$2/$3 - - - - - - $([System.Text.RegularExpressions.Regex]::Replace($(ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) - - - - $([System.Text.RegularExpressions.Regex]::Replace(%(SourceRoot.ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) - - - diff --git a/eng/targets/Release.props b/eng/targets/Release.props index efcf2f6f..d08d59c8 100644 --- a/eng/targets/Release.props +++ b/eng/targets/Release.props @@ -8,6 +8,7 @@ + Microsoft Corporation Microsoft © Microsoft Corporation. All rights reserved. https://github.com/microsoft/durabletask-dotnet @@ -16,6 +17,20 @@ Microsoft Durable Task Orchestration Workflow Activity Reliable DTFx + + + true + true + true + + + portable + + 1.8.0 diff --git a/eng/targets/Release.targets b/eng/targets/Release.targets index a9116354..c7078be4 100644 --- a/eng/targets/Release.targets +++ b/eng/targets/Release.targets @@ -12,8 +12,18 @@ README.md + + snupkg + true + + + + + $(VersionPrefix).$(FileVersionRevision) + + - + true content/SBOM diff --git a/eng/targets/RepositoryInfo.targets b/eng/targets/RepositoryInfo.targets new file mode 100644 index 00000000..027b7f3e --- /dev/null +++ b/eng/targets/RepositoryInfo.targets @@ -0,0 +1,37 @@ + + + + + + + + + false + <_TranslateUrlPattern>(https://azfunc%40dev\.azure\.com/azfunc/internal/_git|https://dev\.azure\.com/azfunc/internal/_git|https://azfunc\.visualstudio\.com/internal/_git|azfunc%40vs-ssh\.visualstudio\.com:v3/azfunc/internal|git%40ssh\.dev\.azure\.com:v3/azfunc/internal)/([^/\.]+)\.(.+) + <_TranslateUrlReplacement>https://github.com/$2/$3 + + + + + + $([System.Text.RegularExpressions.Regex]::Replace($(ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) + + + + $([System.Text.RegularExpressions.Regex]::Replace(%(SourceRoot.ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) + + + + + \ No newline at end of file diff --git a/eng/templates/build.yml b/eng/templates/build.yml index a94d3aff..f8ed7222 100644 --- a/eng/templates/build.yml +++ b/eng/templates/build.yml @@ -69,7 +69,7 @@ jobs: inputs: command: custom custom: pack - arguments: --no-build $(build_args) $(pack_binlog) + arguments: --no-build $(build_args) $(pack_binlog) -o $(pkg_dir) projects: $(project) - template: ci/sign-files.yml@eng diff --git a/global.json b/global.json index 4ac08fda..beb8a446 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.100", + "version": "9.0.102", "rollForward": "latestFeature" }, "msbuild-sdks": { diff --git a/samples/AzureFunctionsApp/Program.cs b/samples/AzureFunctionsApp/Program.cs index 3ec7a407..095b10b6 100644 --- a/samples/AzureFunctionsApp/Program.cs +++ b/samples/AzureFunctionsApp/Program.cs @@ -14,4 +14,4 @@ public static void Main() host.Run(); } -} \ No newline at end of file +} diff --git a/src/Client/Core/DependencyInjection/DurableTaskClientBuilderExtensions.cs b/src/Client/Core/DependencyInjection/DurableTaskClientBuilderExtensions.cs index bb274ad0..d3cf15ab 100644 --- a/src/Client/Core/DependencyInjection/DurableTaskClientBuilderExtensions.cs +++ b/src/Client/Core/DependencyInjection/DurableTaskClientBuilderExtensions.cs @@ -80,7 +80,7 @@ public static IDurableTaskClientBuilder UseBuildTarget(this I where TTarget : DurableTaskClient where TOptions : DurableTaskClientOptions { - builder.UseBuildTarget(typeof(TTarget)); + builder.UseBuildTarget(); builder.Services.AddOptions(builder.Name) .PostConfigure>((options, baseOptions) => { diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 84e04bc1..fb6dcdba 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -5,18 +5,9 @@ - Microsoft Corporation - true - true - true true latest recommended - $(SrcRoot)Shared/ - - portable diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index cf6e5046..791acfff 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -3,20 +3,6 @@ - - snupkg - true - - - - - $(VersionPrefix).$(FileVersionRevision) - - - - - - @@ -26,7 +12,6 @@ - diff --git a/src/Generators/DurableTaskSourceGenerator.cs b/src/Generators/DurableTaskSourceGenerator.cs index 4ad0eb2d..9ff9df73 100644 --- a/src/Generators/DurableTaskSourceGenerator.cs +++ b/src/Generators/DurableTaskSourceGenerator.cs @@ -275,13 +275,9 @@ internal static DurableTaskRegistry AddAllGeneratedTasks(this DurableTaskRegistr class DurableTaskSyntaxReceiver : ISyntaxContextReceiver { - readonly List orchestrators = new(); - readonly List activities = new(); - readonly List durableFunctions = new(); - - public IReadOnlyList Orchestrators => this.orchestrators; - public IReadOnlyList Activities => this.activities; - public IReadOnlyList DurableFunctions => this.durableFunctions; + public List Orchestrators { get; } = []; + public List Activities { get; } = []; + public List DurableFunctions { get; } = []; public void OnVisitSyntaxNode(GeneratorSyntaxContext context) { @@ -291,7 +287,7 @@ public void OnVisitSyntaxNode(GeneratorSyntaxContext context) function != null) { Debug.WriteLine($"Adding {function.Kind} function '{function.Name}'"); - this.durableFunctions.Add(function); + this.DurableFunctions.Add(function); return; } @@ -338,13 +334,13 @@ public void OnVisitSyntaxNode(GeneratorSyntaxContext context) { if (baseType.Name == "TaskActivity") { - taskList = this.activities; + taskList = this.Activities; taskType = baseType; break; } else if (baseType.Name == "TaskOrchestrator") { - taskList = this.orchestrators; + taskList = this.Orchestrators; taskType = baseType; break; } diff --git a/src/ScheduledTasks/Client/ScheduledTaskClient.cs b/src/ScheduledTasks/Client/ScheduledTaskClient.cs index edc7658a..3b280643 100644 --- a/src/ScheduledTasks/Client/ScheduledTaskClient.cs +++ b/src/ScheduledTasks/Client/ScheduledTaskClient.cs @@ -5,7 +5,7 @@ namespace Microsoft.DurableTask.ScheduledTasks; /// /// Client for managing scheduled tasks. -/// Provides methods to retrieve a ScheduleClient, list all schedules, +/// Provides methods to retrieve a ScheduleClient, list all schedules, /// and get details of a specific schedule. /// public abstract class ScheduledTaskClient @@ -23,7 +23,8 @@ public abstract class ScheduledTaskClient /// The ID of the schedule to retrieve. /// Optional cancellation token. /// The schedule description if found, null otherwise. - public abstract Task GetScheduleAsync(string scheduleId, CancellationToken cancellation = default); + public abstract Task GetScheduleAsync( + string scheduleId, CancellationToken cancellation = default); /// /// Gets a pageable list of schedules matching the specified filter criteria. @@ -38,5 +39,6 @@ public abstract class ScheduledTaskClient /// The options for creating the schedule. /// Optional cancellation token. /// A ScheduleClient for the created schedule. - public abstract Task CreateScheduleAsync(ScheduleCreationOptions creationOptions, CancellationToken cancellation = default); + public abstract Task CreateScheduleAsync( + ScheduleCreationOptions creationOptions, CancellationToken cancellation = default); } diff --git a/src/ScheduledTasks/Models/ScheduleState.cs b/src/ScheduledTasks/Models/ScheduleState.cs index 48783de4..7007c762 100644 --- a/src/ScheduledTasks/Models/ScheduleState.cs +++ b/src/ScheduledTasks/Models/ScheduleState.cs @@ -50,4 +50,4 @@ public void RefreshScheduleRunExecutionToken() { this.ExecutionToken = Guid.NewGuid().ToString("N"); } -} \ No newline at end of file +} diff --git a/src/Worker/Core/DependencyInjection/DurableTaskWorkerBuilderExtensions.cs b/src/Worker/Core/DependencyInjection/DurableTaskWorkerBuilderExtensions.cs index b2911842..f914db2a 100644 --- a/src/Worker/Core/DependencyInjection/DurableTaskWorkerBuilderExtensions.cs +++ b/src/Worker/Core/DependencyInjection/DurableTaskWorkerBuilderExtensions.cs @@ -77,7 +77,7 @@ public static IDurableTaskWorkerBuilder UseBuildTarget(this I where TTarget : DurableTaskWorker where TOptions : DurableTaskWorkerOptions { - builder.UseBuildTarget(typeof(TTarget)); + builder.UseBuildTarget(); builder.Services.AddOptions(builder.Name) .PostConfigure>((options, baseOptions) => { diff --git a/src/Worker/Grpc/GrpcDurableTaskWorker.Processor.cs b/src/Worker/Grpc/GrpcDurableTaskWorker.Processor.cs index 81733a06..194bbd49 100644 --- a/src/Worker/Grpc/GrpcDurableTaskWorker.Processor.cs +++ b/src/Worker/Grpc/GrpcDurableTaskWorker.Processor.cs @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -using System.Diagnostics.CodeAnalysis; using System.Text; using DurableTask.Core; using DurableTask.Core.Entities; using DurableTask.Core.Entities.OperationFormat; using DurableTask.Core.History; -using Grpc.Core; +using Google.Protobuf.Collections; using Microsoft.DurableTask.Entities; using Microsoft.DurableTask.Worker.Shims; using Microsoft.Extensions.DependencyInjection; @@ -90,7 +89,7 @@ public async Task ExecuteAsync(CancellationToken cancellation) } } - static string GetActionsListForLogging(IReadOnlyList actions) + static string GetActionsListForLogging(RepeatedField actions) { if (actions.Count == 0) { diff --git a/src/Worker/Grpc/GrpcExtensions.cs b/src/Worker/Grpc/GrpcExtensions.cs index 8bfd8e42..164510b4 100644 --- a/src/Worker/Grpc/GrpcExtensions.cs +++ b/src/Worker/Grpc/GrpcExtensions.cs @@ -2,7 +2,6 @@ // Licensed under the MIT License. using System.Runtime.CompilerServices; -using Grpc.Core; namespace Microsoft.DurableTask; diff --git a/test/Client/AzureManaged.Tests/Client.AzureManaged.Tests.csproj b/test/Client/AzureManaged.Tests/Client.AzureManaged.Tests.csproj index 22142fa2..0db37ec2 100644 --- a/test/Client/AzureManaged.Tests/Client.AzureManaged.Tests.csproj +++ b/test/Client/AzureManaged.Tests/Client.AzureManaged.Tests.csproj @@ -4,17 +4,12 @@ net6.0 - - - - - - + diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 29d5d606..f7f28faf 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -9,6 +9,7 @@ false + false false diff --git a/test/ScheduledTasks.Tests/Client/DefaultScheduledTaskClientTests.cs b/test/ScheduledTasks.Tests/Client/DefaultScheduledTaskClientTests.cs index 4eeada24..4c0b0382 100644 --- a/test/ScheduledTasks.Tests/Client/DefaultScheduledTaskClientTests.cs +++ b/test/ScheduledTasks.Tests/Client/DefaultScheduledTaskClientTests.cs @@ -104,7 +104,7 @@ public async Task CreateScheduleAsync_WithValidOptions_CreatesSchedule() r.EntityId.Name == entityInstanceId.Name && r.EntityId.Key == entityInstanceId.Key && r.OperationName == nameof(Schedule.CreateSchedule) && - ((ScheduleCreationOptions)r.Input).ScheduleId == options.ScheduleId && + ((ScheduleCreationOptions)r.Input!).ScheduleId == options.ScheduleId && ((ScheduleCreationOptions)r.Input).OrchestrationName == options.OrchestrationName && ((ScheduleCreationOptions)r.Input).Interval == options.Interval), default), diff --git a/test/ScheduledTasks.Tests/Entity/ScheduleTests.cs b/test/ScheduledTasks.Tests/Entity/ScheduleTests.cs index ef7ae7d0..7383a989 100644 --- a/test/ScheduledTasks.Tests/Entity/ScheduleTests.cs +++ b/test/ScheduledTasks.Tests/Entity/ScheduleTests.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License. using Microsoft.DurableTask.Entities.Tests; +using Microsoft.Extensions.Logging; using Xunit; using Xunit.Abstractions; diff --git a/test/ScheduledTasks.Tests/ScheduledTasks.Tests.csproj b/test/ScheduledTasks.Tests/ScheduledTasks.Tests.csproj index 33726a62..fd81f7c7 100644 --- a/test/ScheduledTasks.Tests/ScheduledTasks.Tests.csproj +++ b/test/ScheduledTasks.Tests/ScheduledTasks.Tests.csproj @@ -1,4 +1,3 @@ - @@ -9,13 +8,9 @@ true - - - - - \ No newline at end of file + diff --git a/test/Shared/AzureManaged.Tests/Shared.AzureManaged.Tests.csproj b/test/Shared/AzureManaged.Tests/Shared.AzureManaged.Tests.csproj index 849b655f..dc5c707e 100644 --- a/test/Shared/AzureManaged.Tests/Shared.AzureManaged.Tests.csproj +++ b/test/Shared/AzureManaged.Tests/Shared.AzureManaged.Tests.csproj @@ -2,12 +2,8 @@ net6.0 + true - - - - - @@ -15,6 +11,13 @@ - + + + + + + + + diff --git a/test/TestHelpers/Logging/TestLogger.cs b/test/TestHelpers/Logging/TestLogger.cs index adbd3141..17794cc0 100644 --- a/test/TestHelpers/Logging/TestLogger.cs +++ b/test/TestHelpers/Logging/TestLogger.cs @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -using Microsoft.Extensions.Logging; +namespace Microsoft.Extensions.Logging; public class TestLogger : ILogger { - public List<(LogLevel Level, string Message)> Logs { get; } = new(); + public List<(LogLevel Level, string Message)> Logs { get; } = []; - public IDisposable? BeginScope(TState state) where TState : notnull => null; + public IDisposable BeginScope(TState state) => null!; public bool IsEnabled(LogLevel logLevel) => true; @@ -20,9 +20,9 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except public class TestLogger : ILogger { - public List<(LogLevel Level, string Message)> Logs { get; } = new(); + public List<(LogLevel Level, string Message)> Logs { get; } = []; - public IDisposable? BeginScope(TState state) where TState : notnull => null; + public IDisposable BeginScope(TState state) => null!; public bool IsEnabled(LogLevel logLevel) => true; diff --git a/test/Worker/AzureManaged.Tests/Worker.AzureManaged.Tests.csproj b/test/Worker/AzureManaged.Tests/Worker.AzureManaged.Tests.csproj index 4a5a7cc1..cff92896 100644 --- a/test/Worker/AzureManaged.Tests/Worker.AzureManaged.Tests.csproj +++ b/test/Worker/AzureManaged.Tests/Worker.AzureManaged.Tests.csproj @@ -9,11 +9,7 @@ - - + - - -