From 0e78a8c80e5160027627f15bcb2a1d30c0f341de Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Wed, 13 Nov 2024 22:00:10 +0000 Subject: [PATCH 01/10] Enable Signing in Repos that Override Build Actions --- src/SourceBuild/content/repo-projects/aspnetcore.proj | 1 + src/SourceBuild/content/repo-projects/fsharp.proj | 1 + src/SourceBuild/content/repo-projects/roslyn.proj | 1 + 3 files changed, 3 insertions(+) diff --git a/src/SourceBuild/content/repo-projects/aspnetcore.proj b/src/SourceBuild/content/repo-projects/aspnetcore.proj index e32f71255066..5b266f3a6eba 100644 --- a/src/SourceBuild/content/repo-projects/aspnetcore.proj +++ b/src/SourceBuild/content/repo-projects/aspnetcore.proj @@ -5,6 +5,7 @@ $(ProjectDirectory)eng\build$(ShellExtension) $(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish + $(BuildActions) $(FlagParameterPrefix)sign $(BuildActions) -NativeToolsOnMachine diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index b0b4db94ce37..af11e107c411 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -8,6 +8,7 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish + $(BuildActions) $(FlagParameterPrefix)sign $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:GenerateResourceUsePreserializedResources=true diff --git a/src/SourceBuild/content/repo-projects/roslyn.proj b/src/SourceBuild/content/repo-projects/roslyn.proj index b5df8da7286d..f15e61517796 100644 --- a/src/SourceBuild/content/repo-projects/roslyn.proj +++ b/src/SourceBuild/content/repo-projects/roslyn.proj @@ -7,6 +7,7 @@ $(FlagParameterPrefix)restore $(BuildActions) $(FlagParameterPrefix)pack $(BuildActions) $(FlagParameterPrefix)publish + $(BuildActions) $(FlagParameterPrefix)sign $(ProjectDirectory)build$(ShellExtension) From 4fed5a3acbedb056a3a1c1a82976edf5f7d09506 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Wed, 13 Nov 2024 22:13:00 +0000 Subject: [PATCH 02/10] Only sign when DotNetBuildSourceOnly != true --- src/SourceBuild/content/repo-projects/fsharp.proj | 2 +- src/SourceBuild/content/repo-projects/roslyn.proj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index af11e107c411..72f15b20f528 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -8,7 +8,7 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + $(BuildActions) $(FlagParameterPrefix)sign $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:GenerateResourceUsePreserializedResources=true diff --git a/src/SourceBuild/content/repo-projects/roslyn.proj b/src/SourceBuild/content/repo-projects/roslyn.proj index f15e61517796..2c04228a27f6 100644 --- a/src/SourceBuild/content/repo-projects/roslyn.proj +++ b/src/SourceBuild/content/repo-projects/roslyn.proj @@ -7,7 +7,7 @@ $(FlagParameterPrefix)restore $(BuildActions) $(FlagParameterPrefix)pack $(BuildActions) $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + $(BuildActions) $(FlagParameterPrefix)sign $(ProjectDirectory)build$(ShellExtension) From 9ef5b628515022996c424841459000de59d3de2c Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Thu, 14 Nov 2024 00:14:52 +0000 Subject: [PATCH 03/10] Pass msbuild sign prop to fsharp --- src/SourceBuild/content/repo-projects/fsharp.proj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index 72f15b20f528..5a816bd5bad5 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -8,7 +8,11 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + + + $(BuildArgs) /p:Sign=true $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:GenerateResourceUsePreserializedResources=true From 6e21b96588762d539b06aea7981e555f5bb5ccc6 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Tue, 19 Nov 2024 18:56:39 +0000 Subject: [PATCH 04/10] Add fsharp patch --- .../fsharp/0001-Add-sign-to-build.sh.patch | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch diff --git a/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch b/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch new file mode 100644 index 000000000000..326acaff2433 --- /dev/null +++ b/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch @@ -0,0 +1,49 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ella Hathaway +Date: Mon, 18 Nov 2024 18:03:43 +0000 +Subject: [PATCH] Add -sign to build.sh + +Backport: https://github.com/dotnet/fsharp/pull/18024 + +--- + eng/build.sh | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/eng/build.sh b/eng/build.sh +index c4abb23f6..e6e27732c 100755 +--- a/eng/build.sh ++++ b/eng/build.sh +@@ -20,6 +20,7 @@ usage() + echo " --rebuild Rebuild all projects" + echo " --pack Build nuget packages" + echo " --publish Publish build artifacts" ++ echo " --sign Sign build artifacts" + echo " --help Print help and exit" + echo "" + echo "Test actions:" +@@ -58,6 +59,7 @@ build=false + rebuild=false + pack=false + publish=false ++sign=false + test_core_clr=false + test_compilercomponent_tests=false + test_benchmarks=false +@@ -129,6 +131,9 @@ while [[ $# > 0 ]]; do + --publish) + publish=true + ;; ++ --sign) ++ sign=true ++ ;; + --testcoreclr|--test|-t) + test_core_clr=true + ;; +@@ -297,6 +302,7 @@ function BuildSolution { + /p:Rebuild=$rebuild \ + /p:Pack=$pack \ + /p:Publish=$publish \ ++ /p:Sign=$sign \ + /p:UseRoslynAnalyzers=$enable_analyzers \ + /p:ContinuousIntegrationBuild=$ci \ + /p:QuietRestore=$quiet_restore \ From b521059bc9ec0fbb8b17ca4d4e0bf211cb4f3e19 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Wed, 20 Nov 2024 20:43:59 +0000 Subject: [PATCH 05/10] Remove sign prop from fsharp --- src/SourceBuild/content/repo-projects/fsharp.proj | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index 5a816bd5bad5..72f15b20f528 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -8,11 +8,7 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish - - - $(BuildArgs) /p:Sign=true + $(BuildActions) $(FlagParameterPrefix)sign $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:GenerateResourceUsePreserializedResources=true From 90c2c0db7a3df7fdce5d672a8987307749808fdb Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Mon, 2 Dec 2024 18:54:47 +0000 Subject: [PATCH 06/10] Remove fsharp patch --- .../fsharp/0001-Add-sign-to-build.sh.patch | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch diff --git a/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch b/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch deleted file mode 100644 index 326acaff2433..000000000000 --- a/src/SourceBuild/patches/fsharp/0001-Add-sign-to-build.sh.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ella Hathaway -Date: Mon, 18 Nov 2024 18:03:43 +0000 -Subject: [PATCH] Add -sign to build.sh - -Backport: https://github.com/dotnet/fsharp/pull/18024 - ---- - eng/build.sh | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/eng/build.sh b/eng/build.sh -index c4abb23f6..e6e27732c 100755 ---- a/eng/build.sh -+++ b/eng/build.sh -@@ -20,6 +20,7 @@ usage() - echo " --rebuild Rebuild all projects" - echo " --pack Build nuget packages" - echo " --publish Publish build artifacts" -+ echo " --sign Sign build artifacts" - echo " --help Print help and exit" - echo "" - echo "Test actions:" -@@ -58,6 +59,7 @@ build=false - rebuild=false - pack=false - publish=false -+sign=false - test_core_clr=false - test_compilercomponent_tests=false - test_benchmarks=false -@@ -129,6 +131,9 @@ while [[ $# > 0 ]]; do - --publish) - publish=true - ;; -+ --sign) -+ sign=true -+ ;; - --testcoreclr|--test|-t) - test_core_clr=true - ;; -@@ -297,6 +302,7 @@ function BuildSolution { - /p:Rebuild=$rebuild \ - /p:Pack=$pack \ - /p:Publish=$publish \ -+ /p:Sign=$sign \ - /p:UseRoslynAnalyzers=$enable_analyzers \ - /p:ContinuousIntegrationBuild=$ci \ - /p:QuietRestore=$quiet_restore \ From a8b7fb54fbfc38c9d61b05b2968eb8810a79e552 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Thu, 5 Dec 2024 22:25:25 +0000 Subject: [PATCH 07/10] Add fsharp patch to allow empty ItemsToSign list --- ...sToSign-when-building-VisualFSharp-w.patch | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch diff --git a/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch b/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch new file mode 100644 index 000000000000..693051e65e0e --- /dev/null +++ b/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch @@ -0,0 +1,30 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ella Hathaway +Date: Thu, 5 Dec 2024 22:22:05 +0000 +Subject: [PATCH] Allow empty ItemsToSign when building VisualFSharp with core + msbuild + +Backport: https://github.com/dotnet/fsharp/pull/18109 + +--- + eng/Signing.props | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/eng/Signing.props b/eng/Signing.props +index 222ad3dc4..b3c572a47 100644 +--- a/eng/Signing.props ++++ b/eng/Signing.props +@@ -1,5 +1,13 @@ + + ++ ++ ++ true ++ ++ + + + From 5792a5a9c3755b8f91ac48e1794daee2875141c9 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Fri, 6 Dec 2024 18:39:30 +0000 Subject: [PATCH 08/10] Remove fsharp patch --- ...sToSign-when-building-VisualFSharp-w.patch | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch diff --git a/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch b/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch deleted file mode 100644 index 693051e65e0e..000000000000 --- a/src/SourceBuild/patches/fsharp/0001-Allow-empty-ItemsToSign-when-building-VisualFSharp-w.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ella Hathaway -Date: Thu, 5 Dec 2024 22:22:05 +0000 -Subject: [PATCH] Allow empty ItemsToSign when building VisualFSharp with core - msbuild - -Backport: https://github.com/dotnet/fsharp/pull/18109 - ---- - eng/Signing.props | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/eng/Signing.props b/eng/Signing.props -index 222ad3dc4..b3c572a47 100644 ---- a/eng/Signing.props -+++ b/eng/Signing.props -@@ -1,5 +1,13 @@ - - -+ -+ -+ true -+ -+ - - - From 9753b8d08b1ca90e792438b7755322292655badf Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Fri, 6 Dec 2024 18:50:20 +0000 Subject: [PATCH 09/10] Pass -noVisualStudio on windows when building wiht core msbuild --- src/SourceBuild/content/repo-projects/fsharp.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index 72f15b20f528..47cff7816447 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -9,6 +9,9 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish $(BuildActions) $(FlagParameterPrefix)sign + + + $(BuildActions) $(FlagParameterPrefix)noVisualStudio $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:GenerateResourceUsePreserializedResources=true From b8dc8d637b3a21baf61fec499e31ffd0bac09580 Mon Sep 17 00:00:00 2001 From: Ella Hathaway Date: Mon, 16 Dec 2024 19:08:29 +0000 Subject: [PATCH 10/10] Assume we won't sign in SB only mode --- src/SourceBuild/content/repo-projects/aspnetcore.proj | 2 +- src/SourceBuild/content/repo-projects/fsharp.proj | 2 +- src/SourceBuild/content/repo-projects/roslyn.proj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/aspnetcore.proj b/src/SourceBuild/content/repo-projects/aspnetcore.proj index 7327fd6e2bf4..23b97ea1b3b4 100644 --- a/src/SourceBuild/content/repo-projects/aspnetcore.proj +++ b/src/SourceBuild/content/repo-projects/aspnetcore.proj @@ -5,7 +5,7 @@ $(ProjectDirectory)eng\build$(ShellExtension) $(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + $(BuildActions) $(FlagParameterPrefix)sign $(BuildActions) -NativeToolsOnMachine diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index 47cff7816447..1070e88b9430 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -8,7 +8,7 @@ $(FlagParameterPrefix)pack $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + $(BuildActions) $(FlagParameterPrefix)sign $(BuildActions) $(FlagParameterPrefix)noVisualStudio diff --git a/src/SourceBuild/content/repo-projects/roslyn.proj b/src/SourceBuild/content/repo-projects/roslyn.proj index f20eb7438bee..36a0b85db7e3 100644 --- a/src/SourceBuild/content/repo-projects/roslyn.proj +++ b/src/SourceBuild/content/repo-projects/roslyn.proj @@ -7,7 +7,7 @@ $(FlagParameterPrefix)restore $(BuildActions) $(FlagParameterPrefix)pack $(BuildActions) $(FlagParameterPrefix)publish - $(BuildActions) $(FlagParameterPrefix)sign + $(BuildActions) $(FlagParameterPrefix)sign $(ProjectDirectory)build$(ShellExtension)