[mono][infra] Remove iossimulator runtime-staging pipeline (#88036)
authorMilos Kotlar <kotlarmilos@gmail.com>
Mon, 26 Jun 2023 18:30:56 +0000 (20:30 +0200)
committerGitHub <noreply@github.com>
Mon, 26 Jun 2023 18:30:56 +0000 (20:30 +0200)
* Remove iossimulator runtime-staging pipeline

docs/workflow/ci/pipelines-overview.md
eng/pipelines/common/variables.yml
eng/pipelines/common/xplat-setup.yml
eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
eng/pipelines/runtime-staging.yml [deleted file]

index e40f5ce..7e70cec 100644 (file)
@@ -4,7 +4,6 @@
   * [Runtime pipeline](#runtime-pipeline)
   * [Runtime-dev-inner loop pipeline](#runtime-dev-inner-loop-pipeline)
   * [Dotnet-linker-tests](#dotnet-linker-tests)
-  * [Runtime-staging](#runtime-staging)
   * [Runtime-extra-platforms](#runtime-extra-platforms)
   * [Outer loop pipelines](#outer-loop-pipelines)
 * [Running of different runtime-level tests and their orchestration in Helix](#running-of-different-runtime-level-tests-and-their-orchestration-in-helix)
@@ -71,12 +70,6 @@ This pipeline is also required, and its intent is to cover developer inner loop
 
 This is also a required pipeline. The purpose of this pipeline is to test that the libraries code is ILLink friendly. Meaning that when we trim our libraries using the ILLink, we don't have any trimming bugs, like a required method on a specific scenario is trimmed away by accident.
 
-### Runtime-staging
-
-This pipeline runs on every change; however it behaves a little different than the other pipelines. This pipeline will not fail if there are test failures, however it will fail if there is a timeout or a build failure. We fail on build failures is because we want to protect the developer inner loop (building the repository) for this platform.
-
-The tests will not fail because this pipeline is for staging new platforms where the test infrastructure is new, and we need to test if we have enough capacity to include that new platform on the "main" runtime pipeline without causing flakiness. Once we analyze data and a platform is stable when running on PRs in this pipeline for at least a week, it can be promoted either to the `runtime-extra-platforms` pipeline or to the `runtime` pipeline.
-
 ### Runtime-extra-platforms
 
 This pipeline does not run by default as it is not required for a PR, but it runs twice a day, and it can also be invoked in specific PRs by commenting `/azp run runtime-extra-platforms`. However, this pipeline is still an important part of our testing.
index 2f531aa..2a757f8 100644 (file)
@@ -36,10 +36,10 @@ variables:
 - name: isNotSpecificPlatformOnlyBuild
   value: ${{ notin(variables['Build.DefinitionName'], 'runtime-wasm', 'runtime-wasm-libtests', 'runtime-wasm-non-libtests', 'runtime-ioslike', 'runtime-ioslikesimulator', 'runtime-android', 'runtime-androidemulator', 'runtime-maccatalyst', 'runtime-linuxbionic') }}
 
-# We only run evaluate paths on runtime, runtime-staging and runtime-community pipelines on PRs
+# We only run evaluate paths on runtime 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', 'runtime-coreclr superpmi-replay', 'runtime-coreclr superpmi-diffs')) }}
+  value: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', '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
index 42a13b4..c1a4e1f 100644 (file)
@@ -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', 'runtime-coreclr superpmi-replay', 'runtime-coreclr superpmi-diffs')) }}
+    dependOnEvaluatePaths: ${{ and(eq(variables['Build.Reason'], 'PullRequest'), in(variables['Build.DefinitionName'], 'runtime', '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:
       - template: /eng/common/templates/variables/pool-providers.yml
index 31d7b38..876827f 100644 (file)
@@ -17,7 +17,7 @@ jobs:
 #
 # ************ Rolling builds: *************
 # - only run eat, and aot tests
-# - rest are covered by runtime, and runtime-staging
+# - rest are covered by runtime
 #
 - ${{ if eq(parameters.isRollingBuild, true) }}:
   # AOT Library tests
diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml
deleted file mode 100644 (file)
index 322faae..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-# Setting batch to true, triggers one build at a time.
-# if there is a push while a build in progress, it will wait,
-# until the running build finishes, and produce a build with all the changes
-# that happened during the last build.
-trigger:
-  batch: true
-  branches:
-    include:
-    - release/*.*
-  paths:
-    include:
-    - '*'
-    exclude:
-    - '**.md'
-    - eng/Version.Details.xml
-    - .devcontainer/*
-    - .github/*
-    - docs/*
-    - LICENSE.TXT
-    - PATENTS.TXT
-    - THIRD-PARTY-NOTICES.TXT
-
-schedules:
-  - cron: "0 7,19 * * *" # run at 7:00 and 19:00 (UTC) which is 23:00 and 11:00 (PST).
-    displayName: Runtime-staging default schedule
-    branches:
-      include:
-      - main
-    always: false # run only if there were changes since the last successful scheduled run.
-
-pr:
-  branches:
-    include:
-    - main
-    - release/*.*
-  paths:
-    include:
-    - '*'
-    exclude:
-    - '**.md'
-    - eng/Version.Details.xml
-    - .devcontainer/*
-    - .github/*
-    - docs/*
-    - LICENSE.TXT
-    - PATENTS.TXT
-    - THIRD-PARTY-NOTICES.TXT
-
-variables:
-  - template: /eng/pipelines/common/variables.yml
-
-extends:
-  template:  /eng/pipelines/common/templates/pipeline-with-resources.yml
-  parameters:
-    stages:
-    - stage: Build
-      jobs:
-
-      #
-      # Evaluate paths
-      #
-      - ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
-        - template: /eng/pipelines/common/evaluate-default-paths.yml
-
-      #
-      # Build the whole product using Mono and run runtime tests with the JIT.
-      #
-      - template: /eng/pipelines/common/platform-matrix.yml
-        parameters:
-          jobTemplate: /eng/pipelines/common/global-build-job.yml
-          helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
-          buildConfig: Release
-          runtimeFlavor: mono
-          platforms:
-            - iossimulator_x64
-          variables:
-            - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
-              - name: _HelixSource
-                value: pr/dotnet/runtime/$(Build.SourceBranch)
-            - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
-              - name: _HelixSource
-                value: ci/dotnet/runtime/$(Build.SourceBranch)
-            - name: timeoutPerTestInMinutes
-              value: 60
-            - name: timeoutPerTestCollectionInMinutes
-              value: 180
-          jobParameters:
-            testGroup: innerloop
-            nameSuffix: AllSubsets_Mono_RuntimeTests
-            runtimeVariant: minijit
-            buildArgs: -s mono+libs -c $(_BuildConfig)
-            timeoutInMinutes: 240
-            condition: >-
-              or(
-                eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true),
-                eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
-                eq(variables['isRollingBuild'], true))
-            ${{ if eq(variables['isRollingBuild'], true) }}:
-              # extra steps, run tests
-              extraStepsTemplate: /eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
-              extraStepsParameters:
-                creator: dotnet-bot
-                testRunNamePrefixSuffix: Mono_$(_BuildConfig)
-              extraVariablesTemplates:
-                - template: /eng/pipelines/common/templates/runtimes/test-variables.yml