Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/eng
diff options
context:
space:
mode:
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>2022-10-26 23:56:26 +0300
committerGitHub <noreply@github.com>2022-10-26 23:56:26 +0300
commitfb36ccef4bab6bf69d890c30978daccdb62b5839 (patch)
tree10fdbf3f7f94763f6691c6a897da8d6fd860514b /eng
parent3d2917662ffe8993a59c4e924d49fe49e72be460 (diff)
Avoid running SPMI pipelines on JIT-EE GUID change (#77431)
Fix #69197
Diffstat (limited to 'eng')
-rw-r--r--eng/pipelines/common/variables.yml2
-rw-r--r--eng/pipelines/common/xplat-setup.yml2
-rw-r--r--eng/pipelines/coreclr/superpmi-diffs.yml24
-rw-r--r--eng/pipelines/coreclr/superpmi-replay.yml14
-rw-r--r--eng/pipelines/coreclr/templates/build-jit-job.yml2
-rw-r--r--eng/pipelines/coreclr/templates/superpmi-diffs-job.yml2
-rw-r--r--eng/pipelines/coreclr/templates/superpmi-replay-job.yml2
7 files changed, 41 insertions, 7 deletions
diff --git a/eng/pipelines/common/variables.yml b/eng/pipelines/common/variables.yml
index 4b06566d767..24c4a7735e7 100644
--- a/eng/pipelines/common/variables.yml
+++ b/eng/pipelines/common/variables.yml
@@ -39,7 +39,7 @@ variables:
# We only run evaluate paths on runtime, runtime-staging and runtime-community pipelines on PRs
# keep in sync with /eng/pipelines/common/xplat-setup.yml
- name: dependOnEvaluatePaths
- value: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging', 'runtime-community', 'runtime-extra-platforms', 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'runtime-ioslike', 'runtime-ioslikesimulator', 'runtime-android', 'runtime-androidemulator', 'runtime-maccatalyst', 'runtime-linuxbionic', 'dotnet-linker-tests', 'runtime-dev-innerloop')) }}
+ value: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging', 'runtime-community', 'runtime-extra-platforms', 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'runtime-ioslike', 'runtime-ioslikesimulator', 'runtime-android', 'runtime-androidemulator', 'runtime-maccatalyst', 'runtime-linuxbionic', 'dotnet-linker-tests', 'runtime-dev-innerloop', 'runtime-coreclr superpmi-replay', 'runtime-coreclr superpmi-diffs')) }}
- name: debugOnPrReleaseOnRolling
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
value: Release
diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml
index 7ee206d9ad9..e64bfce8ced 100644
--- a/eng/pipelines/common/xplat-setup.yml
+++ b/eng/pipelines/common/xplat-setup.yml
@@ -18,7 +18,7 @@ jobs:
shouldContinueOnError: ${{ or(eq(parameters.shouldContinueOnError, true), and(ne(parameters.shouldContinueOnError, 'forceFalse'), endsWith(variables['Build.DefinitionName'], 'staging'), eq(variables['Build.Reason'], 'PullRequest'))) }}
# keep in sync with /eng/pipelines/common/variables.yml
- dependOnEvaluatePaths: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging', 'runtime-community', 'runtime-extra-platforms', 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'dotnet-linker-tests', 'runtime-dev-innerloop')) }}
+ dependOnEvaluatePaths: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', 'runtime-staging', 'runtime-community', 'runtime-extra-platforms', 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'dotnet-linker-tests', 'runtime-dev-innerloop', 'runtime-coreclr superpmi-replay', 'runtime-coreclr superpmi-diffs')) }}
variables:
# Disable component governance in our CI builds. These builds are not shipping nor
diff --git a/eng/pipelines/coreclr/superpmi-diffs.yml b/eng/pipelines/coreclr/superpmi-diffs.yml
index 6a9bcc68375..a2a7bfb1115 100644
--- a/eng/pipelines/coreclr/superpmi-diffs.yml
+++ b/eng/pipelines/coreclr/superpmi-diffs.yml
@@ -1,9 +1,7 @@
# This pipeline only runs on GitHub PRs, not on merges.
trigger: none
-# Only run on changes to the JIT directory. Don't run if the JIT-EE GUID has changed,
-# since there won't be any SuperPMI collections with the new GUID until the collection
-# pipeline completes after this PR is merged.
+# Only run on changes to the JIT directory.
pr:
branches:
include:
@@ -13,14 +11,26 @@ pr:
# so that this build can block dependency auto-updates (this build is currently ignored)
include:
- src/coreclr/jit/*
- exclude:
- - src/coreclr/inc/jiteeversionguid.h
+
+variables:
+ - template: /eng/pipelines/common/variables.yml
extends:
template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
jobs:
+ # Don't run if the JIT-EE GUID has changed,
+ # since there won't be any SuperPMI collections with the new GUID until the collection
+ # pipeline completes after this PR is merged.
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-paths-job.yml
+ parameters:
+ paths:
+ - subset: jiteeversionguid
+ include:
+ - src/coreclr/inc/jiteeversionguid.h
+
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
@@ -30,6 +40,7 @@ extends:
- windows_x86
jobParameters:
uploadAs: 'pipelineArtifacts'
+ condition: not(eq(dependencies.evaluate_paths.outputs['SetPathVars_jiteeversionguid.containsChange'], true))
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
@@ -40,6 +51,7 @@ extends:
- windows_x86
jobParameters:
uploadAs: 'pipelineArtifacts'
+ condition: not(eq(dependencies.evaluate_paths.outputs['SetPathVars_jiteeversionguid.containsChange'], true))
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
@@ -50,3 +62,5 @@ extends:
- windows_x86
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ condition: not(eq(dependencies.evaluate_paths.outputs['SetPathVars_jiteeversionguid.containsChange'], true)) \ No newline at end of file
diff --git a/eng/pipelines/coreclr/superpmi-replay.yml b/eng/pipelines/coreclr/superpmi-replay.yml
index cddf7da5250..cfe16cf13c9 100644
--- a/eng/pipelines/coreclr/superpmi-replay.yml
+++ b/eng/pipelines/coreclr/superpmi-replay.yml
@@ -15,11 +15,22 @@ pr:
exclude:
- src/coreclr/inc/jiteeversionguid.h
+variables:
+ - template: /eng/pipelines/common/variables.yml
+
extends:
template: /eng/pipelines/common/templates/single-stage-pipeline-with-resources.yml
parameters:
jobs:
+ - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
+ - template: /eng/pipelines/common/evaluate-paths-job.yml
+ parameters:
+ paths:
+ - subset: jiteeversionguid
+ include:
+ - src/coreclr/inc/jiteeversionguid.h
+
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
@@ -29,6 +40,7 @@ extends:
- windows_x86
jobParameters:
uploadAs: 'pipelineArtifacts'
+ condition: not(eq(dependencies.evaluate_paths.outputs['SetPathVars_jiteeversionguid.containsChange'], true))
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
@@ -39,3 +51,5 @@ extends:
- windows_x86
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ jobParameters:
+ condition: not(eq(dependencies.evaluate_paths.outputs['SetPathVars_jiteeversionguid.containsChange'], true))
diff --git a/eng/pipelines/coreclr/templates/build-jit-job.yml b/eng/pipelines/coreclr/templates/build-jit-job.yml
index 648cc122bab..277996f9788 100644
--- a/eng/pipelines/coreclr/templates/build-jit-job.yml
+++ b/eng/pipelines/coreclr/templates/build-jit-job.yml
@@ -5,6 +5,7 @@ parameters:
crossBuild: false
osGroup: ''
osSubgroup: ''
+ condition: true
pool: ''
stagedBuild: false
timeoutInMinutes: ''
@@ -20,6 +21,7 @@ jobs:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
+ condition: ${{ parameters.condition }}
helixType: 'build/product/'
enableMicrobuild: true
stagedBuild: ${{ parameters.stagedBuild }}
diff --git a/eng/pipelines/coreclr/templates/superpmi-diffs-job.yml b/eng/pipelines/coreclr/templates/superpmi-diffs-job.yml
index 38a9156e282..abb17496c8c 100644
--- a/eng/pipelines/coreclr/templates/superpmi-diffs-job.yml
+++ b/eng/pipelines/coreclr/templates/superpmi-diffs-job.yml
@@ -3,6 +3,7 @@ parameters:
archType: '' # required -- targeting CPU architecture
osGroup: '' # required -- operating system for the job
osSubgroup: '' # optional -- operating system subgroup
+ condition: true
pool: ''
timeoutInMinutes: 180 # build timeout
variables: {}
@@ -20,6 +21,7 @@ jobs:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
+ condition: ${{ parameters.condition }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
helixQueues: ${{ parameters.helixQueues }}
diff --git a/eng/pipelines/coreclr/templates/superpmi-replay-job.yml b/eng/pipelines/coreclr/templates/superpmi-replay-job.yml
index c0aac714341..979f95ce685 100644
--- a/eng/pipelines/coreclr/templates/superpmi-replay-job.yml
+++ b/eng/pipelines/coreclr/templates/superpmi-replay-job.yml
@@ -3,6 +3,7 @@ parameters:
archType: '' # required -- targeting CPU architecture
osGroup: '' # required -- operating system for the job
osSubgroup: '' # optional -- operating system subgroup
+ condition: true
pool: ''
timeoutInMinutes: 320 # build timeout
variables: {}
@@ -20,6 +21,7 @@ jobs:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
+ condition: ${{ parameters.condition }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
helixQueues: ${{ parameters.helixQueues }}