-
Notifications
You must be signed in to change notification settings - Fork 473
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrate to dotnet foundation pipeline. (#2529)
- Loading branch information
Showing
11 changed files
with
287 additions
and
14 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 @@ | ||
**/*.dll |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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,29 @@ | ||
trigger: | ||
branches: | ||
include: | ||
- master | ||
|
||
resources: | ||
repositories: | ||
- repository: self | ||
type: git | ||
ref: master | ||
|
||
pr: | ||
- master | ||
variables: | ||
BuildPlatform: 'Any Cpu' | ||
BuildConfiguration: 'Release' | ||
stages: | ||
- stage: Build | ||
jobs: | ||
- job: Main | ||
displayName: Main Build | ||
# setting a 3hour timeout as webapi tests normally take about 2hr 30 mins | ||
timeoutInMinutes: 180 | ||
|
||
pool: | ||
vmImage: windows-latest | ||
|
||
steps: | ||
- template: ./common.yml |
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,107 @@ | ||
schedules: | ||
- cron: "0 0 * * *" | ||
displayName: Daily Nightly build | ||
branches: | ||
include: | ||
- master | ||
resources: | ||
repositories: | ||
- repository: self | ||
type: git | ||
ref: master | ||
variables: | ||
BuildPlatform: 'Any Cpu' | ||
BuildConfiguration: 'Release' | ||
RootDir: '$(Build.SourcesDirectory)' | ||
ProductBinPath: '$(RootDir)\bin\$(BuildConfiguration)' | ||
RELEASE_SEMANTICS: '$(ReleaseSemantics)' | ||
SourcesRoot: '$(RootDir)' | ||
stages: | ||
- stage: Build | ||
variables: | ||
- group: SigningConfig | ||
jobs: | ||
- job: Main | ||
displayName: Main Build | ||
# setting a 3hour timeout as webapi tests normally take about 2hr 30 mins | ||
timeoutInMinutes: 180 | ||
pool: | ||
vmImage: windows-latest | ||
steps: | ||
- template: ./common.yml | ||
- task: MSBuild@1 | ||
displayName: 'Get Nuget Package Metadata' | ||
inputs: | ||
solution: tools/GetNugetPackageMetadata.proj | ||
platform: '$(BuildPlatform)' | ||
configuration: '$(BuildConfiguration)' | ||
- pwsh: | | ||
$date = Get-Date | ||
$NightlyBuildVersion = $date.ToString('yyyyMMddHHmm') | ||
echo "##vso[task.setvariable variable=NightlyBuildVersion]$NightlyBuildVersion" | ||
displayName: Generate Nightly Build version | ||
- task: DotNetCoreCLI@2 | ||
displayName: Packing ASP.NET Core OData | ||
inputs: | ||
command: custom | ||
custom: pack | ||
arguments: > | ||
$(RootDir)\src\Microsoft.AspNetCore.OData\Microsoft.AspNetCore.OData.csproj | ||
/p:NuspecFile=$(rootDir)\src\Microsoft.AspNetCore.OData\Microsoft.AspNetCore.OData.$(RELEASE_SEMANTICS).nuspec | ||
--configuration=$(buildConfiguration) | ||
--output=$(Build.ArtifactStagingDirectory)\Packages | ||
-p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg | ||
- task: NuGetCommand@2 | ||
displayName: 'Packing AspNet.OData' | ||
inputs: | ||
command: custom | ||
arguments: pack $(RootDir)\src\Microsoft.AspNet.OData\Microsoft.AspNet.OData.$(RELEASE_SEMANTICS).nuspec -NonInteractive -OutputDirectory $(Build.ArtifactStagingDirectory)\Packages -Properties Configuration=$(BuildConfiguration);ProductRoot=$(ProductBinPath);SourcesRoot=$(Build.SourcesDirectory);VersionNuGetSemantic=$(VersionNuGetSemantic);NightlyBuildVersion=$(NightlyBuildVersion);AspNetPackageDependency="$(AspNetPackageDependency)";DependencyInjection1PackageDependency="$(DependencyInjection1PackageDependency)";ODataLibPackageDependency="$(ODataLibPackageDependency)" -Verbosity Detailed -Symbols -SymbolPackageFormat snupkg | ||
- publish: $(Build.ArtifactStagingDirectory)\Packages | ||
displayName: Publish Build Artifacts | ||
artifact: BuildPackages | ||
- pwsh: | | ||
$config = "{""SignClient"":{""AzureAd"":{""AADInstance"":""$(AADInstance)"",""ClientId"":""$(ClientId)"",""TenantId"":""$(TenantId)""},""Service"":{""Url"":""https://codesign.dotnetfoundation.org/"",""ResourceId"":""$(ResourceId)""}}}" | ||
$config > .\configs\SignClient.json | ||
displayName: Generate Sign config | ||
- publish: configs | ||
displayName: Publish Signing Scripts | ||
artifact: configs | ||
|
||
- stage: CodeSign | ||
condition: and(succeeded('Build'), not(eq(variables['build.reason'], 'PullRequest'))) | ||
jobs: | ||
- deployment: CodeSign | ||
displayName: Code Signing | ||
pool: | ||
vmImage: windows-latest | ||
environment: Code Sign - Approvals | ||
variables: | ||
- group: Code Signing | ||
strategy: | ||
runOnce: | ||
deploy: | ||
steps: | ||
- task: DotNetCoreCLI@2 | ||
inputs: | ||
command: custom | ||
custom: tool | ||
arguments: install --tool-path . SignClient | ||
displayName: Install SignTool tool | ||
|
||
- pwsh: | | ||
.\SignClient "Sign" ` | ||
--baseDirectory "$(Pipeline.Workspace)\BuildPackages" ` | ||
--input "**/*.nupkg" ` | ||
--config "$(Pipeline.Workspace)\configs\SignClient.json" ` | ||
--filelist "$(Pipeline.Workspace)\configs\filelist.txt" ` | ||
--user "$(SignClientUser)" ` | ||
--secret "$(SignClientSecret)" ` | ||
--name "Code Sign packages" ` | ||
--description "Signing packages" ` | ||
--descriptionUrl "https://github.com/OData/WebApi" | ||
displayName: Sign packages | ||
- publish: $(Pipeline.Workspace)/BuildPackages | ||
displayName: Publish Signed Packages | ||
artifact: SignedPackages |
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,121 @@ | ||
steps: | ||
- checkout: self | ||
|
||
- task: NuGetToolInstaller@1 | ||
displayName: Use NuGet >=5.2.0 | ||
inputs: | ||
versionSpec: '>=5.2.0' | ||
checkLatest: true | ||
|
||
- task: UseDotNet@2 | ||
displayName: Use .NET Core sdk 3.1 | ||
inputs: | ||
version: 3.x | ||
|
||
- task: UseDotNet@2 | ||
displayName: Use .NET Core sdk 2.0.x | ||
inputs: | ||
version: 2.0.x | ||
|
||
- task: UseDotNet@2 | ||
displayName: Use .NET Core sdk 5.x | ||
inputs: | ||
version: 5.x | ||
includePreviewVersions: true | ||
|
||
- task: NuGetCommand@2 | ||
displayName: 'NuGet restore **\*.sln' | ||
inputs: | ||
restoreSolution: 'sln/WebApiOData.AspNet.sln;sln/WebApiOData.AspNetCore.sln;sln/WebApiOData.E2E.AspNet.sln;sln/WebApiOData.E2E.AspNetCore.sln' | ||
|
||
- task: VSBuild@1 | ||
displayName: 'Build solution sln\WebApiOData.AspNet.sln' | ||
inputs: | ||
solution: 'sln\WebApiOData.AspNet.sln ' | ||
platform: '$(BuildPlatform)' | ||
configuration: '$(BuildConfiguration)' | ||
|
||
- task: VSBuild@1 | ||
displayName: 'Build solution sln\WebApiOData.E2E.AspNet.sln' | ||
inputs: | ||
solution: 'sln\WebApiOData.E2E.AspNet.sln' | ||
platform: '$(BuildPlatform)' | ||
configuration: '$(BuildConfiguration)' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Build Microsoft.AspNetCore.OData.csproj ' | ||
inputs: | ||
projects: '$(Build.SourcesDirectory)\src\Microsoft.AspNetCore.OData\Microsoft.AspNetCore.OData.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-incremental' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Build .NET Core Unit test project' | ||
inputs: | ||
projects: '$(Build.SourcesDirectory)\test\UnitTest\Microsoft.AspNetCore.OData.Test\Microsoft.AspNetCore.OData.Test.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-incremental' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Build .NET Core E2E test project' | ||
inputs: | ||
projects: '$(Build.SourcesDirectory)\test\E2ETest\Microsoft.Test.E2E.AspNet.OData\Build.AspNetCore\Microsoft.Test.E2E.AspNetCore.OData.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-incremental' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Build .NET Core 3x E2E test project' | ||
inputs: | ||
projects: '$(Build.SourcesDirectory)\test\E2ETest\Microsoft.Test.E2E.AspNet.OData\Build.AspNetCore3x\Microsoft.Test.E2E.AspNetCore3x.OData.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-incremental' | ||
|
||
- powershell: | | ||
$PROGRAMFILESX86 = [Environment]::GetFolderPath("ProgramFilesX86") | ||
$SN = $PROGRAMFILESX86 + "\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe" | ||
$SNx64 = $PROGRAMFILESX86 + "\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\sn.exe" | ||
& $SN /Vr $(Build.SourcesDirectory)\bin\Release\Microsoft.AspNet.OData.dll | ||
& $SNx64 /Vr $(Build.SourcesDirectory)\bin\Release\Microsoft.AspNet.OData.dll | ||
& $SN /Vr $(Build.SourcesDirectory)\bin\release\netstandard2.0\Microsoft.AspNetCore.OData.dll | ||
& $SNx64 /Vr $(Build.SourcesDirectory)\bin\release\netstandard2.0\Microsoft.AspNetCore.OData.dll | ||
& $SN /Vr $(Build.SourcesDirectory)\bin\Release\UnitTest\AspNet\Microsoft.AspNet.OData.Test.dll | ||
& $SNx64 /Vr $(Build.SourcesDirectory)\bin\Release\UnitTest\AspNet\Microsoft.AspNet.OData.Test.dll | ||
& $SN /Vr $(Build.SourcesDirectory)\bin\Release\E2ETest\AspNet\Microsoft.Test.E2E.AspNet.OData.dll | ||
& $SNx64 /Vr $(Build.SourcesDirectory)\bin\Release\E2ETest\AspNet\Microsoft.Test.E2E.AspNet.OData.dll | ||
& $SN /Vr $(Build.SourcesDirectory)\bin\release\E2ETest\AspNetCore\Microsoft.Test.E2E.AspNetCore.OData.dll | ||
& $SNx64 /Vr $(Build.SourcesDirectory)\bin\release\E2ETest\AspNetCore\Microsoft.Test.E2E.AspNetCore.OData.dll | ||
displayName: 'Skip StrongName for Classic' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Core E2E Tests (Microsoft.Test.E2E.AspNetCore.OData.csproj)' | ||
inputs: | ||
command: test | ||
projects: '$(Build.SourcesDirectory)\test\E2ETest\Microsoft.Test.E2E.AspNet.OData\Build.AspNetCore\Microsoft.Test.E2E.AspNetCore.OData.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-build' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Core E2E 3x Tests (Microsoft.Test.E2E.AspNetCore3x.OData.csproj)' | ||
inputs: | ||
command: test | ||
projects: '$(Build.SourcesDirectory)\test\E2ETest\Microsoft.Test.E2E.AspNet.OData\Build.AspNetCore3x\Microsoft.Test.E2E.AspNetCore3x.OData.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-build --filter FullyQualifiedName!=Microsoft.Test.E2E.AspNet.OData.QueryComposition.SelectExpandEFTests.QueryForLongSelectList -v diag' | ||
|
||
- task: VSTest@2 | ||
displayName: 'Classic Unit Tests (Microsoft.AspNet.OData.Test.dll)' | ||
inputs: | ||
testAssemblyVer2: '**\bin\**\UnitTest\**\Microsoft.AspNet.OData.Test.dll' | ||
|
||
- task: DotNetCoreCLI@2 | ||
displayName: 'Core Unit Tests (Microsoft.AspNetCore.OData.Test.csproj) ' | ||
inputs: | ||
command: test | ||
projects: '$(Build.SourcesDirectory)\test\UnitTest\Microsoft.AspNetCore.OData.Test\Microsoft.AspNetCore.OData.Test.csproj' | ||
arguments: '--configuration $(BuildConfiguration) --no-build' | ||
|
||
- task: VSTest@2 | ||
displayName: 'Classic E2E Tests (Microsoft.Test.E2E.AspNet.OData.dll)' | ||
inputs: | ||
testAssemblyVer2: '**\bin\**\E2ETest\**\Microsoft.Test.E2E.AspNet.OData.dll' | ||
testFiltercriteria: '(DisplayName!=Microsoft.Test.E2E.AspNet.OData.ODataPathHandler.UnicodeRouteTests_Todoü.CRUDEntitySetShouldWork)' |
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
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
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
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
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
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