diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml
index b2c9c1a4cc06..33b1a3c483fa 100644
--- a/.azure/pipelines/helix-matrix.yml
+++ b/.azure/pipelines/helix-matrix.yml
@@ -12,7 +12,6 @@ schedules:
branches:
include:
- release/6.0
- - release/7.0
- release/8.0
always: false
diff --git a/.azure/pipelines/identitymodel-helix-matrix.yml b/.azure/pipelines/identitymodel-helix-matrix.yml
new file mode 100644
index 000000000000..55f0f8dd8063
--- /dev/null
+++ b/.azure/pipelines/identitymodel-helix-matrix.yml
@@ -0,0 +1,101 @@
+# We only want to run IdentityModel matrix on main
+pr: none
+trigger: none
+schedules:
+# Cron timezone is UTC.
+- cron: "0 */12 * * *"
+ branches:
+ include:
+ - release/8.0
+ always: true
+
+variables:
+- name: _UseHelixOpenQueues
+ value: false
+- group: DotNet-HelixApi-Access
+- template: /eng/common/templates-official/variables/pool-providers.yml@self
+
+resources:
+ repositories:
+ # Repo: 1ESPipelineTemplates/1ESPipelineTemplates
+ - repository: 1esPipelines
+ type: git
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
+ ref: refs/tags/release
+
+extends:
+ template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
+ parameters:
+ sdl:
+ sourceAnalysisPool:
+ name: NetCore1ESPool-Svc-Internal
+ image: 1es-windows-2022
+ os: windows
+ codeql:
+ compiled:
+ enabled: false
+ justificationForDisabling: 'This is a test-only pipeline. The same product code is already scanned in the main pipeline (aspnetcore-ci)'
+
+ stages:
+ - stage: build
+ displayName: Build
+ jobs:
+ - template: .azure/pipelines/jobs/default-build.yml@self
+ parameters:
+ jobName: IdentityModel_helix_matrix_x64
+ jobDisplayName: 'Tests: IdentityModel nightlies helix full matrix x64'
+ agentOs: Windows
+ timeoutInMinutes: 300
+ steps:
+ - task: NuGetAuthenticate@1
+ inputs:
+ forceReinstallCredentialProvider: true
+ - task: NuGetCommand@2
+ displayName: Install Microsoft.IdentityModel.Logging
+ inputs:
+ command: 'custom'
+ arguments: 'install Microsoft.IdentityModel.Logging
+ -Source https://pkgs.dev.azure.com/dnceng/internal/_packaging/identitymodel-nightlies/nuget/v3/index.json
+ -DependencyVersion Highest -OutputDirectory $(Build.StagingDirectory) -PreRelease'
+ - task: NuGetCommand@2
+ displayName: Install Microsoft.IdentityModel.Protocols.OpenIdConnect
+ inputs:
+ command: 'custom'
+ arguments: 'install Microsoft.IdentityModel.Protocols.OpenIdConnect
+ -Source https://pkgs.dev.azure.com/dnceng/internal/_packaging/identitymodel-nightlies/nuget/v3/index.json
+ -DependencyVersion Highest -OutputDirectory $(Build.StagingDirectory) -PreRelease'
+ - task: NuGetCommand@2
+ displayName: Install Microsoft.IdentityModel.Protocols.WsFederation
+ inputs:
+ command: 'custom'
+ arguments: 'install Microsoft.IdentityModel.Protocols.WsFederation
+ -Source https://pkgs.dev.azure.com/dnceng/internal/_packaging/identitymodel-nightlies/nuget/v3/index.json
+ -DependencyVersion Highest -OutputDirectory $(Build.StagingDirectory) -PreRelease'
+ - task: NuGetCommand@2
+ displayName: System.IdentityModel.Tokens.Jwt
+ inputs:
+ command: 'custom'
+ arguments: 'install System.IdentityModel.Tokens.Jwt
+ -Source https://pkgs.dev.azure.com/dnceng/internal/_packaging/identitymodel-nightlies/nuget/v3/index.json
+ -DependencyVersion Highest -OutputDirectory $(Build.StagingDirectory) -PreRelease'
+ - task: PowerShell@2
+ displayName: Add IdentityModel feel to NuGet.config
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/scripts/SetupIdentitySources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -IdentityModelPackageSource $(Build.StagingDirectory)
+ # Build the shared framework
+ - script: ./eng/build.cmd -ci -nobl -all -pack -arch x64
+ /p:CrossgenOutput=false /p:IsIdentityModelTestJob=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
+ displayName: Build shared fx
+ # -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.
+ - script: .\eng\build.cmd -ci -nobl -all -noBuildRepoTasks -noBuildNative -noBuild -test
+ -projects eng\helix\helix.proj /p:IsHelixJob=true /p:RunTemplateTests=false
+ /p:CrossgenOutput=false /p:IsIdentityModelTestJob=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
+ displayName: Run build.cmd helix target
+ env:
+ HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
+ artifacts:
+ - name: Helix_logs
+ path: artifacts/log/
+ publishOnError: true
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index 9ae6760c645e..d080a9e0fb8e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -117,6 +117,8 @@
$(NoWarn.Replace('1591', ''))
$(NoWarn);0105
+
+ $(NoWarn);NU5104
$(WarningsNotAsErrors);CS1591
diff --git a/eng/Versions.props b/eng/Versions.props
index d5cfe172142d..c403cd48e0fa 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -12,7 +12,8 @@
false
- 7.1.2
+ 7.1.2
+ *-*
diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj
index 73ed73a32068..99254551279f 100644
--- a/eng/helix/helix.proj
+++ b/eng/helix/helix.proj
@@ -21,7 +21,7 @@
-
+
diff --git a/eng/scripts/SetupIdentitySources.ps1 b/eng/scripts/SetupIdentitySources.ps1
new file mode 100644
index 000000000000..58a4e690d7b1
--- /dev/null
+++ b/eng/scripts/SetupIdentitySources.ps1
@@ -0,0 +1,46 @@
+[CmdletBinding()]
+param (
+ [Parameter(Mandatory = $true)][string]$ConfigFile,
+ [Parameter(Mandatory = $true)][string]$IdentityModelPackageSource
+)
+
+$ErrorActionPreference = "Stop"
+Set-StrictMode -Version 2.0
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+
+# Add source entry to PackageSources
+function AddPackageSource($sources, $SourceName, $SourceEndPoint) {
+ $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
+
+ if ($packageSource -eq $null)
+ {
+ $packageSource = $doc.CreateElement("add")
+ $packageSource.SetAttribute("key", $SourceName)
+ $packageSource.SetAttribute("value", $SourceEndPoint)
+ $sources.AppendChild($packageSource) | Out-Null
+ }
+ else {
+ Write-Host "Package source $SourceName already present."
+ }
+}
+
+if (!(Test-Path $ConfigFile -PathType Leaf)) {
+ Write-PipelineTelemetryError -Category 'Build' -Message "eng/scripts/SetupIdentitySources.ps1 returned a non-zero exit code. Couldn't find the NuGet config file: $ConfigFile"
+ ExitWithExitCode 1
+}
+
+# Load NuGet.config
+$doc = New-Object System.Xml.XmlDocument
+$filename = (Get-Item $ConfigFile).FullName
+$doc.Load($filename)
+
+# Get reference to or create one if none exist already
+$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
+if ($sources -eq $null) {
+ $sources = $doc.CreateElement("packageSources")
+ $doc.DocumentElement.AppendChild($sources) | Out-Null
+}
+
+AddPackageSource -Sources $sources -SourceName "identitymodel-nightlies" -SourceEndPoint $IdentityModelPackageSource
+
+$doc.Save($filename)
\ No newline at end of file
diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets
index 35c116026c62..ee73eb8ac8a3 100644
--- a/eng/targets/Helix.targets
+++ b/eng/targets/Helix.targets
@@ -141,7 +141,7 @@
<_Temp Include="@(HelixAvailableTargetQueue)" />
-
+
diff --git a/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
index 368459e98c90..1db85d5286fe 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.Tests/Templates.Blazor.Tests.csproj
@@ -9,6 +9,7 @@
true
$(RunTemplateTests)
true
+ false
diff --git a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
index 3754aee3abd4..3d0831a1001a 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Auth.Tests/Templates.Blazor.WebAssembly.Auth.Tests.csproj
@@ -9,6 +9,7 @@
true
true
+ false
diff --git a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
index 44348f90847a..b42866c3a78f 100644
--- a/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Blazor.WebAssembly.Tests/Templates.Blazor.WebAssembly.Tests.csproj
@@ -9,6 +9,7 @@
true
true
+ false
diff --git a/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj b/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
index 880e1bb68d6b..152c0d7b0d07 100644
--- a/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Mvc.Tests/Templates.Mvc.Tests.csproj
@@ -9,6 +9,7 @@
true
true
+ false
diff --git a/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj b/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
index d7c3c354d144..fb297bfae7c5 100644
--- a/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
+++ b/src/ProjectTemplates/test/Templates.Tests/Templates.Tests.csproj
@@ -9,6 +9,7 @@
true
true
+ false