Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
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
3 changes: 3 additions & 0 deletions eng/pipelines/cdac/cdac-helix-test-leg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ jobs:
parameters:
displayName: ${{ parameters.sendDisplayName }}
sendParams: ${{ parameters.sendParams }}
useEntraAuthentication: ${{ eq(variables['helixUseEntraAuthentication'], true) }}
azureSubscription: ${{ variables.helixAzureSubscription }}
helixBaseUri: ${{ variables.helixBaseUri }}
environment:
_Creator: dotnet-bot
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Expand Down
35 changes: 35 additions & 0 deletions eng/pipelines/common/templates/helix-job-monitor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
parameters:
- name: helixAccessToken
type: string
default: ''
- name: timeoutInMinutes
type: number
default: 480
- name: testResultUploadParallelism
type: number
default: 48
- name: allowNoHelixJobs
type: boolean
default: false
- name: useEntraAuthentication
type: boolean
default: false
- name: azureSubscription
type: string
default: ''
- name: helixBaseUri
type: string
default: ''

jobs:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
parameters:
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
testResultUploadParallelism: ${{ parameters.testResultUploadParallelism }}
allowNoHelixJobs: ${{ parameters.allowNoHelixJobs }}
helixBaseUri: ${{ coalesce(parameters.helixBaseUri, variables.helixBaseUri, 'https://helix.dot.net/') }}
${{ if or(eq(parameters.useEntraAuthentication, true), eq(variables['helixUseEntraAuthentication'], true)) }}:
useEntraAuthentication: true
azureSubscription: ${{ coalesce(parameters.azureSubscription, variables.helixAzureSubscription) }}
${{ else }}:
helixAccessToken: ${{ parameters.helixAccessToken }}
Original file line number Diff line number Diff line change
@@ -1,22 +1,66 @@
parameters:
osGroup: ''
sendParams: ''
condition: ''
condition: true
displayName: ''
environment: {}
shouldContinueOnError: false
useEntraAuthentication: false
azureSubscription: ''
helixBaseUri: 'https://helix.dot.net/'

steps:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- powershell: $(Build.SourcesDirectory)\eng\common\msbuild.ps1 --restore -ci -warnaserror 0 ${{ parameters.sendParams }}
- ${{ if and(eq(parameters.useEntraAuthentication, true), eq(parameters.azureSubscription, '')) }}:
- pwsh: throw "azureSubscription must be set when useEntraAuthentication is true."
displayName: Validate Helix Entra authentication
condition: and(succeeded(), ${{ parameters.condition }}, ${{ ne(parameters.sendParams, '') }})

- ${{ if eq(parameters.useEntraAuthentication, true) }}:
- task: AzureCLI@2
displayName: ${{ parameters.displayName }} (Windows)
condition: and(succeeded(), ${{ and(ne(parameters.condition, false), ne(parameters.sendParams, '')) }})
env: ${{ parameters.environment }}
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
keepAzSessionActive: true
scriptType: pscore
scriptLocation: inlineScript
inlineScript: >
$(Build.SourcesDirectory)\eng\common\msbuild.ps1
--restore
-ci
-warnaserror 0
/p:HelixUseEntraAuthentication=true
${{ parameters.sendParams }}
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'), ${{ parameters.condition }}, ${{ ne(parameters.sendParams, '') }})
env:
${{ insert }}: ${{ parameters.environment }}
HelixBaseUri: ${{ parameters.helixBaseUri }}
continueOnError: ${{ eq(parameters.shouldContinueOnError, true) }}

- ${{ if ne(parameters.osGroup, 'windows') }}:
- script: $(Build.SourcesDirectory)/eng/common/msbuild.sh --restore --ci --warnaserror false ${{ parameters.sendParams }}
- task: AzureCLI@2
displayName: ${{ parameters.displayName }} (Unix)
condition: and(succeeded(), ${{ and(ne(parameters.condition, false), ne(parameters.sendParams, '')) }})
env: ${{ parameters.environment }}
inputs:
azureSubscription: ${{ parameters.azureSubscription }}
keepAzSessionActive: true
scriptType: bash
scriptLocation: inlineScript
inlineScript: >
$(Build.SourcesDirectory)/eng/common/msbuild.sh
--restore
--ci
--warnaserror false
/p:HelixUseEntraAuthentication=true
${{ parameters.sendParams }}
condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT'), ${{ parameters.condition }}, ${{ ne(parameters.sendParams, '') }})
env:
${{ insert }}: ${{ parameters.environment }}
HelixBaseUri: ${{ parameters.helixBaseUri }}
continueOnError: ${{ eq(parameters.shouldContinueOnError, true) }}

- ${{ else }}:
- script: $(_msbuildCommand) $(_warnAsErrorParamHelixOverride) -restore /p:HelixUseEntraAuthentication=false ${{ parameters.sendParams }}
displayName: ${{ parameters.displayName }}
condition: and(succeeded(), ${{ parameters.condition }}, ${{ ne(parameters.sendParams, '') }})
env:
${{ insert }}: ${{ parameters.environment }}
HelixBaseUri: ${{ parameters.helixBaseUri }}
continueOnError: ${{ eq(parameters.shouldContinueOnError, true) }}
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,14 @@ steps:
condition: and(succeeded(), ${{ parameters.condition }})
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
displayName: ${{ parameters.displayName }}
useEntraAuthentication: ${{ eq(variables['helixUseEntraAuthentication'], true) }}
azureSubscription: ${{ variables.helixAzureSubscription }}
helixBaseUri: ${{ variables.helixBaseUri }}
environment:
_Creator: ${{ parameters.creator }}
_PublishTestResults: ${{ parameters.publishTestResults }}
_HelixAccessToken: ${{ parameters.helixAccessToken }}
${{ if ne(variables['helixUseEntraAuthentication'], true) }}:
_HelixAccessToken: ${{ parameters.helixAccessToken }}
_HelixBuild: ${{ parameters.helixBuild }}
_HelixSource: ${{ parameters.helixSource }}
_HelixTargetQueues: ${{ join(',', parameters.helixQueues) }}
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ variables:
- name: enableHelixJobMonitor
value: false

- name: helixUseEntraAuthentication
value: false
- name: helixAzureSubscription
value: ''
- name: helixBaseUri
value: https://helix.dot.net/

- name: debugOnPrReleaseOnRolling
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
value: Release
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/crossgen2-composite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/crossgen2-gcstress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/crossgen2-outerloop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/crossgen2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gc-longrunning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gc-simulator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gc-standalone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gcstress-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gcstress0x3-gcstress0xc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/hardware-intrinsics-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/hardware-intrinsics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-gcstress-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-jitstress-random.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-jitstress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-jitstressregs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/libraries-pgo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/r2r-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/r2r.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/release-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 720
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/runincontext.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/runtime-nativeaot-outerloop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ extends:
- stage: Build
jobs:
- ${{ if eq(variables['enableHelixJobMonitor'], true) }}:
- template: /eng/common/core-templates/job/helix-job-monitor.yml
- template: /eng/pipelines/common/templates/helix-job-monitor.yml
parameters:
helixAccessToken: $(HelixApiAccessToken)
timeoutInMinutes: 540
Expand Down
7 changes: 6 additions & 1 deletion eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,12 @@ jobs:
HelixSource: $(_HelixSource)
HelixType: 'test/crossgen-comparison/'
${{ if eq(variables['System.TeamProject'], 'internal') }}:
HelixAccessToken: $(HelixApiAccessToken)
${{ if eq(variables['helixUseEntraAuthentication'], true) }}:
HelixUseEntraAuthentication: true
HelixAzureSubscription: ${{ variables.helixAzureSubscription }}
HelixBaseUri: ${{ variables.helixBaseUri }}
${{ else }}:
HelixAccessToken: $(HelixApiAccessToken)
HelixTargetQueues: ${{ join(' ', parameters.helixQueues) }}
${{ if ne(variables['System.TeamProject'], 'internal') }}:
Creator: $(Creator)
Expand Down
Loading
Loading