diff --git a/.vsts-signed.yaml b/.vsts-signed.yaml
index ed30cb74ef24..a93dcd1af94e 100644
--- a/.vsts-signed.yaml
+++ b/.vsts-signed.yaml
@@ -11,117 +11,142 @@ variables:
#- name: SkipTests
# defaultValue: false
-jobs:
-- job: Full_Signed
- pool:
- name: VSEng-MicroBuildVS2019
- timeoutInMinutes: 300
- variables:
- BuildConfiguration: 'Release'
- steps:
-
- # Install Signing Plugin
- - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
- displayName: Install Signing Plugin
- inputs:
- signType: real
- esrpSigning: true
- condition: and(succeeded(), ne(variables['SignType'], ''))
-
- # Build
- - script: eng\CIBuild.cmd
- -configuration $(BuildConfiguration)
- -testAll
- -officialSkipTests $(SkipTests)
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- /p:VisualStudioDropName=$(VisualStudioDropName)
- /p:DotNetSignType=$(SignType)
- /p:DotNetPublishToBlobFeed=true
- /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
- /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- /p:PublishToSymbolServer=true
- /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
- /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
- displayName: Build
-
- # Publish logs
- - task: PublishBuildArtifacts@1
- displayName: Publish Logs
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(BuildConfiguration)'
- ArtifactName: 'Build Diagnostic Files'
- publishLocation: Container
- continueOnError: true
- condition: succeededOrFailed()
-
- # Publish test results
- - task: PublishBuildArtifacts@1
- displayName: Publish Test Results
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
- ArtifactName: 'Test Results'
- publishLocation: Container
- continueOnError: true
- condition: and(succeededOrFailed(), ne(variables['SkipTests'], 'true'))
-
- # Upload VSTS Drop
- - task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
- displayName: Upload VSTS Drop
- inputs:
- DropName: $(VisualStudioDropName)
- DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
- condition: succeeded()
-
- # Publish an artifact that the RoslynInsertionTool is able to find by its name.
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact VSSetup
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
- ArtifactName: 'VSSetup'
- condition: succeeded()
-
- # Archive NuGet packages to DevOps.
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Packages
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)'
- ArtifactName: 'Packages'
- condition: succeeded()
-
- # Publish nightly package to ADO
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Nightly
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\VisualFSharpFull.vsix'
- ArtifactName: 'Nightly'
- condition: succeeded()
-
- # Package publish
- - task: PublishBuildArtifacts@1
- displayName: Push Asset Manifests
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/AssetManifest'
- ArtifactName: AssetManifests
- continueOnError: true
- condition: succeeded()
-
- # Publish native PDBs for archiving
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Symbols
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/SymStore/$(BuildConfiguration)'
- ArtifactName: NativeSymbols
- condition: succeeded()
-
- # Execute cleanup tasks
- - task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
- displayName: Execute cleanup tasks
- condition: succeededOrFailed()
-
-- template: /eng/common/templates/job/publish-build-assets.yml
- parameters:
- dependsOn:
- - Full_Signed
+stages:
+- stage: build
+ displayName: Build
+
+ jobs:
+ - job: Full_Signed
pool:
- vmImage: windows-2019
- enablePublishBuildArtifacts: true
+ name: VSEng-MicroBuildVS2019
+ timeoutInMinutes: 300
+ variables:
+ BuildConfiguration: 'Release'
+ steps:
+
+ # Install Signing Plugin
+ - task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
+ displayName: Install Signing Plugin
+ inputs:
+ signType: real
+ esrpSigning: true
+ condition: and(succeeded(), ne(variables['SignType'], ''))
+
+ # Build
+ - script: eng\CIBuild.cmd
+ -configuration $(BuildConfiguration)
+ -testAll
+ -officialSkipTests $(SkipTests)
+ /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
+ /p:VisualStudioDropName=$(VisualStudioDropName)
+ /p:DotNetSignType=$(SignType)
+ /p:DotNetPublishToBlobFeed=true
+ /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
+ /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+ /p:PublishToSymbolServer=true
+ /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
+ /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
+ displayName: Build
+
+ # Publish logs
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Logs
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(BuildConfiguration)'
+ ArtifactName: 'Build Diagnostic Files'
+ publishLocation: Container
+ continueOnError: true
+ condition: succeededOrFailed()
+
+ # Publish test results
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Test Results
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
+ ArtifactName: 'Test Results'
+ publishLocation: Container
+ continueOnError: true
+ condition: and(succeededOrFailed(), ne(variables['SkipTests'], 'true'))
+
+ # Upload VSTS Drop
+ - task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
+ displayName: Upload VSTS Drop
+ inputs:
+ DropName: $(VisualStudioDropName)
+ DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
+ condition: succeeded()
+
+ # Publish an artifact that the RoslynInsertionTool is able to find by its name.
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact VSSetup
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
+ ArtifactName: 'VSSetup'
+ condition: succeeded()
+
+ # Archive NuGet packages to DevOps.
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Packages
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)'
+ ArtifactName: 'Packages'
+ condition: succeeded()
+
+ # Publish nightly package to ADO
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Nightly
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\VisualFSharpFull.vsix'
+ ArtifactName: 'Nightly'
+ condition: succeeded()
+
+ # Package publish
+ - task: PublishBuildArtifacts@1
+ displayName: Push Asset Manifests
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/AssetManifest'
+ ArtifactName: AssetManifests
+ continueOnError: true
+ condition: succeeded()
+
+ # Publish PackageArtifacts for Arcade verification
+ - task: PublishBuildArtifacts@1
+ displayName: Publish PackageArtifacts
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)\Shipping'
+ ArtifactName: 'PackageArtifacts'
+ condition: succeeded()
+
+ # Publish BlobArtifacts for Arcade verification
+ - task: PublishBuildArtifacts@1
+ displayName: Publish BlobArtifacts
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)\Shipping'
+ ArtifactName: 'BlobArtifacts'
+ condition: succeeded()
+
+ # Publish native PDBs for archiving
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Symbols
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)/artifacts/SymStore/$(BuildConfiguration)'
+ ArtifactName: NativeSymbols
+ condition: succeeded()
+
+ # Execute cleanup tasks
+ - task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
+ displayName: Execute cleanup tasks
+ condition: succeededOrFailed()
+
+ - template: /eng/common/templates/job/publish-build-assets.yml
+ parameters:
+ dependsOn:
+ - Full_Signed
+ pool:
+ vmImage: windows-2019
+ enablePublishBuildArtifacts: true
+
+- template: eng/common/templates/post-build/post-build.yml
+ parameters:
+ # 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
diff --git a/NuGet.config b/NuGet.config
index a8664a73c574..9acafaa472f5 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -18,10 +18,15 @@
-
-
+
+
-
+
+
+
+
+
+
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 87306e5c604f..53288c73d3f3 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -28,285 +28,305 @@ variables:
#- name: SkipTests
# defaultValue: false
-jobs:
+stages:
+- stage: build
+ displayName: Build
+ jobs:
-#---------------------------------------------------------------------------------------------------------------------#
-# Signed build #
-#---------------------------------------------------------------------------------------------------------------------#
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/common/templates/jobs/jobs.yml
- parameters:
- enableMicrobuild: true
- enablePublishBuildArtifacts: true
- enablePublishTestResults: false
- enablePublishBuildAssets: true
- enablePublishUsingPipelines: $(_PublishUsingPipelines)
- enableTelemetry: true
- helixRepo: dotnet/fsharp
- jobs:
- - job: Full_Signed
- pool:
- name: NetCoreInternal-Int-Pool
- queue: buildpool.windows.10.amd64.vs2019
- timeoutInMinutes: 300
- variables:
- - group: DotNet-Blob-Feed
- - group: DotNet-Symbol-Server-Pats
- - name: _SignType
- value: Real
- - name: _DotNetPublishToBlobFeed
- value: true
- steps:
- - checkout: self
- clean: true
- - script: eng\CIBuild.cmd
- -configuration $(_BuildConfig)
- -prepareMachine
- -testAll
- -officialSkipTests $(SkipTests)
- /p:SignType=$(_SignType)
- /p:DotNetSignType=$(_SignType)
- /p:MicroBuild_SigningEnabled=true
- /p:OverridePackageSource=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- /p:TeamName=$(_TeamName)
- /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
- /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- /p:DotNetPublishToBlobFeed=true
- /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
- /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
- /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
- /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- /p:PublishToSymbolServer=true
- /p:VisualStudioDropName=$(VisualStudioDropName)
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testResultsFormat: 'NUnit'
- testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
- continueOnError: true
- condition: ne(variables['SkipTests'], 'true')
- - task: PublishBuildArtifacts@1
- displayName: Publish Test Logs
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\$(_BuildConfig)'
- ArtifactName: 'Test Logs'
- publishLocation: Container
- continueOnError: true
- condition: ne(variables['SkipTests'], 'true')
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Packages
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(_BuildConfig)'
- ArtifactName: 'Packages'
- condition: succeeded()
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact VSSetup
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(_BuildConfig)\Insertion'
- ArtifactName: 'VSSetup'
- condition: succeeded()
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Nightly
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(_BuildConfig)\VisualFSharpFull.vsix'
- ArtifactName: 'Nightly'
- condition: succeeded()
- - task: PublishBuildArtifacts@1
- displayName: Publish Artifact Symbols
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\SymStore\$(_BuildConfig)'
- ArtifactName: 'NativeSymbols'
- condition: succeeded()
+ #-------------------------------------------------------------------------------------------------------------------#
+ # Signed build #
+ #-------------------------------------------------------------------------------------------------------------------#
+ - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - template: /eng/common/templates/jobs/jobs.yml
+ parameters:
+ enableMicrobuild: true
+ enablePublishBuildArtifacts: true
+ enablePublishTestResults: false
+ enablePublishBuildAssets: true
+ enablePublishUsingPipelines: $(_PublishUsingPipelines)
+ enableTelemetry: true
+ helixRepo: dotnet/fsharp
+ jobs:
+ - job: Full_Signed
+ pool:
+ name: NetCoreInternal-Pool
+ queue: buildpool.windows.10.amd64.vs2019
+ timeoutInMinutes: 300
+ variables:
+ - group: DotNet-Blob-Feed
+ - group: DotNet-Symbol-Server-Pats
+ - group: DotNet-DevDiv-Insertion-Workflow-Variables
+ - name: _SignType
+ value: Real
+ - name: _DotNetPublishToBlobFeed
+ value: true
+ steps:
+ - checkout: self
+ clean: true
+ - script: eng\CIBuild.cmd
+ -configuration $(_BuildConfig)
+ -prepareMachine
+ -testAll
+ -officialSkipTests $(SkipTests)
+ /p:SignType=$(_SignType)
+ /p:DotNetSignType=$(_SignType)
+ /p:MicroBuild_SigningEnabled=true
+ /p:OverridePackageSource=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+ /p:TeamName=$(_TeamName)
+ /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
+ /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+ /p:DotNetPublishToBlobFeed=true
+ /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
+ /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
+ /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
+ /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
+ /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
+ /p:PublishToSymbolServer=true
+ /p:VisualStudioDropName=$(VisualStudioDropName)
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ inputs:
+ testResultsFormat: 'NUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ continueOnError: true
+ condition: ne(variables['SkipTests'], 'true')
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Test Logs
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\$(_BuildConfig)'
+ ArtifactName: 'Test Logs'
+ publishLocation: Container
+ continueOnError: true
+ condition: ne(variables['SkipTests'], 'true')
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Packages
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(_BuildConfig)'
+ ArtifactName: 'Packages'
+ condition: succeeded()
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact VSSetup
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(_BuildConfig)\Insertion'
+ ArtifactName: 'VSSetup'
+ condition: succeeded()
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Nightly
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(_BuildConfig)\VisualFSharpFull.vsix'
+ ArtifactName: 'Nightly'
+ condition: succeeded()
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Artifact Symbols
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\SymStore\$(_BuildConfig)'
+ ArtifactName: 'NativeSymbols'
+ condition: succeeded()
+ - task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
+ displayName: Upload VSTS Drop
+ inputs:
+ DropName: $(VisualStudioDropName)
+ DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(_BuildConfig)\Insertion'
+ AccessToken: $(dn-bot-devdiv-drop-rw-code-rw)
+ condition: succeeded()
-#---------------------------------------------------------------------------------------------------------------------#
-# PR builds #
-#---------------------------------------------------------------------------------------------------------------------#
-- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - template: /eng/common/templates/jobs/jobs.yml
- parameters:
- enableMicrobuild: true
- enablePublishBuildArtifacts: true
- enablePublishTestResults: false
- enablePublishBuildAssets: true
- enablePublishUsingPipelines: $(_PublishUsingPipelines)
- enableTelemetry: true
- helixRepo: dotnet/fsharp
- jobs:
+ #-------------------------------------------------------------------------------------------------------------------#
+ # PR builds #
+ #-------------------------------------------------------------------------------------------------------------------#
+ - ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ - template: /eng/common/templates/jobs/jobs.yml
+ parameters:
+ enableMicrobuild: true
+ enablePublishBuildArtifacts: true
+ enablePublishTestResults: false
+ enablePublishBuildAssets: true
+ enablePublishUsingPipelines: $(_PublishUsingPipelines)
+ enableTelemetry: true
+ helixRepo: dotnet/fsharp
+ jobs:
- # Windows
- - job: Windows
- pool:
- vmImage: windows-2019
- timeoutInMinutes: 120
- strategy:
- maxParallel: 4
- matrix:
- desktop_release:
- _configuration: Release
- _testKind: testDesktop
- coreclr_release:
- _configuration: Release
- _testKind: testCoreclr
- fsharpqa_release:
- _configuration: Release
- _testKind: testFSharpQA
- vs_release:
- _configuration: Release
- _testKind: testVs
- steps:
- - checkout: self
- clean: true
- - script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
- displayName: Build / Test
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testResultsFormat: 'NUnit'
- testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
- continueOnError: true
- condition: ne(variables['_testKind'], 'testFSharpQA')
- - task: PublishBuildArtifacts@1
- displayName: Publish Test Logs
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)'
- ArtifactName: 'Windows $(_configuration) $(_testKind) test logs'
- publishLocation: Container
- continueOnError: true
- condition: eq(variables['_testKind'], 'testFSharpQA')
+ # Windows
+ - job: Windows
+ pool:
+ vmImage: windows-2019
+ timeoutInMinutes: 120
+ strategy:
+ maxParallel: 4
+ matrix:
+ desktop_release:
+ _configuration: Release
+ _testKind: testDesktop
+ coreclr_release:
+ _configuration: Release
+ _testKind: testCoreclr
+ fsharpqa_release:
+ _configuration: Release
+ _testKind: testFSharpQA
+ vs_release:
+ _configuration: Release
+ _testKind: testVs
+ steps:
+ - checkout: self
+ clean: true
+ - script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
+ displayName: Build / Test
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ inputs:
+ testResultsFormat: 'NUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_configuration)'
+ continueOnError: true
+ condition: ne(variables['_testKind'], 'testFSharpQA')
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Test Logs
+ inputs:
+ PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults\$(_configuration)'
+ ArtifactName: 'Windows $(_configuration) $(_testKind) test logs'
+ publishLocation: Container
+ continueOnError: true
+ condition: eq(variables['_testKind'], 'testFSharpQA')
- # Linux
- - job: Linux
- pool:
- vmImage: ubuntu-16.04
- variables:
- - name: _SignType
- value: Test
- steps:
- - checkout: self
- clean: true
- - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
- displayName: Build / Test
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testResultsFormat: 'NUnit'
- testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
- continueOnError: true
- condition: always()
+ # Linux
+ - job: Linux
+ pool:
+ vmImage: ubuntu-16.04
+ variables:
+ - name: _SignType
+ value: Test
+ steps:
+ - checkout: self
+ clean: true
+ - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
+ displayName: Build / Test
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ inputs:
+ testResultsFormat: 'NUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ continueOnError: true
+ condition: always()
- # MacOS
- - job: MacOS
- pool:
- vmImage: macOS-10.13
- variables:
- - name: _SignType
- value: Test
- steps:
- - checkout: self
- clean: true
- - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
- displayName: Build / Test
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testResultsFormat: 'NUnit'
- testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
- continueOnError: true
- condition: always()
+ # MacOS
+ - job: MacOS
+ pool:
+ vmImage: macOS-10.13
+ variables:
+ - name: _SignType
+ value: Test
+ steps:
+ - checkout: self
+ clean: true
+ - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr
+ displayName: Build / Test
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ inputs:
+ testResultsFormat: 'NUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ continueOnError: true
+ condition: always()
- # Source Build Linux
- - job: SourceBuild_Linux
- pool:
- vmImage: ubuntu-16.04
- steps:
- - checkout: self
- clean: true
- - script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
- displayName: Build
+ # Source Build Linux
+ - job: SourceBuild_Linux
+ pool:
+ vmImage: ubuntu-16.04
+ steps:
+ - checkout: self
+ clean: true
+ - script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
+ displayName: Build
- # Source Build Windows
- - job: SourceBuild_Windows
- pool:
- vmImage: windows-2019
- steps:
- - checkout: self
- clean: true
- - script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
- displayName: Build
+ # Source Build Windows
+ - job: SourceBuild_Windows
+ pool:
+ vmImage: windows-2019
+ steps:
+ - checkout: self
+ clean: true
+ - script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
+ displayName: Build
- # 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
+ # 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
-#---------------------------------------------------------------------------------------------------------------------#
-# FCS builds #
-#---------------------------------------------------------------------------------------------------------------------#
+ #-------------------------------------------------------------------------------------------------------------------#
+ # FCS builds #
+ #-------------------------------------------------------------------------------------------------------------------#
-- ${{ 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:
+ - ${{ 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:
- - job: Windows_FCS
- pool:
- vmImage: windows-2019
- variables:
- - name: _SignType
- value: Test
- steps:
- - checkout: self
- clean: true
- - 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'
- continueOnError: true
- condition: always()
+ - job: Windows_FCS
+ pool:
+ vmImage: windows-2019
+ variables:
+ - name: _SignType
+ value: Test
+ steps:
+ - checkout: self
+ clean: true
+ - 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'
+ continueOnError: true
+ condition: always()
- - job: Linux_FCS
- pool:
- vmImage: ubuntu-16.04
- variables:
- - name: _SignType
- value: Test
- steps:
- - checkout: self
- clean: true
- - script: ./fcs/build.sh Build
- displayName: Build
+ - job: Linux_FCS
+ pool:
+ vmImage: ubuntu-16.04
+ variables:
+ - name: _SignType
+ value: Test
+ steps:
+ - checkout: self
+ clean: true
+ - script: ./fcs/build.sh Build
+ displayName: Build
- - job: MacOS_FCS
- pool:
- vmImage: macOS-10.13
- variables:
- - name: _SignType
- value: Test
- steps:
- - checkout: self
- clean: true
- - script: ./fcs/build.sh Build
- displayName: Build
+ - job: MacOS_FCS
+ pool:
+ vmImage: macOS-10.13
+ variables:
+ - name: _SignType
+ value: Test
+ steps:
+ - checkout: self
+ clean: true
+ - script: ./fcs/build.sh Build
+ displayName: Build
+
+#---------------------------------------------------------------------------------------------------------------------#
+# Post Build #
+#---------------------------------------------------------------------------------------------------------------------#
+- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - template: eng/common/templates/post-build/post-build.yml
+ parameters:
+ # 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
diff --git a/eng/Build.ps1 b/eng/Build.ps1
index 314fc6637d11..adbe1a2eb4a4 100644
--- a/eng/Build.ps1
+++ b/eng/Build.ps1
@@ -278,6 +278,25 @@ function Prepare-TempDir() {
Copy-Item (Join-Path $RepoRoot "tests\Resources\Directory.Build.targets") $TempDir
}
+function EnablePreviewSdks() {
+ if (Test-Path variable:global:_MSBuildExe) {
+ return
+ }
+ $vsInfo = LocateVisualStudio
+ if ($vsInfo -eq $null) {
+ # Preview SDKs are allowed when no Visual Studio instance is installed
+ return
+ }
+
+ $vsId = $vsInfo.instanceId
+ $vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
+
+ $instanceDir = Join-Path ${env:USERPROFILE} "AppData\Local\Microsoft\VisualStudio\$vsMajorVersion.0_$vsId"
+ Create-Directory $instanceDir
+ $sdkFile = Join-Path $instanceDir "sdk.txt"
+ 'UsePreviews=True' | Set-Content $sdkFile
+}
+
try {
Process-Arguments
@@ -289,6 +308,7 @@ try {
if ($ci) {
Prepare-TempDir
+ EnablePreviewSdks
# enable us to build netcoreapp2.1 binaries
$global:_DotNetInstallDir = Join-Path $RepoRoot ".dotnet"
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 8a78856321ee..92b380533f7a 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- a8e982d3bac01d8f4f91a4c57191147570079448
+ def377f94747dac91482aad67b33a1c011ffc770
diff --git a/eng/Versions.props b/eng/Versions.props
index a1b0227d5b76..cc1b4f20e347 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -12,25 +12,25 @@
beta
- 4.7
+ 4.8
$(FSLanguageVersion)
- $(FSCoreMajorVersion).3
+ $(FSCoreMajorVersion).1
$(FSCoreMajorVersion).0
$(FSCoreVersionPrefix).0
- 4.6.2
+ 4.7.0
$(FSCorePackageVersion)-$(PreReleaseVersionLabel).*
- 10.6
+ 10.7
$(FSPackageMajorVersion).0
$(FSPackageVersion)
$(FSPackageVersion).0
16
- 3
+ 4
$(VSMajorVersion).0
$(VSMajorVersion).$(VSMinorVersion).0
$(VSAssemblyVersionPrefix).0
@@ -59,10 +59,9 @@
https://dotnet.myget.org/F/interactive-window/api/v3/index.json;
https://myget.org/F/vs-devcore/api/v3/index.json;
https://myget.org/F/vs-editor/api/v3/index.json;
- https://vside.myget.org/F/vssdk/api/v3/index.json;
- https://vside.myget.org/F/vs-impl/api/v3/index.json;
+ https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk/nuget/v3/index.json;
+ https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json;
https://myget.org/F/roslyn_concord/api/v3/index.json;
- https://vside.myget.org/F/devcore/api/v3/index.json;
$([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\RoslynPackageVersion.txt').Trim())
@@ -101,6 +100,8 @@
$(RoslynVersion)
$(RoslynVersion)
$(RoslynVersion)
+ $(RoslynVersion)
+ 2.0.17
$(RoslynVersion)
16.0.461
@@ -117,6 +118,8 @@
16.1.89
1.1.4322
16.1.89
+ 16.1.89
+ 16.0.28226-alpha
16.1.28916.169
16.1.28917.181
16.1.3121
@@ -126,6 +129,7 @@
8.0.50728
7.10.6071
16.1.28917.181
+ 16.1.89
8.0.50728
16.0.201-pre-g7d366164d0
2.3.6152103
@@ -142,7 +146,9 @@
10.0.30320
11.0.61031
12.0.30111
+ 16.0.0
16.1.89
+ 16.1.89
7.10.6071
8.0.50728
10.0.30320
@@ -169,7 +175,8 @@
1.0.30
8.0.0-alpha
2.7.0
- 2.0.3
+ 3.0.0-preview-27318-01
+ 3.0.0-preview-27318-01
15.8.0
1.0.0
4.3.0
diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config
index fb9b71286370..3f97ac2f16cc 100644
--- a/eng/common/sdl/packages.config
+++ b/eng/common/sdl/packages.config
@@ -1,4 +1,4 @@
-
+
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
index 5837f3d56d3a..f657a4dc91de 100644
--- a/eng/common/templates/job/execute-sdl.yml
+++ b/eng/common/templates/job/execute-sdl.yml
@@ -46,7 +46,7 @@ jobs:
continueOnError: ${{ parameters.continueOnError }}
- ${{ if eq(parameters.overrideParameters, '') }}:
- powershell: eng/common/sdl/execute-all-sdl-tools.ps1
- -GuardianPackageName Microsoft.Guardian.Cli.0.6.0
+ -GuardianPackageName Microsoft.Guardian.Cli.0.7.1
-NugetPackageDirectory $(Build.SourcesDirectory)\.packages
-AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
${{ parameters.additionalParameters }}
diff --git a/eng/targets/Settings.props b/eng/targets/Settings.props
index 6360088320fa..329028818205 100644
--- a/eng/targets/Settings.props
+++ b/eng/targets/Settings.props
@@ -2,7 +2,6 @@
MIT
- Microsoft and F# Software Foundation
Visual F# Compiler FSharp functional programming
$(ArtifactsBinDir)
diff --git a/global.json b/global.json
index fe2ea05490f0..341cf0849986 100644
--- a/global.json
+++ b/global.json
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19378.1",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19380.3",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
diff --git a/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets b/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
index 9254d577705d..e0c253f4916f 100644
--- a/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
+++ b/src/fsharp/FSharp.Build/Microsoft.FSharp.Targets
@@ -273,13 +273,6 @@ this file.
$(OtherFlags)
-
-
- preview
-
-
{0} for F# {1}
- F# {1} の {0}
+ F# {1} のための {0}
diff --git a/src/fsharp/FSharp.Compiler.LanguageServer/FSharp.Compiler.LanguageServer.fsproj b/src/fsharp/FSharp.Compiler.LanguageServer/FSharp.Compiler.LanguageServer.fsproj
index 3180a0a52fba..48e2c5104a55 100644
--- a/src/fsharp/FSharp.Compiler.LanguageServer/FSharp.Compiler.LanguageServer.fsproj
+++ b/src/fsharp/FSharp.Compiler.LanguageServer/FSharp.Compiler.LanguageServer.fsproj
@@ -8,6 +8,7 @@
netcoreapp2.1
true
Implements the Language Server Protocol (LSP) for F#.
+ true
diff --git a/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj b/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj
index 4afaa51f7fff..4bc3e61c1647 100644
--- a/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj
+++ b/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj
@@ -6,7 +6,7 @@
FSharp.Core
FSharp.Core.nuspec
true
- FSharp.Core redistributables from Visual F# Tools version $(FSPackageMajorVersion) For F# $(FSCoreMajorVersion)
+ FSharp.Core redistributables from Visual F# Tools version $(FSPackageMajorVersion) For F# $(FSCoreMajorVersion). Contains code from the F# Software Foundation.
diff --git a/src/fsharp/FSharp.Core/xlf/FSCore.cs.xlf b/src/fsharp/FSharp.Core/xlf/FSCore.cs.xlf
index e1e2a27ab6ec..c1837555d36f 100644
--- a/src/fsharp/FSharp.Core/xlf/FSCore.cs.xlf
+++ b/src/fsharp/FSharp.Core/xlf/FSCore.cs.xlf
@@ -709,7 +709,7 @@
maxDegreeOfParallelism must be positive, was {0}
- maxDegreeOfParallelism must be positive, was {0}
+ Hodnota maxDegreeOfParallelism musí být kladná, ale vyskytla se hodnota {0}.