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