Co-authored-by: Brett V. Forsgren <brettfo@microsoft.com>
This commit is contained in:
Kevin Ransom (msft) 2021-02-02 10:12:29 -08:00 коммит произвёл nosami
Родитель 359a496def
Коммит c93c9c1eef
1 изменённых файлов: 160 добавлений и 36 удалений

Просмотреть файл

@ -56,6 +56,10 @@ variables:
value: .NETCore
- name: VisualStudioDropName
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
- name: LegacyDotNetSdkVersion
value: 3.1.405
- name: DotNetSdkVersion
value: '5.0.100'
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: RunningAsPullRequest
value: true
@ -101,6 +105,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: eng\CIBuild.cmd
-configuration $(_BuildConfig)
-prepareMachine
@ -189,7 +199,7 @@ stages:
# Windows
- job: Windows
pool:
vmImage: windows-2019
vmImage: windows-latest
timeoutInMinutes: 120
strategy:
maxParallel: 4
@ -209,6 +219,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
displayName: Build / Test
- task: PublishTestResults@2
@ -242,7 +258,7 @@ stages:
# Mock official build
- job: MockOfficial
pool:
vmImage: windows-2019
vmImage: windows-latest
steps:
- checkout: self
clean: true
@ -259,6 +275,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
displayName: Build / Test
- task: PublishTestResults@2
@ -291,6 +313,12 @@ stages:
steps:
- checkout: self
clean: true
- task: UseDotNet@2
displayName: Add legacy .NET SDK
inputs:
packageType: sdk
version: $(LegacyDotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
displayName: Build / Test
- task: PublishTestResults@2
@ -316,7 +344,7 @@ stages:
# End to end build
- job: EndToEndBuildTests
pool:
vmImage: windows-2019
vmImage: windows-latest
steps:
- checkout: self
clean: true
@ -324,54 +352,36 @@ stages:
- script: .\tests\EndToEndBuildTests\EndToEndBuildTests.cmd -c Release
displayName: End to end build tests
# Source Build Linux - disabled until MSBuild/NuGet issues are resolved
# - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
# - job: SourceBuild_Linux
# pool:
# vmImage: ubuntu-latest
# steps:
# - checkout: self
# clean: true
# - script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
# displayName: Build
# - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
# displayName: Dump NuGet cache contents
# condition: failed()
# - task: PublishBuildArtifacts@1
# displayName: Publish NuGet cache contents
# inputs:
# PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
# ArtifactName: 'NuGetPackageContents SourceBuild_Linux'
# publishLocation: Container
# continueOnError: true
# condition: failed()
# Source Build Windows
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
- job: SourceBuild_Windows
pool:
vmImage: windows-2019
vmImage: windows-latest
steps:
- checkout: self
clean: true
- script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
- script: eng\CIBuild.cmd -configuration Release -noSign -prepareMachine -sourceBuild
displayName: Build
- script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
displayName: Dump NuGet cache contents
condition: failed()
- task: PublishBuildArtifacts@1
displayName: Publish NuGet cache contents
- task: PublishPipelineArtifact@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
ArtifactName: 'NuGetPackageContents SourceBuild_Windows'
targetPath: '$(Build.SourcesDirectory)/artifacts/log/Release'
artifactName: 'SourceBuild_Windows Logs'
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Release'
ArtifactName: 'SourceBuild_Windows_Test'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())
# Up-to-date - disabled due to it being flaky
#- job: UpToDate_Windows
# pool:
# vmImage: windows-2019
# vmImage: windows-latest
# steps:
# - checkout: self
# clean: true
@ -381,6 +391,119 @@ stages:
# filePath: eng\tests\UpToDate.ps1
# arguments: -configuration $(_BuildConfig) -ci -binaryLog
# Source Build Semi-Official
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
- job: SourceBuild_Official
# used until https://github.com/dotnet/source-build/issues/1795 is fixed
pool:
name: NetCorePublic-Pool
queue: BuildPool.Ubuntu.1604.amd64.Open
timeoutInMinutes: 90
steps:
- checkout: self
clean: true
- script: ./eng/cibuild.sh --configuration Release --prepareMachine --docker --sourceBuild
displayName: Build
- task: PublishPipelineArtifact@1
displayName: Publish Logs
inputs:
targetPath: '$(Build.SourcesDirectory)/artifacts/log/Release'
artifactName: 'SourceBuild_Official Logs'
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Release'
ArtifactName: 'SourceBuild_Official_Test'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
# Plain build Windows
# Disabled until the Windows Proto compiler is coreclr
# - job: Plain_Build_Windows
# pool:
# vmImage: windows-latest
# variables:
# - name: _BuildConfig
# value: Debug
# steps:
# - checkout: self
# clean: true
# - script: .\Build.cmd
# displayName: Initial build
# - script: dotnet --list-sdks
# displayName: Report dotnet SDK versions
# - task: UseDotNet@2
# displayName: install SDK
# inputs:
# packageType: sdk
# version: $(DotNetSdkVersion)
# installationPath: $(Agent.ToolsDirectory)/dotnet
# - script: dotnet build .\FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
# displayName: Regular rebuild
# Plain build Linux
- job: Plain_Build_Linux
pool:
vmImage: ubuntu-latest
variables:
- name: _BuildConfig
value: Debug
steps:
- checkout: self
clean: true
- script: ./build.sh
displayName: Initial build
- script: dotnet --list-sdks
displayName: Report dotnet SDK versions
- task: UseDotNet@2
displayName: install SDK
inputs:
packageType: sdk
version: $(DotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
displayName: Regular rebuild
# Plain build Mac
- job: Plain_Build_MacOS
pool:
vmImage: macos-latest
variables:
- name: _BuildConfig
value: Debug
steps:
- checkout: self
clean: true
- script: ./build.sh
displayName: Initial build
- script: dotnet --list-sdks
displayName: Report dotnet SDK versions
- task: UseDotNet@2
displayName: install SDK
inputs:
packageType: sdk
version: $(DotNetSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
displayName: Regular rebuild
# Arcade-powered source build
# turned off until https://github.com/dotnet/source-build/issues/1795 is fixed
# - template: /eng/common/templates/jobs/jobs.yml
# parameters:
# enablePublishUsingPipelines: true
# enablePublishBuildArtifacts: true
# enablePublishBuildAssets: true
# artifacts:
# publish:
# artifacts: true
# manifests: true
# runSourceBuild: true
# sourceBuildParameters:
# includeDefaultManagedPlatform: true
#---------------------------------------------------------------------------------------------------------------------#
# Post Build #
@ -388,6 +511,7 @@ stages:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng/common/templates/post-build/post-build.yml
parameters:
publishingInfraVersion: 3
# Symbol validation is not entirely reliable as of yet, so should be turned off until https://github.com/dotnet/arcade/issues/2871 is resolved.
enableSymbolValidation: false
# SourceLink improperly looks for generated files. See https://github.com/dotnet/arcade/issues/3069