diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 132a817a5a8..c7b919fa87c 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -89,6 +89,7 @@ stages:
enablePublishTestResults: false
enablePublishBuildAssets: true
enablePublishUsingPipelines: $(_PublishUsingPipelines)
+ enableSourceBuild: true
enableTelemetry: true
helixRepo: dotnet/fsharp
jobs:
@@ -189,6 +190,7 @@ stages:
enablePublishTestResults: false
enablePublishBuildAssets: true
enablePublishUsingPipelines: $(_PublishUsingPipelines)
+ enableSourceBuild: true
enableTelemetry: true
helixRepo: dotnet/fsharp
jobs:
@@ -336,32 +338,6 @@ stages:
- script: .\tests\EndToEndBuildTests\EndToEndBuildTests.cmd -c Release
displayName: End to end build tests
- # Source Build Windows
- - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
- - job: SourceBuild_Windows
- pool:
- vmImage: windows-latest
- steps:
- - checkout: self
- clean: true
- - script: eng\CIBuild.cmd -configuration Release -noSign -prepareMachine -sourceBuild
- displayName: Build
- - task: PublishPipelineArtifact@1
- displayName: Publish Logs
- inputs:
- 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: not(succeeded())
-
# Up-to-date - disabled due to it being flaky
#- job: UpToDate_Windows
# pool:
@@ -375,35 +351,6 @@ 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
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
new file mode 100644
index 00000000000..22c929f286c
--- /dev/null
+++ b/eng/SourceBuild.props
@@ -0,0 +1,47 @@
+
+
+
+ fsharp
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(InnerBuildArgs) /p:Projects="$(InnerSourceBuildRepoRoot)\FSharp.sln"
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml
new file mode 100644
index 00000000000..c1b6dfbf053
--- /dev/null
+++ b/eng/SourceBuildPrebuiltBaseline.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index bda54e93313..b1eee91688e 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,11 +1,17 @@
+
+ https://github.com/dotnet/xliff-tasks
+ 7e80445ee82adbf9a8e6ae601ac5e239d982afaa
+
+
https://github.com/dotnet/arcade
28d9452d7e2ae4e98a1df735b90b03d3cac1f4e7
+
diff --git a/eng/build.sh b/eng/build.sh
index 11536de9109..fc9faae4354 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -29,6 +29,7 @@ usage()
echo " --ci Building in CI"
echo " --docker Run in a docker container if applicable"
echo " --skipAnalyzers Do not run analyzers during build operations"
+ echo " --skipBuild Do not run the build"
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
echo " --sourceBuild Simulate building for source-build"
echo ""
@@ -60,6 +61,7 @@ binary_log=false
force_bootstrap=false
ci=false
skip_analyzers=false
+skip_build=false
prepare_machine=false
source_build=false
properties=""
@@ -126,6 +128,9 @@ while [[ $# > 0 ]]; do
--skipanalyzers)
skip_analyzers=true
;;
+ --skipbuild)
+ skip_build=true
+ ;;
--preparemachine)
prepare_machine=true
;;
@@ -260,25 +265,27 @@ function BuildSolution {
cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/net5.0 $bootstrap_dir/fsc
fi
- # do real build
- BuildMessage="Error building solution"
- MSBuild $toolset_build_proj \
- $bl \
- /v:$verbosity \
- /p:Configuration=$configuration \
- /p:Projects="$projects" \
- /p:RepoRoot="$repo_root" \
- /p:Restore=$restore \
- /p:Build=$build \
- /p:Rebuild=$rebuild \
- /p:Pack=$pack \
- /p:Publish=$publish \
- /p:UseRoslynAnalyzers=$enable_analyzers \
- /p:ContinuousIntegrationBuild=$ci \
- /p:QuietRestore=$quiet_restore \
- /p:QuietRestoreBinaryLog="$binary_log" \
- /p:DotNetBuildFromSource=$source_build \
- $properties
+ if [[ "$skip_build" != true ]]; then
+ # do real build
+ BuildMessage="Error building solution"
+ MSBuild $toolset_build_proj \
+ $bl \
+ /v:$verbosity \
+ /p:Configuration=$configuration \
+ /p:Projects="$projects" \
+ /p:RepoRoot="$repo_root" \
+ /p:Restore=$restore \
+ /p:Build=$build \
+ /p:Rebuild=$rebuild \
+ /p:Pack=$pack \
+ /p:Publish=$publish \
+ /p:UseRoslynAnalyzers=$enable_analyzers \
+ /p:ContinuousIntegrationBuild=$ci \
+ /p:QuietRestore=$quiet_restore \
+ /p:QuietRestoreBinaryLog="$binary_log" \
+ /p:ArcadeBuildFromSource=$source_build \
+ $properties
+ fi
}
function TrapAndReportError {
diff --git a/eng/source-build-patches/0005-Fix-package-downgrade-warning.patch b/eng/source-build-patches/0005-Fix-package-downgrade-warning.patch
new file mode 100644
index 00000000000..e13b98068f9
--- /dev/null
+++ b/eng/source-build-patches/0005-Fix-package-downgrade-warning.patch
@@ -0,0 +1,56 @@
+From 7f0d25bfaa9a38da2097c9420461232a08951165 Mon Sep 17 00:00:00 2001
+From: Chris Rummel
+Date: Thu, 3 Sep 2020 19:02:07 -0500
+Subject: [PATCH 5/5] Fix package downgrade warning
+
+---
+ .../FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj | 4 ++--
+ .../Microsoft.FSharp.Compiler.nuspec | 4 ++--
+ src/fsharp/fsc/fsc.fsproj | 1 +
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+index aced6e1b4..fcdacc30b 100644
+--- a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
++++ b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+@@ -770,8 +770,8 @@
+
+
+
+-
+-
++
++
+
+
+
+diff --git a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec
+index b96f90d2a..366488b47 100644
+--- a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec
++++ b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec
+@@ -22,8 +22,8 @@
+
+
+
+-
+-
++
++
+
+
+
+diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj
+index 776cddc78..df16c1554 100644
+--- a/src/fsharp/fsc/fsc.fsproj
++++ b/src/fsharp/fsc/fsc.fsproj
+@@ -45,6 +45,7 @@
+
+
+
++
+
+
+
+--
+2.18.0
+