Skip to content

Commit

Permalink
Fix the official build (#3020)
Browse files Browse the repository at this point in the history
* Fix build issue for test on ado
* Updated nuget.config to remove extra sources
* Updated test project dependencies to stable versions
* Run isolated smoketest on older ubuntu due to github actions runner image bug
* Revert to HelloCitiesUntyped for .NET isolated due to class-as-a-function bug
* Fixed bug relating to OOME retry logic in dotnet-isolated
  • Loading branch information
andystaples authored Jan 31, 2025
1 parent 35cffa7 commit 3bfd149
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 9 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/smoketest-dotnet-isolated-v4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:

jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2

Expand Down Expand Up @@ -73,11 +73,19 @@ jobs:
# when building the smoke test app in docker, causing the build to fail. This is a temporary workaround until the
# root cause is identified and fixed.

# Due to a known issue with class-based orchestrators, this test fails to discover the orchestrator definition.
# Should re-enable once this bug is fixed: https://github.com/microsoft/durabletask-dotnet/issues/247
# - name: Run smoke tests (Hello Cities)
# shell: pwsh
# run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 &
# cd ./test/SmokeTests/OOProcSmokeTests/DotNetIsolated && func host start --port 7071 &
# ./test/SmokeTests/OOProcSmokeTests/DotNetIsolated/run-smoke-tests.ps1 -HttpStartPath api/StartHelloCitiesTyped

- name: Run smoke tests (Hello Cities)
shell: pwsh
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 &
cd ./test/SmokeTests/OOProcSmokeTests/DotNetIsolated && func host start --port 7071 &
./test/SmokeTests/OOProcSmokeTests/DotNetIsolated/run-smoke-tests.ps1 -HttpStartPath api/StartHelloCitiesTyped
./test/SmokeTests/OOProcSmokeTests/DotNetIsolated/run-smoke-tests.ps1 -HttpStartPath api/StartHelloCitiesUntyped

- name: Run smoke tests (Process Exit)
shell: pwsh
Expand Down
2 changes: 1 addition & 1 deletion eng/ci/official-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ extends:
- stage: BuildAndSign
dependsOn: []
jobs:
- template: /eng/templates/build.yml@self
- template: /eng/templates/build.yml@self
6 changes: 6 additions & 0 deletions eng/templates/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ jobs:
inputs:
packageType: 'sdk'
version: '6.0.x'

- task: UseDotNet@2
displayName: 'Use the .NET 8 SDK'
inputs:
packageType: 'sdk'
version: '8.0.x'

# Start by restoring all the dependencies.
- task: DotNetCoreCLI@2
Expand Down
3 changes: 0 additions & 3 deletions nuget.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@
<packageSources>
<clear/>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="AzureFunctionsTempStaging" value="https://pkgs.dev.azure.com/azfunc/e6a70c92-4128-439f-8012-382fe78d6396/_packaging/AzureFunctionsTempStaging/nuget/v3/index.json" />
<add key="durabletask" value="https://pkgs.dev.azure.com/durabletaskframework/734e7913-2fab-4624-a174-bc57fe96f95d/_packaging/durabletask/nuget/v3/index.json" />
<add key="durabletask-test" value="https://durabletaskframework.pkgs.visualstudio.com/734e7913-2fab-4624-a174-bc57fe96f95d/_packaging/durabletask-test/nuget/v3/index.json" />
</packageSources>
</configuration>
1 change: 1 addition & 0 deletions release_notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

- Fix custom connection name not working when using IDurableClientFactory.CreateClient() - contributed by [@hctan](https://github.com/hctan)
- Made durable extension for isolated worker configuration idempotent, allowing multiple calls safely. (#2950)
- Fixes a bug with Out of Memory exception handling in Isolated, improving reliability of retries for this case. (part of #3020)

### Breaking Changes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.AzureStorage" Version="2.0.0-preview.4" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.13.0" />
<PackageReference Include="Microsoft.Azure.DurableTask.Core" Version="2.15.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.4.3" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.11" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ private void ThrowIfPlatformLevelException(FailureDetails failureDetails)
// It's unclear if all OOMs are caught by the isolated process (probably not), and also if there are other platform-level
// errors that are also caught in the isolated process and returned as a `OrchestratorExecutionResult`. Let's add them
// to this method as we encounter them.
if (failureDetails.InnerFailure?.IsCausedBy<OutOfMemoryException>() ?? false)
if (failureDetails.IsCausedBy<OutOfMemoryException>())
{
throw new SessionAbortedException(failureDetails.ErrorMessage);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
This preview package is to enable better NuGet restore behavior with custom feeds.
TODO: upgrade to 1.16.0 when it's released.
-->
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.0-preview2" OutputItemType="Analyzer" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.18.1" OutputItemType="Analyzer" />
<PackageReference Include="Microsoft.DurableTask.Generators" Version="1.0.0-preview.1" OutputItemType="Analyzer" />
</ItemGroup>

Expand Down

0 comments on commit 3bfd149

Please sign in to comment.