diff options
author | Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com> | 2022-10-26 23:56:26 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-26 23:56:26 +0300 |
commit | fb36ccef4bab6bf69d890c30978daccdb62b5839 (patch) | |
tree | 10fdbf3f7f94763f6691c6a897da8d6fd860514b /eng | |
parent | 3d2917662ffe8993a59c4e924d49fe49e72be460 (diff) |
Avoid running SPMI pipelines on JIT-EE GUID change (#77431)
Fix #69197
Diffstat (limited to 'eng')
-rw-r--r-- | eng/pipelines/common/variables.yml | 2 | ||||
-rw-r--r-- | eng/pipelines/common/xplat-setup.yml | 2 | ||||
-rw-r--r-- | eng/pipelines/coreclr/superpmi-diffs.yml | 24 | ||||
-rw-r--r-- | eng/pipelines/coreclr/superpmi-replay.yml | 14 | ||||
-rw-r--r-- | eng/pipelines/coreclr/templates/build-jit-job.yml | 2 | ||||
-rw-r--r-- | eng/pipelines/coreclr/templates/superpmi-diffs-job.yml | 2 | ||||
-rw-r--r-- | eng/pipelines/coreclr/templates/superpmi-replay-job.yml | 2 |
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 }} |