From fa27f5ad6a2a1f8a03616dfaf0ec6ae70c5a5970 Mon Sep 17 00:00:00 2001 From: "Brett V. Forsgren" Date: Mon, 13 Jul 2020 11:51:14 -0700 Subject: [PATCH] auto-insert release/dev16.8 to VS master (#9684) --- azure-pipelines.yml | 279 ++++++++++++++++++++------------------------ 1 file changed, 129 insertions(+), 150 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 169a7cba5ec..576608de1ba 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,49 +1,14 @@ # CI and PR triggers trigger: - branches: - include: - - main - - dev16.1 - - feature/* - - release/* - paths: - include: - - '*' - exclude: - - .github/* - - docs/compiler-guide.md - - attributions.md - - CODE_OF_CONDUCT.md - - DEVGUIDE.md - - INTERNAL.md - - Language-Version-History.md - - License.txt - - README.md - - release-notes.md - - TESTGUIDE.md - +- master +- dev16.1 +- feature/* +- release/* pr: - branches: - include: - - main - - dev16.1 - - feature/* - - release/* - paths: - include: - - '*' - exclude: - - .github/* - - docs/compiler-guide.md - - attributions.md - - CODE_OF_CONDUCT.md - - DEVGUIDE.md - - INTERNAL.md - - Language-Version-History.md - - License.txt - - README.md - - release-notes.md - - TESTGUIDE.md +- master +- dev16.1 +- feature/* +- release/* variables: - name: _TeamName @@ -314,6 +279,28 @@ stages: - script: .\tests\EndToEndBuildTests\EndToEndBuildTests -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 @@ -322,132 +309,125 @@ stages: steps: - checkout: self clean: true - - script: eng\CIBuild.cmd -configuration Release -noSign -prepareMachine -sourceBuild + - script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true displayName: Build - - task: PublishPipelineArtifact@1 - displayName: Publish Logs - inputs: - targetPath: '$(Build.SourcesDirectory)/artifacts/log/Release' - artifactName: 'SourceBuild_Windows Logs' - continueOnError: true - condition: not(succeeded()) + - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj + displayName: Dump NuGet cache contents + condition: failed() - task: PublishBuildArtifacts@1 - displayName: Publish Logs + displayName: Publish NuGet cache contents inputs: - PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Release' - ArtifactName: 'SourceBuild_Windows_Test' + PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents' + ArtifactName: 'NuGetPackageContents SourceBuild_Windows' publishLocation: Container continueOnError: true - condition: not(succeeded()) + condition: failed() - # Up-to-date - disabled due to it being flaky - #- job: UpToDate_Windows - # pool: - # vmImage: windows-2019 - # steps: - # - checkout: self - # clean: true - # - task: PowerShell@2 - # displayName: Run up-to-date build check - # inputs: - # filePath: eng\tests\UpToDate.ps1 - # arguments: -configuration $(_BuildConfig) -ci -binaryLog + # Up-to-date + - job: UpToDate_Windows + pool: + vmImage: windows-2019 + steps: + - checkout: self + clean: true + - task: PowerShell@2 + displayName: Run up-to-date build check + inputs: + filePath: eng\tests\UpToDate.ps1 + arguments: -configuration $(_BuildConfig) -ci -binaryLog - # Source Build Semi-Official - # used until https://github.com/dotnet/source-build/issues/1795 is fixed - - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - job: SourceBuild_Official - 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()) + #-------------------------------------------------------------------------------------------------------------------# + # FCS builds # + #-------------------------------------------------------------------------------------------------------------------# - # 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 - # - script: dotnet build .\FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\" - # displayName: Regular rebuild + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - template: /eng/common/templates/jobs/jobs.yml + parameters: + enableMicrobuild: true + enablePublishTestResults: false + enablePublishBuildAssets: true + enablePublishUsingPipelines: false + enableTelemetry: true + helixRepo: dotnet/fsharp + jobs: - # Plain build Linux - - job: Plain_Build_Linux + - job: Windows_FCS pool: - vmImage: ubuntu-latest + vmImage: windows-2019 variables: - - name: _BuildConfig - value: Debug + - name: _SignType + value: Test steps: - checkout: self clean: true - - script: ./build.sh - displayName: Initial build - - script: dotnet --list-sdks - displayName: Report dotnet SDK versions - - script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\" - displayName: Regular rebuild + - task: UseDotNet@2 + displayName: 'Use .NET Core sdk' + inputs: + useGlobalJson: true + workingDirectory: fcs + - script: fcs\build.cmd TestAndNuget + displayName: Build / Test + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'NUnit' + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + publishRunAttachments: true + continueOnError: true + condition: always() - # Plain build Mac - - job: Plain_Build_MacOS + - job: Linux_FCS pool: - vmImage: macos-latest + vmImage: ubuntu-latest variables: - - name: _BuildConfig - value: Debug + - name: _SignType + value: Test steps: - checkout: self clean: true - - script: ./build.sh - displayName: Initial build - - script: dotnet --list-sdks - displayName: Report dotnet SDK versions - - script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\" - displayName: Regular rebuild + - task: UseDotNet@2 + displayName: 'Use .NET Core sdk' + inputs: + useGlobalJson: true + workingDirectory: fcs + - script: ./fcs/build.sh + displayName: Build / Test + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'NUnit' + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + publishRunAttachments: true + continueOnError: true + condition: always() - # 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 + - job: MacOS_FCS + pool: + vmImage: macOS-latest + variables: + - name: _SignType + value: Test + steps: + - checkout: self + clean: true + - task: UseDotNet@2 + displayName: 'Use .NET Core sdk' + inputs: + useGlobalJson: true + workingDirectory: fcs + - script: ./fcs/build.sh + displayName: Build / Test + - task: PublishTestResults@2 + displayName: Publish Test Results + inputs: + testResultsFormat: 'NUnit' + testResultsFiles: '*.xml' + searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release' + publishRunAttachments: true + continueOnError: true + condition: always() #---------------------------------------------------------------------------------------------------------------------# # Post Build # @@ -455,7 +435,6 @@ 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 @@ -467,7 +446,7 @@ stages: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: eng/release/insert-into-vs.yml parameters: - componentBranchName: release/dev16.8 + componentBranchName: refs/heads/release/dev16.8 insertTargetBranch: master insertTeamEmail: fsharpteam@microsoft.com insertTeamName: 'F#'