Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .azure/pipelines/helix-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ schedules:
branches:
include:
- release/6.0
- release/7.0
- release/8.0
always: false

Expand Down
101 changes: 101 additions & 0 deletions .azure/pipelines/identitymodel-helix-matrix.yml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@
<!-- Ensure API docs are available. -->
<NoWarn>$(NoWarn.Replace('1591', ''))</NoWarn>
<NoWarn Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">$(NoWarn);0105</NoWarn>
<!-- Allow prerelease dependencies in stable packages when we're running the IdentityModel nightly tests -->
<NoWarn Condition=" '$(IsIdentityModelTestJob)' == 'true' ">$(NoWarn);NU5104</NoWarn>

<!-- For local builds, don't make missing XML docs a fatal build error, but still surface so we have visibility into undocumented APIs. -->
<WarningsNotAsErrors Condition=" '$(ContinuousIntegrationBuild)' != 'true' ">$(WarningsNotAsErrors);CS1591</WarningsNotAsErrors>
Expand Down
3 changes: 2 additions & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
<PreReleaseVersionIteration>
</PreReleaseVersionIteration>
<ValidateBaseline>false</ValidateBaseline>
<IdentityModelVersion>7.1.2</IdentityModelVersion>
<IdentityModelVersion Condition="'$(IsIdentityModelTestJob)' != 'true'">7.1.2</IdentityModelVersion>
<IdentityModelVersion Condition="'$(IsIdentityModelTestJob)' == 'true'">*-*</IdentityModelVersion>
<!--
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
-->
Expand Down
2 changes: 1 addition & 1 deletion eng/helix/helix.proj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<!-- Microsoft.DotNet.Helix.Sdk.MultiQueue.targets splits $(HelixTargetQueues) into @(HelixTargetQueue) items. -->
<ItemGroup Condition=" '$(HelixTargetQueues)' == '' ">
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' == 'true'" Include="@(HelixAvailableTargetQueue)" />
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' != 'true'" Include="@(HelixAvailableTargetQueue->'%(Identity)'->Replace('.Open',''))" />
<HelixTargetQueue Condition="'$(_UseHelixOpenQueues)' != 'true'" Include="@(HelixAvailableTargetQueue->'%(Identity)'->Replace('.Open','')->Replace('.open',''))" />
</ItemGroup>

<PropertyGroup>
Expand Down
46 changes: 46 additions & 0 deletions eng/scripts/SetupIdentitySources.ps1
Original file line number Diff line number Diff line change
@@ -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 <PackageSources> 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)
2 changes: 1 addition & 1 deletion eng/targets/Helix.targets
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@
<ItemGroup Condition="'$(_UseHelixOpenQueues)' != 'true'">
<_Temp Include="@(HelixAvailableTargetQueue)" />
<HelixAvailableTargetQueue Remove="@(HelixAvailableTargetQueue)" />
<HelixAvailableTargetQueue Include="@(_Temp->'%(Identity)'->Replace('.Open',''))" />
<HelixAvailableTargetQueue Include="@(_Temp->'%(Identity)'->Replace('.Open','')->Replace('.open',''))" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<RunTemplateTests Condition="'$(RunTemplateTests)' == ''">true</RunTemplateTests>
<RunBlazorPlaywrightTemplateTests Condition="'$(RunBlazorPlaywrightTemplateTests)' == ''">$(RunTemplateTests)</RunBlazorPlaywrightTemplateTests>
<SkipTests Condition="'$(RunBlazorPlaywrightTemplateTests)' != 'true'">true</SkipTests>
<BuildHelixPayload Condition="'$(RunBlazorPlaywrightTemplateTests)' != 'true'">false</BuildHelixPayload>

<BaseOutputPath />
<OutputPath />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

<RunTemplateTests Condition="'$(RunTemplateTests)' == ''">true</RunTemplateTests>
<SkipTests Condition="'$(RunTemplateTests)' != 'true'">true</SkipTests>
<BuildHelixPayload Condition="'$(RunTemplateTests)' != 'true'">false</BuildHelixPayload>

<BaseOutputPath />
<OutputPath />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

<RunTemplateTests Condition="'$(RunTemplateTests)' == ''">true</RunTemplateTests>
<SkipTests Condition="'$(RunTemplateTests)' != 'true'">true</SkipTests>
<BuildHelixPayload Condition="'$(RunTemplateTests)' != 'true'">false</BuildHelixPayload>

<BaseOutputPath />
<OutputPath />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

<RunTemplateTests Condition="'$(RunTemplateTests)' == ''">true</RunTemplateTests>
<SkipTests Condition="'$(RunTemplateTests)' != 'true'">true</SkipTests>
<BuildHelixPayload Condition="'$(RunTemplateTests)' != 'true'">false</BuildHelixPayload>

<BaseOutputPath />
<OutputPath />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

<RunTemplateTests Condition="'$(RunTemplateTests)' == ''">true</RunTemplateTests>
<SkipTests Condition="'$(RunTemplateTests)' != 'true'">true</SkipTests>
<BuildHelixPayload Condition="'$(RunTemplateTests)' != 'true'">false</BuildHelixPayload>

<BaseOutputPath />
<OutputPath />
Expand Down