-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add SQL backend for E2E Tests #3047
Conversation
Co-authored-by: Naiyuan Tian <110135109+nytian@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR. I noticed the CI passed. I just left a few questions
@@ -28,7 +25,6 @@ $ProjectBaseDirectory = "$PSScriptRoot\..\..\..\" | |||
$ProjectTemporaryPath = Join-Path ([System.IO.Path]::GetTempPath()) "DurableTaskExtensionE2ETests" | |||
New-Item -Path $ProjectTemporaryPath -ItemType Directory -ErrorAction SilentlyContinue | |||
$WebJobsExtensionProjectDirectory = Join-Path $ProjectBaseDirectory "src\WebJobs.Extensions.DurableTask" | |||
$WorkerExtensionProjectDirectory = Join-Path $ProjectBaseDirectory "src\Worker.Extensions.DurableTask" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do me skip worker extensions? Same question as another comment on E2ETest.yml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The worker extension is referenced as a project reference in the functionapp csproj, and will be built and referenced in the app build stage. However, due to local NuGet caching strategies, we need to build/pack/delete/redeploy the WebJobs extension manually to ensure that during the build of the generated Extensions.csproj for the functionapp, it gets any local changes that may differ from nuget.org or previous local builds.
|
||
[Switch] | ||
$SkipCoreTools, | ||
|
||
[Switch] | ||
$SkipBuildOnPack | ||
$SkipBuild |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not quite sure what this SkipBuild is used for? Seems like we never pass this argument,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was using it locally to test the docker logic further down the scriptfile without needing to rebuild these projects every time. I left it in as it may come in handy for those who want to redeploy docker/azurite locally without interfering with the prior build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a comment with this information?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
@@ -0,0 +1,15 @@ | |||
<?xml version="1.0" encoding="utf-8"?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is this file for? Is it for customers when they want to locally debug?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep! By default, running the tests in the Visual Studio test explorer will test only Azure Storage. This file provides a way to configure the environment variables necessary for MSSQL testing locally
@@ -14,8 +14,10 @@ on: | |||
- 'test/e2e/**' | |||
|
|||
jobs: | |||
build: | |||
e2e-azurestorage: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if I understand it right --based on the workflow title, this e2e tests should be for .NET isolated apps, not for .NET in-proc apps. But why we only build the pkg webjobs.extensions.durabletask, and remove worker.extensions.durabletask ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment on build-e2e-test.ps1 - the Worker extension gets built as a project reference, but the WebJobs extension will fall back on possibly invalid cached versions in the local NuGet cache unless we explicitly build it in this way
|
||
[Switch] | ||
$SkipCoreTools, | ||
|
||
[Switch] | ||
$SkipBuildOnPack | ||
$SkipBuild |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a comment with this information?
Adds the MSSQL storage backend for the new end-to-end tests. Runs a subset of the tests against the new backend.
Pull request checklist
pending_docs.md
release_notes.md
/src/Worker.Extensions.DurableTask/AssemblyInfo.cs
dev
andmain
branches and will not be merged into thev2.x
branch.