-
Notifications
You must be signed in to change notification settings - Fork 273
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2878 from Azure/vabachu/merge-dev
Merge dev into v3.x
- Loading branch information
Showing
48 changed files
with
1,237 additions
and
189 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
name: Validate Build (analyzer) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- '*' | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run Analyzer tests | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/WebJobs.Extensions.DurableTask.Analyzers.Test/WebJobs.Extensions.DurableTask.Analyzers.Test.csproj | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Validate Build (E2E tests) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- '*' | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run FunctionsV2 tests (only DurableEntity_CleanEntityStorage test, which is flaky) | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/FunctionsV2/WebJobs.Extensions.DurableTask.Tests.V2.csproj --filter "FullyQualifiedName~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests.DurableEntity_CleanEntityStorage" | ||
|
||
- name: Run FunctionsV2 tests (all other E2E tests) | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/FunctionsV2/WebJobs.Extensions.DurableTask.Tests.V2.csproj --filter "FullyQualifiedName~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests&FullyQualifiedName!~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests.DurableEntity_CleanEntityStorage" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: Validate Build (except E2E tests) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- '*' | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run FunctionsV2 tests (except E2E tests) | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/FunctionsV2/WebJobs.Extensions.DurableTask.Tests.V2.csproj --filter "FullyQualifiedName!~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests" | ||
|
||
- name: Run Worker Extension tests | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/Worker.Extensions.DurableTask.Tests/Worker.Extensions.DurableTask.Tests.csproj | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
trigger: | ||
branches: | ||
include: | ||
# These are the branches we'll mirror to our internal ADO instance | ||
# Keep this set limited as appropriate (don't mirror individual user branches). | ||
- main | ||
- dev | ||
|
||
resources: | ||
repositories: | ||
- repository: eng | ||
type: git | ||
name: engineering | ||
ref: refs/tags/release | ||
|
||
variables: | ||
- template: ci/variables/cfs.yml@eng | ||
|
||
extends: | ||
template: ci/code-mirror.yml@eng |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
variables: | ||
- template: ci/variables/cfs.yml@eng | ||
|
||
trigger: | ||
batch: true | ||
branches: | ||
include: | ||
- main | ||
|
||
# CI only, does not trigger on PRs. | ||
pr: none | ||
|
||
resources: | ||
repositories: | ||
- repository: 1es | ||
type: git | ||
name: 1ESPipelineTemplates/1ESPipelineTemplates | ||
ref: refs/tags/release | ||
- repository: eng | ||
type: git | ||
name: engineering | ||
ref: refs/tags/release | ||
|
||
extends: | ||
template: v1/1ES.Official.PipelineTemplate.yml@1es | ||
parameters: | ||
pool: | ||
name: 1es-pool-azfunc | ||
image: 1es-windows-2022 | ||
os: windows | ||
|
||
stages: | ||
- stage: BuildAndSign | ||
dependsOn: [] | ||
jobs: | ||
- template: /eng/templates/build.yml@self |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
jobs: | ||
- job: Build | ||
|
||
templateContext: | ||
outputs: | ||
- output: pipelineArtifact | ||
path: $(build.artifactStagingDirectory) | ||
artifact: drop | ||
sbomBuildDropPath: $(build.artifactStagingDirectory) | ||
sbomPackageName: 'Durable Functions Extension SBOM' | ||
|
||
steps: | ||
|
||
# Configure all the .NET SDK versions we need | ||
- task: UseDotNet@2 | ||
displayName: 'Use the .NET Core 2.1 SDK (required for build signing)' | ||
inputs: | ||
packageType: 'sdk' | ||
version: '2.1.x' | ||
|
||
- task: UseDotNet@2 | ||
displayName: 'Use the .NET Core 3.1 SDK' | ||
inputs: | ||
packageType: 'sdk' | ||
version: '3.1.x' | ||
|
||
- task: UseDotNet@2 | ||
displayName: 'Use the .NET 6 SDK' | ||
inputs: | ||
packageType: 'sdk' | ||
version: '6.0.x' | ||
|
||
# Start by restoring all the dependencies. | ||
- task: DotNetCoreCLI@2 | ||
displayName: 'dotnet restore' | ||
inputs: | ||
command: restore | ||
projects: '**/**/*.csproj' | ||
feedsToUse: config | ||
nugetConfigPath: 'nuget.config' | ||
|
||
# Build durable-extension | ||
- task: VSBuild@1 | ||
displayName: 'Build Durable Extension' | ||
inputs: | ||
solution: '**/WebJobs.Extensions.DurableTask.sln' | ||
vsVersion: "16.0" | ||
configuration: Release | ||
|
||
- template: ci/sign-files.yml@eng | ||
parameters: | ||
displayName: Sign assemblies | ||
folderPath: 'src/WebJobs.Extensions.DurableTask/bin/Release' | ||
pattern: '*DurableTask.dll' | ||
signType: dll | ||
|
||
# dotnet pack | ||
# Packaging needs to be a separate step from build. | ||
# This will automatically pick up the signed DLLs. | ||
- task: DotNetCoreCLI@2 | ||
displayName: 'dotnet pack WebJobs.Extensions.DurableTask.csproj' | ||
inputs: | ||
command: pack | ||
packagesToPack: 'src/**/WebJobs.Extensions.DurableTask.csproj' | ||
configuration: Release | ||
packDirectory: 'azure-functions-durable-extension' | ||
nobuild: true | ||
|
||
# Remove redundant symbol package(s) | ||
- script: | | ||
echo *** Searching for .symbols.nupkg files to delete... | ||
dir /s /b *.symbols.nupkg | ||
echo *** Deleting .symbols.nupkg files... | ||
del /S /Q *.symbols.nupkg | ||
echo *** Listing remaining packages | ||
dir /s /b *.nupkg | ||
displayName: 'Remove Redundant Symbols Package(s)' | ||
continueOnError: true | ||
- template: ci/sign-files.yml@eng | ||
parameters: | ||
displayName: Sign NugetPackages | ||
folderPath: $(build.artifactStagingDirectory) | ||
pattern: '*.nupkg' | ||
signType: nuget | ||
|
||
# zip .NET in-proc perf tests | ||
- task: DotNetCoreCLI@2 | ||
displayName: 'Zip .NET in-proc perf tests' | ||
inputs: | ||
command: 'publish' | ||
publishWebProjects: false | ||
projects: '$(System.DefaultWorkingDirectory)/test/PerfTests/DFPerfTests/**/*.csproj' | ||
arguments: '-o $(System.DefaultWorkingDirectory)/test/PerfTests/DFPerfTests/Output' | ||
zipAfterPublish: true | ||
modifyOutputPath: true | ||
|
||
# Move zip'ed .NET in-proc perf tests to the ADO publishing directory | ||
- task: CopyFiles@2 | ||
inputs: | ||
SourceFolder: '$(System.DefaultWorkingDirectory)/test/PerfTests/DFPerfTests/Output/' | ||
Contents: '**' | ||
TargetFolder: '$(System.DefaultWorkingDirectory)/azure-functions-durable-extension/' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.