diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 6bc405d402aafd..0f8143010c2a07 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -6,88 +6,88 @@ This file should be imported by eng/Versions.props - 5.6.0-2.26165.107 - 5.6.0-2.26165.107 - 5.6.0-2.26165.107 - 11.0.100-preview.3.26165.107 - 11.0.100-preview.3.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 0.11.5-preview.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 11.0.0-beta.26165.107 - 2.9.3-beta.26165.107 - 2.9.3-beta.26165.107 - 11.0.0-beta.26165.107 - 5.6.0-2.26165.107 - 11.0.0-preview.3.26165.107 - 11.0.100-preview.3.26165.107 - 11.0.0-preview.3.26165.107 - 11.0.0-preview.3.26165.107 - 7.6.0-rc.16607 - 7.6.0-rc.16607 - 7.6.0-rc.16607 - 7.6.0-rc.16607 - 11.0.0-preview.3.26165.107 - 3.0.0-preview.3.26165.107 - 11.0.0-preview.3.26165.107 - 11.0.0-preview.3.26165.107 - 11.0.0-preview.3.26165.107 + 5.6.0-2.26166.111 + 5.6.0-2.26166.111 + 5.6.0-2.26166.111 + 11.0.100-preview.3.26166.111 + 11.0.100-preview.3.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 0.11.5-preview.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 11.0.0-beta.26166.111 + 2.9.3-beta.26166.111 + 2.9.3-beta.26166.111 + 11.0.0-beta.26166.111 + 5.6.0-2.26166.111 + 11.0.0-preview.3.26166.111 + 11.0.100-preview.3.26166.111 + 11.0.0-preview.3.26166.111 + 11.0.0-preview.3.26166.111 + 7.6.0-rc.16711 + 7.6.0-rc.16711 + 7.6.0-rc.16711 + 7.6.0-rc.16711 + 11.0.0-preview.3.26166.111 + 3.0.0-preview.3.26166.111 + 11.0.0-preview.3.26166.111 + 11.0.0-preview.3.26166.111 + 11.0.0-preview.3.26166.111 11.0.0-alpha.0.25625.1 11.0.0-alpha.1.26128.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 - 19.1.0-alpha.1.26152.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 + 19.1.0-alpha.1.26159.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 - 11.0.0-alpha.1.26152.1 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 + 11.0.0-alpha.1.26159.2 1.0.0-prerelease.26080.1 1.0.0-prerelease.26080.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f953b8e1b1ed0b..fd185341e1db47 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,127 +1,127 @@ - + https://github.com/dotnet/icu 62bd07d81fecda4ae8a90919755e1acc9591e9e8 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c https://github.com/dotnet/runtime-assets @@ -175,117 +175,117 @@ https://github.com/dotnet/runtime-assets 027a725187a44e48327b7f8a0e181b9b9c036ae7 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/llvm-project - 07cf3afbd65f821dc9aec958aab04fa37fdce2ec + 2098c63f212ffbb4bcfaa87f6b9669228a72d0d2 - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c https://github.com/dotnet/xharness @@ -299,9 +299,9 @@ https://github.com/dotnet/xharness c32a7777a0f8f7a4fc8d9920d445f5f4b5658d38 - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -327,29 +327,29 @@ https://github.com/dotnet/runtime-assets 027a725187a44e48327b7f8a0e181b9b9c036ae7 - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -361,53 +361,53 @@ - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/dotnet - 5ff448a6425ec6980e08b5c9a35e454c8a843c35 + 3ccdcc4cf9b93bf3504275d4506144cf68c15b2c - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 - + https://github.com/dotnet/node - ccd4ce0d5f2660b91cc3237d58a1491c937321e1 + f1c9975c8cda8b8703504e0e56f7724e71656001 https://github.com/dotnet/runtime-assets diff --git a/eng/common/core-templates/jobs/codeql-build.yml b/eng/common/core-templates/jobs/codeql-build.yml deleted file mode 100644 index dbc14ac580a271..00000000000000 --- a/eng/common/core-templates/jobs/codeql-build.yml +++ /dev/null @@ -1,32 +0,0 @@ -parameters: - # See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md - continueOnError: false - # Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job - jobs: [] - # Optional: if specified, restore and use this version of Guardian instead of the default. - overrideGuardianVersion: '' - is1ESPipeline: '' - -jobs: -- template: /eng/common/core-templates/jobs/jobs.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - enableMicrobuild: false - enablePublishBuildArtifacts: false - enablePublishTestResults: false - enablePublishBuildAssets: false - enableTelemetry: true - - variables: - - group: Publish-Build-Assets - # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in - # sync with the packages.config file. - - name: DefaultGuardianVersion - value: 0.109.0 - - name: GuardianPackagesConfigFile - value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config - - name: GuardianVersion - value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }} - - jobs: ${{ parameters.jobs }} - diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 88806f1e508eda..c5ece185006304 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -50,16 +50,6 @@ parameters: type: boolean default: false -- name: SDLValidationParameters - type: object - default: - enable: false - publishGdn: false - continueOnError: false - params: '' - artifactNames: '' - downloadArtifacts: true - - name: isAssetlessBuild type: boolean displayName: Is Assetless Build @@ -103,7 +93,7 @@ parameters: default: false stages: -- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: +- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}: - stage: Validate dependsOn: ${{ parameters.validateDependsOn }} displayName: Validate Build Assets @@ -268,7 +258,7 @@ stages: - ${{ if ne(parameters.publishAssetsImmediately, 'true') }}: - stage: publish_using_darc - ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: + ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}: dependsOn: ${{ parameters.publishDependsOn }} ${{ else }}: dependsOn: ${{ parameters.validateDependsOn }} diff --git a/eng/common/core-templates/stages/renovate.yml b/eng/common/core-templates/stages/renovate.yml index 383e397e5d3d0c..6844616f491a85 100644 --- a/eng/common/core-templates/stages/renovate.yml +++ b/eng/common/core-templates/stages/renovate.yml @@ -76,7 +76,7 @@ extends: - stage: Renovate displayName: Run Renovate jobs: - - template: /eng/common/core-templates/job/renovate.yml@self + - template: /eng/common/core-templates/job/renovate.yml parameters: renovateConfigPath: ${{ parameters.renovateConfigPath }} gitHubRepo: ${{ parameters.gitHubRepo }} diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml index 4f4b56ed2a6bbd..76a54e157fda55 100644 --- a/eng/common/core-templates/steps/install-microbuild.yml +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -73,7 +73,7 @@ steps: # YAML expansion, and Windows vs. Linux/Mac uses different service connections. However, # we can avoid including the MB install step if not enabled at all. This avoids a bunch of # extra pipeline authorizations, since most pipelines do not sign on non-Windows. - - template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self + - template: /eng/common/core-templates/steps/install-microbuild-impl.yml parameters: enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} microbuildTaskInputs: @@ -95,7 +95,7 @@ steps: condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: - - template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self + - template: /eng/common/core-templates/steps/install-microbuild-impl.yml parameters: enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} microbuildTaskInputs: diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index abbb851415445a..314c93c57598d8 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -86,10 +86,10 @@ __FreeBSDPackages+=" krb5" __FreeBSDPackages+=" terminfo-db" __OpenBSDVersion="7.8" +__OpenBSDPackages="heimdal-libs" __OpenBSDPackages+=" icu4c" __OpenBSDPackages+=" inotify-tools" __OpenBSDPackages+=" openssl" -__OpenBSDPackages+=" heimdal-libs" __IllumosPackages="icu" __IllumosPackages+=" mit-krb5" @@ -632,19 +632,40 @@ elif [[ "$__CodeName" == "openbsd" ]]; then echo "Installing packages into sysroot..." + # Fetch package index once + if [[ "$__hasWget" == 1 ]]; then + PKG_INDEX=$(wget -qO- "$PKG_MIRROR/") + else + PKG_INDEX=$(curl -s "$PKG_MIRROR/") + fi + for pkg in $__OpenBSDPackages; do - echo "Resolving package filename for $pkg..." + PKG_FILE=$(echo "$PKG_INDEX" | grep -Po ">\K${pkg}-[0-9][^\" ]*\.tgz" \ + | sort -V | tail -n1) + + echo "Resolved package filename for $pkg: $PKG_FILE" + + [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } if [[ "$__hasWget" == 1 ]]; then - PKG_FILE=$(wget -qO- "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1) - [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } wget -O- "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf - else - PKG_FILE=$(curl -s "$PKG_MIRROR/" | grep -Eo "${pkg}-[0-9][^\" ]*\.tgz" | head -n1) - [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } curl -SL "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf - fi done + + echo "Creating versionless symlinks for shared libraries..." + # Find all versioned .so files and create the base .so symlink + for lib in "$__RootfsDir/usr/lib/libc++.so."* "$__RootfsDir/usr/lib/libc++abi.so."* "$__RootfsDir/usr/lib/libpthread.so."*; do + if [ -f "$lib" ]; then + # Extract the filename (e.g., libc++.so.12.0) + VERSIONED_NAME=$(basename "$lib") + # Remove the trailing version numbers (e.g., libc++.so) + BASE_NAME=${VERSIONED_NAME%.so.*}.so + # Create the symlink in the same directory + ln -sf "$VERSIONED_NAME" "$__RootfsDir/usr/lib/$BASE_NAME" + fi + done elif [[ "$__CodeName" == "illumos" ]]; then mkdir "$__RootfsDir/tmp" pushd "$__RootfsDir/tmp" diff --git a/eng/common/native/init-distro-rid.sh b/eng/common/native/init-distro-rid.sh index 83ea7aab0e081c..8fc6d2fec78d2a 100644 --- a/eng/common/native/init-distro-rid.sh +++ b/eng/common/native/init-distro-rid.sh @@ -39,6 +39,8 @@ getNonPortableDistroRid() # $rootfsDir can be empty. freebsd-version is a shell script and should always work. __freebsd_major_version=$("$rootfsDir"/bin/freebsd-version | cut -d'.' -f1) nonPortableRid="freebsd.$__freebsd_major_version-${targetArch}" + elif [ "$targetOs" = "openbsd" ]; then + nonPortableRid="openbsd.$(uname -r)-${targetArch}" elif command -v getprop >/dev/null && getprop ro.product.system.model | grep -qi android; then __android_sdk_version=$(getprop ro.build.version.sdk) nonPortableRid="android.$__android_sdk_version-${targetArch}" diff --git a/eng/common/sdl/NuGet.config b/eng/common/sdl/NuGet.config deleted file mode 100644 index 3849bdb3cf51e8..00000000000000 --- a/eng/common/sdl/NuGet.config +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/eng/common/sdl/configure-sdl-tool.ps1 b/eng/common/sdl/configure-sdl-tool.ps1 deleted file mode 100644 index 27f5a4115fc741..00000000000000 --- a/eng/common/sdl/configure-sdl-tool.ps1 +++ /dev/null @@ -1,130 +0,0 @@ -Param( - [string] $GuardianCliLocation, - [string] $WorkingDirectory, - [string] $TargetDirectory, - [string] $GdnFolder, - # The list of Guardian tools to configure. For each object in the array: - # - If the item is a [hashtable], it must contain these entries: - # - Name = The tool name as Guardian knows it. - # - Scenario = (Optional) Scenario-specific name for this configuration entry. It must be unique - # among all tool entries with the same Name. - # - Args = (Optional) Array of Guardian tool configuration args, like '@("Target > C:\temp")' - # - If the item is a [string] $v, it is treated as '@{ Name="$v" }' - [object[]] $ToolsList, - [string] $GuardianLoggerLevel='Standard', - # Optional: Additional params to add to any tool using CredScan. - [string[]] $CrScanAdditionalRunConfigParams, - # Optional: Additional params to add to any tool using PoliCheck. - [string[]] $PoliCheckAdditionalRunConfigParams, - # Optional: Additional params to add to any tool using CodeQL/Semmle. - [string[]] $CodeQLAdditionalRunConfigParams, - # Optional: Additional params to add to any tool using Binskim. - [string[]] $BinskimAdditionalRunConfigParams -) - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 -$disableConfigureToolsetImport = $true -$global:LASTEXITCODE = 0 - -try { - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - # Normalize tools list: all in [hashtable] form with defined values for each key. - $ToolsList = $ToolsList | - ForEach-Object { - if ($_ -is [string]) { - $_ = @{ Name = $_ } - } - - if (-not ($_['Scenario'])) { $_.Scenario = "" } - if (-not ($_['Args'])) { $_.Args = @() } - $_ - } - - Write-Host "List of tools to configure:" - $ToolsList | ForEach-Object { $_ | Out-String | Write-Host } - - # We store config files in the r directory of .gdn - $gdnConfigPath = Join-Path $GdnFolder 'r' - $ValidPath = Test-Path $GuardianCliLocation - - if ($ValidPath -eq $False) - { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Invalid Guardian CLI Location." - ExitWithExitCode 1 - } - - foreach ($tool in $ToolsList) { - # Put together the name and scenario to make a unique key. - $toolConfigName = $tool.Name - if ($tool.Scenario) { - $toolConfigName += "_" + $tool.Scenario - } - - Write-Host "=== Configuring $toolConfigName..." - - $gdnConfigFile = Join-Path $gdnConfigPath "$toolConfigName-configure.gdnconfig" - - # For some tools, add default and automatic args. - switch -Exact ($tool.Name) { - 'credscan' { - if ($targetDirectory) { - $tool.Args += "`"TargetDirectory < $TargetDirectory`"" - } - $tool.Args += "`"OutputType < pre`"" - $tool.Args += $CrScanAdditionalRunConfigParams - } - 'policheck' { - if ($targetDirectory) { - $tool.Args += "`"Target < $TargetDirectory`"" - } - $tool.Args += $PoliCheckAdditionalRunConfigParams - } - {$_ -in 'semmle', 'codeql'} { - if ($targetDirectory) { - $tool.Args += "`"SourceCodeDirectory < $TargetDirectory`"" - } - $tool.Args += $CodeQLAdditionalRunConfigParams - } - 'binskim' { - if ($targetDirectory) { - # Binskim crashes due to specific PDBs. GitHub issue: https://github.com/microsoft/binskim/issues/924. - # We are excluding all `_.pdb` files from the scan. - $tool.Args += "`"Target < $TargetDirectory\**;-:file|$TargetDirectory\**\_.pdb`"" - } - $tool.Args += $BinskimAdditionalRunConfigParams - } - } - - # Create variable pointing to the args array directly so we can use splat syntax later. - $toolArgs = $tool.Args - - # Configure the tool. If args array is provided or the current tool has some default arguments - # defined, add "--args" and splat each element on the end. Arg format is "{Arg id} < {Value}", - # one per parameter. Doc page for "guardian configure": - # https://dev.azure.com/securitytools/SecurityIntegration/_wiki/wikis/Guardian/1395/configure - Exec-BlockVerbosely { - & $GuardianCliLocation configure ` - --working-directory $WorkingDirectory ` - --tool $tool.Name ` - --output-path $gdnConfigFile ` - --logger-level $GuardianLoggerLevel ` - --noninteractive ` - --force ` - $(if ($toolArgs) { "--args" }) @toolArgs - Exit-IfNZEC "Sdl" - } - - Write-Host "Created '$toolConfigName' configuration file: $gdnConfigFile" - } -} -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/sdl/execute-all-sdl-tools.ps1 b/eng/common/sdl/execute-all-sdl-tools.ps1 deleted file mode 100644 index 4715d75e974d3c..00000000000000 --- a/eng/common/sdl/execute-all-sdl-tools.ps1 +++ /dev/null @@ -1,167 +0,0 @@ -Param( - [string] $GuardianPackageName, # Required: the name of guardian CLI package (not needed if GuardianCliLocation is specified) - [string] $NugetPackageDirectory, # Required: directory where NuGet packages are installed (not needed if GuardianCliLocation is specified) - [string] $GuardianCliLocation, # Optional: Direct location of Guardian CLI executable if GuardianPackageName & NugetPackageDirectory are not specified - [string] $Repository=$env:BUILD_REPOSITORY_NAME, # Required: the name of the repository (e.g. dotnet/arcade) - [string] $BranchName=$env:BUILD_SOURCEBRANCH, # Optional: name of branch or version of gdn settings; defaults to master - [string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY, # Required: the directory where source files are located - [string] $ArtifactsDirectory = (Join-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY ('artifacts')), # Required: the directory where build artifacts are located - [string] $AzureDevOpsAccessToken, # Required: access token for dnceng; should be provided via KeyVault - - # Optional: list of SDL tools to run on source code. See 'configure-sdl-tool.ps1' for tools list - # format. - [object[]] $SourceToolsList, - # Optional: list of SDL tools to run on built artifacts. See 'configure-sdl-tool.ps1' for tools - # list format. - [object[]] $ArtifactToolsList, - # Optional: list of SDL tools to run without automatically specifying a target directory. See - # 'configure-sdl-tool.ps1' for tools list format. - [object[]] $CustomToolsList, - - [bool] $TsaPublish=$False, # Optional: true will publish results to TSA; only set to true after onboarding to TSA; TSA is the automated framework used to upload test results as bugs. - [string] $TsaBranchName=$env:BUILD_SOURCEBRANCH, # Optional: required for TSA publish; defaults to $(Build.SourceBranchName); TSA is the automated framework used to upload test results as bugs. - [string] $TsaRepositoryName=$env:BUILD_REPOSITORY_NAME, # Optional: TSA repository name; will be generated automatically if not submitted; TSA is the automated framework used to upload test results as bugs. - [string] $BuildNumber=$env:BUILD_BUILDNUMBER, # Optional: required for TSA publish; defaults to $(Build.BuildNumber) - [bool] $UpdateBaseline=$False, # Optional: if true, will update the baseline in the repository; should only be run after fixing any issues which need to be fixed - [bool] $TsaOnboard=$False, # Optional: if true, will onboard the repository to TSA; should only be run once; TSA is the automated framework used to upload test results as bugs. - [string] $TsaInstanceUrl, # Optional: only needed if TsaOnboard or TsaPublish is true; the instance-url registered with TSA; TSA is the automated framework used to upload test results as bugs. - [string] $TsaCodebaseName, # Optional: only needed if TsaOnboard or TsaPublish is true; the name of the codebase registered with TSA; TSA is the automated framework used to upload test results as bugs. - [string] $TsaProjectName, # Optional: only needed if TsaOnboard or TsaPublish is true; the name of the project registered with TSA; TSA is the automated framework used to upload test results as bugs. - [string] $TsaNotificationEmail, # Optional: only needed if TsaOnboard is true; the email(s) which will receive notifications of TSA bug filings (e.g. alias@microsoft.com); TSA is the automated framework used to upload test results as bugs. - [string] $TsaCodebaseAdmin, # Optional: only needed if TsaOnboard is true; the aliases which are admins of the TSA codebase (e.g. DOMAIN\alias); TSA is the automated framework used to upload test results as bugs. - [string] $TsaBugAreaPath, # Optional: only needed if TsaOnboard is true; the area path where TSA will file bugs in AzDO; TSA is the automated framework used to upload test results as bugs. - [string] $TsaIterationPath, # Optional: only needed if TsaOnboard is true; the iteration path where TSA will file bugs in AzDO; TSA is the automated framework used to upload test results as bugs. - [string] $GuardianLoggerLevel='Standard', # Optional: the logger level for the Guardian CLI; options are Trace, Verbose, Standard, Warning, and Error - [string[]] $CrScanAdditionalRunConfigParams, # Optional: Additional Params to custom build a CredScan run config in the format @("xyz:abc","sdf:1") - [string[]] $PoliCheckAdditionalRunConfigParams, # Optional: Additional Params to custom build a Policheck run config in the format @("xyz:abc","sdf:1") - [string[]] $CodeQLAdditionalRunConfigParams, # Optional: Additional Params to custom build a Semmle/CodeQL run config in the format @("xyz < abc","sdf < 1") - [string[]] $BinskimAdditionalRunConfigParams, # Optional: Additional Params to custom build a Binskim run config in the format @("xyz < abc","sdf < 1") - [bool] $BreakOnFailure=$False # Optional: Fail the build if there were errors during the run -) - -try { - $ErrorActionPreference = 'Stop' - Set-StrictMode -Version 2.0 - $disableConfigureToolsetImport = $true - $global:LASTEXITCODE = 0 - - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - #Replace repo names to the format of org/repo - if (!($Repository.contains('/'))) { - $RepoName = $Repository -replace '(.*?)-(.*)', '$1/$2'; - } - else{ - $RepoName = $Repository; - } - - if ($GuardianPackageName) { - $guardianCliLocation = Join-Path $NugetPackageDirectory (Join-Path $GuardianPackageName (Join-Path 'tools' 'guardian.cmd')) - } else { - $guardianCliLocation = $GuardianCliLocation - } - - $workingDirectory = (Split-Path $SourceDirectory -Parent) - $ValidPath = Test-Path $guardianCliLocation - - if ($ValidPath -eq $False) - { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Invalid Guardian CLI Location.' - ExitWithExitCode 1 - } - - Exec-BlockVerbosely { - & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -AzureDevOpsAccessToken $AzureDevOpsAccessToken -GuardianLoggerLevel $GuardianLoggerLevel - } - $gdnFolder = Join-Path $workingDirectory '.gdn' - - if ($TsaOnboard) { - if ($TsaCodebaseName -and $TsaNotificationEmail -and $TsaCodebaseAdmin -and $TsaBugAreaPath) { - Exec-BlockVerbosely { - & $guardianCliLocation tsa-onboard --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel - } - if ($LASTEXITCODE -ne 0) { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-onboard failed with exit code $LASTEXITCODE." - ExitWithExitCode $LASTEXITCODE - } - } else { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Could not onboard to TSA -- not all required values ($TsaCodebaseName, $TsaNotificationEmail, $TsaCodebaseAdmin, $TsaBugAreaPath) were specified.' - ExitWithExitCode 1 - } - } - - # Configure a list of tools with a default target directory. Populates the ".gdn/r" directory. - function Configure-ToolsList([object[]] $tools, [string] $targetDirectory) { - if ($tools -and $tools.Count -gt 0) { - Exec-BlockVerbosely { - & $(Join-Path $PSScriptRoot 'configure-sdl-tool.ps1') ` - -GuardianCliLocation $guardianCliLocation ` - -WorkingDirectory $workingDirectory ` - -TargetDirectory $targetDirectory ` - -GdnFolder $gdnFolder ` - -ToolsList $tools ` - -AzureDevOpsAccessToken $AzureDevOpsAccessToken ` - -GuardianLoggerLevel $GuardianLoggerLevel ` - -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams ` - -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams ` - -CodeQLAdditionalRunConfigParams $CodeQLAdditionalRunConfigParams ` - -BinskimAdditionalRunConfigParams $BinskimAdditionalRunConfigParams - if ($BreakOnFailure) { - Exit-IfNZEC "Sdl" - } - } - } - } - - # Configure Artifact and Source tools with default Target directories. - Configure-ToolsList $ArtifactToolsList $ArtifactsDirectory - Configure-ToolsList $SourceToolsList $SourceDirectory - # Configure custom tools with no default Target directory. - Configure-ToolsList $CustomToolsList $null - - # At this point, all tools are configured in the ".gdn" directory. Run them all in a single call. - # (If we used "run" multiple times, each run would overwrite data from earlier runs.) - Exec-BlockVerbosely { - & $(Join-Path $PSScriptRoot 'run-sdl.ps1') ` - -GuardianCliLocation $guardianCliLocation ` - -WorkingDirectory $SourceDirectory ` - -UpdateBaseline $UpdateBaseline ` - -GdnFolder $gdnFolder - } - - if ($TsaPublish) { - if ($TsaBranchName -and $BuildNumber) { - if (-not $TsaRepositoryName) { - $TsaRepositoryName = "$($Repository)-$($BranchName)" - } - Exec-BlockVerbosely { - & $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --onboard $True --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel - } - if ($LASTEXITCODE -ne 0) { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-publish failed with exit code $LASTEXITCODE." - ExitWithExitCode $LASTEXITCODE - } - } else { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Could not publish to TSA -- not all required values ($TsaBranchName, $BuildNumber) were specified.' - ExitWithExitCode 1 - } - } - - if ($BreakOnFailure) { - Write-Host "Failing the build in case of breaking results..." - Exec-BlockVerbosely { - & $guardianCliLocation break --working-directory $workingDirectory --logger-level $GuardianLoggerLevel - } - } else { - Write-Host "Letting the build pass even if there were breaking results..." - } -} -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - exit 1 -} diff --git a/eng/common/sdl/extract-artifact-archives.ps1 b/eng/common/sdl/extract-artifact-archives.ps1 deleted file mode 100644 index 68da4fbf257171..00000000000000 --- a/eng/common/sdl/extract-artifact-archives.ps1 +++ /dev/null @@ -1,63 +0,0 @@ -# This script looks for each archive file in a directory and extracts it into the target directory. -# For example, the file "$InputPath/bin.tar.gz" extracts to "$ExtractPath/bin.tar.gz.extracted/**". -# Uses the "tar" utility added to Windows 10 / Windows 2019 that supports tar.gz and zip. -param( - # Full path to directory where archives are stored. - [Parameter(Mandatory=$true)][string] $InputPath, - # Full path to directory to extract archives into. May be the same as $InputPath. - [Parameter(Mandatory=$true)][string] $ExtractPath -) - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 - -$disableConfigureToolsetImport = $true - -try { - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - Measure-Command { - $jobs = @() - - # Find archive files for non-Windows and Windows builds. - $archiveFiles = @( - Get-ChildItem (Join-Path $InputPath "*.tar.gz") - Get-ChildItem (Join-Path $InputPath "*.zip") - ) - - foreach ($targzFile in $archiveFiles) { - $jobs += Start-Job -ScriptBlock { - $file = $using:targzFile - $fileName = [System.IO.Path]::GetFileName($file) - $extractDir = Join-Path $using:ExtractPath "$fileName.extracted" - - New-Item $extractDir -ItemType Directory -Force | Out-Null - - Write-Host "Extracting '$file' to '$extractDir'..." - - # Pipe errors to stdout to prevent PowerShell detecting them and quitting the job early. - # This type of quit skips the catch, so we wouldn't be able to tell which file triggered the - # error. Save output so it can be stored in the exception string along with context. - $output = tar -xf $file -C $extractDir 2>&1 - # Handle NZEC manually rather than using Exit-IfNZEC: we are in a background job, so we - # don't have access to the outer scope. - if ($LASTEXITCODE -ne 0) { - throw "Error extracting '$file': non-zero exit code ($LASTEXITCODE). Output: '$output'" - } - - Write-Host "Extracted to $extractDir" - } - } - - Receive-Job $jobs -Wait - } -} -catch { - Write-Host $_ - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/sdl/extract-artifact-packages.ps1 b/eng/common/sdl/extract-artifact-packages.ps1 deleted file mode 100644 index f031ed5b25e9fa..00000000000000 --- a/eng/common/sdl/extract-artifact-packages.ps1 +++ /dev/null @@ -1,82 +0,0 @@ -param( - [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where artifact packages are stored - [Parameter(Mandatory=$true)][string] $ExtractPath # Full path to directory where the packages will be extracted -) - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 - -$disableConfigureToolsetImport = $true - -function ExtractArtifacts { - if (!(Test-Path $InputPath)) { - Write-Host "Input Path does not exist: $InputPath" - ExitWithExitCode 0 - } - $Jobs = @() - Get-ChildItem "$InputPath\*.nupkg" | - ForEach-Object { - $Jobs += Start-Job -ScriptBlock $ExtractPackage -ArgumentList $_.FullName - } - - foreach ($Job in $Jobs) { - Wait-Job -Id $Job.Id | Receive-Job - } -} - -try { - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - $ExtractPackage = { - param( - [string] $PackagePath # Full path to a NuGet package - ) - - if (!(Test-Path $PackagePath)) { - Write-PipelineTelemetryError -Category 'Build' -Message "Input file does not exist: $PackagePath" - ExitWithExitCode 1 - } - - $RelevantExtensions = @('.dll', '.exe', '.pdb') - Write-Host -NoNewLine 'Extracting ' ([System.IO.Path]::GetFileName($PackagePath)) '...' - - $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath) - $ExtractPath = Join-Path -Path $using:ExtractPath -ChildPath $PackageId - - Add-Type -AssemblyName System.IO.Compression.FileSystem - - [System.IO.Directory]::CreateDirectory($ExtractPath); - - try { - $zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath) - - $zip.Entries | - Where-Object {$RelevantExtensions -contains [System.IO.Path]::GetExtension($_.Name)} | - ForEach-Object { - $TargetPath = Join-Path -Path $ExtractPath -ChildPath (Split-Path -Path $_.FullName) - [System.IO.Directory]::CreateDirectory($TargetPath); - - $TargetFile = Join-Path -Path $ExtractPath -ChildPath $_.FullName - [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, $TargetFile) - } - } - catch { - Write-Host $_ - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 - } - finally { - $zip.Dispose() - } - } - Measure-Command { ExtractArtifacts } -} -catch { - Write-Host $_ - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/sdl/init-sdl.ps1 b/eng/common/sdl/init-sdl.ps1 deleted file mode 100644 index 3ac1d92b37006f..00000000000000 --- a/eng/common/sdl/init-sdl.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -Param( - [string] $GuardianCliLocation, - [string] $Repository, - [string] $BranchName='master', - [string] $WorkingDirectory, - [string] $AzureDevOpsAccessToken, - [string] $GuardianLoggerLevel='Standard' -) - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 -$disableConfigureToolsetImport = $true -$global:LASTEXITCODE = 0 - -# `tools.ps1` checks $ci to perform some actions. Since the SDL -# scripts don't necessarily execute in the same agent that run the -# build.ps1/sh script this variable isn't automatically set. -$ci = $true -. $PSScriptRoot\..\tools.ps1 - -# Don't display the console progress UI - it's a huge perf hit -$ProgressPreference = 'SilentlyContinue' - -# Construct basic auth from AzDO access token; construct URI to the repository's gdn folder stored in that repository; construct location of zip file -$encodedPat = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$AzureDevOpsAccessToken")) -$escapedRepository = [Uri]::EscapeDataString("/$Repository/$BranchName/.gdn") -$uri = "https://dev.azure.com/dnceng/internal/_apis/git/repositories/sdl-tool-cfg/Items?path=$escapedRepository&versionDescriptor[versionOptions]=0&`$format=zip&api-version=5.0" -$zipFile = "$WorkingDirectory/gdn.zip" - -Add-Type -AssemblyName System.IO.Compression.FileSystem -$gdnFolder = (Join-Path $WorkingDirectory '.gdn') - -try { - # if the folder does not exist, we'll do a guardian init and push it to the remote repository - Write-Host 'Initializing Guardian...' - Write-Host "$GuardianCliLocation init --working-directory $WorkingDirectory --logger-level $GuardianLoggerLevel" - & $GuardianCliLocation init --working-directory $WorkingDirectory --logger-level $GuardianLoggerLevel - if ($LASTEXITCODE -ne 0) { - Write-PipelineTelemetryError -Force -Category 'Build' -Message "Guardian init failed with exit code $LASTEXITCODE." - ExitWithExitCode $LASTEXITCODE - } - # We create the mainbaseline so it can be edited later - Write-Host "$GuardianCliLocation baseline --working-directory $WorkingDirectory --name mainbaseline" - & $GuardianCliLocation baseline --working-directory $WorkingDirectory --name mainbaseline - if ($LASTEXITCODE -ne 0) { - Write-PipelineTelemetryError -Force -Category 'Build' -Message "Guardian baseline failed with exit code $LASTEXITCODE." - ExitWithExitCode $LASTEXITCODE - } - ExitWithExitCode 0 -} -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config deleted file mode 100644 index e5f543ea68c270..00000000000000 --- a/eng/common/sdl/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/eng/common/sdl/run-sdl.ps1 b/eng/common/sdl/run-sdl.ps1 deleted file mode 100644 index 2eac8c78f103d1..00000000000000 --- a/eng/common/sdl/run-sdl.ps1 +++ /dev/null @@ -1,49 +0,0 @@ -Param( - [string] $GuardianCliLocation, - [string] $WorkingDirectory, - [string] $GdnFolder, - [string] $UpdateBaseline, - [string] $GuardianLoggerLevel='Standard' -) - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 -$disableConfigureToolsetImport = $true -$global:LASTEXITCODE = 0 - -try { - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - # We store config files in the r directory of .gdn - $gdnConfigPath = Join-Path $GdnFolder 'r' - $ValidPath = Test-Path $GuardianCliLocation - - if ($ValidPath -eq $False) - { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Invalid Guardian CLI Location." - ExitWithExitCode 1 - } - - $gdnConfigFiles = Get-ChildItem $gdnConfigPath -Recurse -Include '*.gdnconfig' - Write-Host "Discovered Guardian config files:" - $gdnConfigFiles | Out-String | Write-Host - - Exec-BlockVerbosely { - & $GuardianCliLocation run ` - --working-directory $WorkingDirectory ` - --baseline mainbaseline ` - --update-baseline $UpdateBaseline ` - --logger-level $GuardianLoggerLevel ` - --config @gdnConfigFiles - Exit-IfNZEC "Sdl" - } -} -catch { - Write-Host $_.ScriptStackTrace - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/sdl/sdl.ps1 b/eng/common/sdl/sdl.ps1 deleted file mode 100644 index 648c5068d7d60f..00000000000000 --- a/eng/common/sdl/sdl.ps1 +++ /dev/null @@ -1,38 +0,0 @@ - -function Install-Gdn { - param( - [Parameter(Mandatory=$true)] - [string]$Path, - - # If omitted, install the latest version of Guardian, otherwise install that specific version. - [string]$Version - ) - - $ErrorActionPreference = 'Stop' - Set-StrictMode -Version 2.0 - $disableConfigureToolsetImport = $true - $global:LASTEXITCODE = 0 - - # `tools.ps1` checks $ci to perform some actions. Since the SDL - # scripts don't necessarily execute in the same agent that run the - # build.ps1/sh script this variable isn't automatically set. - $ci = $true - . $PSScriptRoot\..\tools.ps1 - - $argumentList = @("install", "Microsoft.Guardian.Cli", "-Source https://securitytools.pkgs.visualstudio.com/_packaging/Guardian/nuget/v3/index.json", "-OutputDirectory $Path", "-NonInteractive", "-NoCache") - - if ($Version) { - $argumentList += "-Version $Version" - } - - Start-Process nuget -Verbose -ArgumentList $argumentList -NoNewWindow -Wait - - $gdnCliPath = Get-ChildItem -Filter guardian.cmd -Recurse -Path $Path - - if (!$gdnCliPath) - { - Write-PipelineTelemetryError -Category 'Sdl' -Message 'Failure installing Guardian' - } - - return $gdnCliPath.FullName -} \ No newline at end of file diff --git a/eng/common/sdl/trim-assets-version.ps1 b/eng/common/sdl/trim-assets-version.ps1 deleted file mode 100644 index 0daa2a9e946289..00000000000000 --- a/eng/common/sdl/trim-assets-version.ps1 +++ /dev/null @@ -1,75 +0,0 @@ -<# -.SYNOPSIS -Install and run the 'Microsoft.DotNet.VersionTools.Cli' tool with the 'trim-artifacts-version' command to trim the version from the NuGet assets file name. - -.PARAMETER InputPath -Full path to directory where artifact packages are stored - -.PARAMETER Recursive -Search for NuGet packages recursively - -#> - -Param( - [string] $InputPath, - [bool] $Recursive = $true -) - -$CliToolName = "Microsoft.DotNet.VersionTools.Cli" - -function Install-VersionTools-Cli { - param( - [Parameter(Mandatory=$true)][string]$Version - ) - - Write-Host "Installing the package '$CliToolName' with a version of '$version' ..." - $feed = "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" - - $argumentList = @("tool", "install", "--local", "$CliToolName", "--add-source $feed", "--no-cache", "--version $Version", "--create-manifest-if-needed") - Start-Process "$dotnet" -Verbose -ArgumentList $argumentList -NoNewWindow -Wait -} - -# ------------------------------------------------------------------- - -if (!(Test-Path $InputPath)) { - Write-Host "Input Path '$InputPath' does not exist" - ExitWithExitCode 1 -} - -$ErrorActionPreference = 'Stop' -Set-StrictMode -Version 2.0 - -$disableConfigureToolsetImport = $true -$global:LASTEXITCODE = 0 - -# `tools.ps1` checks $ci to perform some actions. Since the SDL -# scripts don't necessarily execute in the same agent that run the -# build.ps1/sh script this variable isn't automatically set. -$ci = $true -. $PSScriptRoot\..\tools.ps1 - -try { - $dotnetRoot = InitializeDotNetCli -install:$true - $dotnet = "$dotnetRoot\dotnet.exe" - - $toolsetVersion = Read-ArcadeSdkVersion - Install-VersionTools-Cli -Version $toolsetVersion - - $cliToolFound = (& "$dotnet" tool list --local | Where-Object {$_.Split(' ')[0] -eq $CliToolName}) - if ($null -eq $cliToolFound) { - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "The '$CliToolName' tool is not installed." - ExitWithExitCode 1 - } - - Exec-BlockVerbosely { - & "$dotnet" $CliToolName trim-assets-version ` - --assets-path $InputPath ` - --recursive $Recursive - Exit-IfNZEC "Sdl" - } -} -catch { - Write-Host $_ - Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_ - ExitWithExitCode 1 -} diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md index 4bf4cf41bd7c76..cdc62e72b07772 100644 --- a/eng/common/template-guidance.md +++ b/eng/common/template-guidance.md @@ -71,7 +71,6 @@ eng\common\ source-build.yml (shim) source-index-stage1.yml (shim) jobs\ - codeql-build.yml (shim) jobs.yml (shim) source-build.yml (shim) post-build\ @@ -89,7 +88,6 @@ eng\common\ source-build.yml (shim) variables\ pool-providers.yml (logic + redirect) # templates/variables/pool-providers.yml will redirect to templates-official/variables/pool-providers.yml if you are running in the internal project - sdl-variables.yml (logic) core-templates\ job\ job.yml (logic) @@ -98,7 +96,6 @@ eng\common\ source-build.yml (logic) source-index-stage1.yml (logic) jobs\ - codeql-build.yml (logic) jobs.yml (logic) source-build.yml (logic) post-build\ diff --git a/eng/common/templates-official/jobs/codeql-build.yml b/eng/common/templates-official/jobs/codeql-build.yml deleted file mode 100644 index a726322ecfe016..00000000000000 --- a/eng/common/templates-official/jobs/codeql-build.yml +++ /dev/null @@ -1,7 +0,0 @@ -jobs: -- template: /eng/common/core-templates/jobs/codeql-build.yml - parameters: - is1ESPipeline: true - - ${{ each parameter in parameters }}: - ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/variables/sdl-variables.yml b/eng/common/templates-official/variables/sdl-variables.yml deleted file mode 100644 index f1311bbb1b33d9..00000000000000 --- a/eng/common/templates-official/variables/sdl-variables.yml +++ /dev/null @@ -1,7 +0,0 @@ -variables: -# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in -# sync with the packages.config file. -- name: DefaultGuardianVersion - value: 0.109.0 -- name: GuardianPackagesConfigFile - value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config \ No newline at end of file diff --git a/eng/common/templates/jobs/codeql-build.yml b/eng/common/templates/jobs/codeql-build.yml deleted file mode 100644 index 517f24d6a52ce7..00000000000000 --- a/eng/common/templates/jobs/codeql-build.yml +++ /dev/null @@ -1,7 +0,0 @@ -jobs: -- template: /eng/common/core-templates/jobs/codeql-build.yml - parameters: - is1ESPipeline: false - - ${{ each parameter in parameters }}: - ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 01296ee601dc30..e9adff89e98f2c 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -295,6 +295,8 @@ function InstallDotNet([string] $dotnetRoot, $dotnetVersionLabel = "'sdk v$version'" + # For performance this check is duplicated in src/Microsoft.DotNet.Arcade.Sdk/src/InstallDotNetCore.cs + # if you are making changes here, consider if you need to make changes there as well. if ($runtime -ne '' -and $runtime -ne 'sdk') { $runtimePath = $dotnetRoot $runtimePath = $runtimePath + "\shared" diff --git a/eng/common/tools.sh b/eng/common/tools.sh index edc7b128cf651c..a564925507581d 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -184,6 +184,8 @@ function InstallDotNet { local version=$2 local runtime=$4 + # For performance this check is duplicated in src/Microsoft.DotNet.Arcade.Sdk/src/InstallDotNetCore.cs + # if you are making changes here, consider if you need to make changes there as well. local dotnetVersionLabel="'$runtime v$version'" if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then runtimePath="$root" diff --git a/global.json b/global.json index 4d6b61328eb401..f284cc45834019 100644 --- a/global.json +++ b/global.json @@ -8,11 +8,11 @@ "dotnet": "11.0.100-preview.3.26161.119" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26165.107", - "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26165.107", - "Microsoft.DotNet.SharedFramework.Sdk": "11.0.0-beta.26165.107", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26166.111", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26166.111", + "Microsoft.DotNet.SharedFramework.Sdk": "11.0.0-beta.26166.111", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.NET.Sdk.IL": "11.0.0-preview.3.26165.107" + "Microsoft.NET.Sdk.IL": "11.0.0-preview.3.26166.111" } }