Skip to content

Scope installer helix tests to installer changes (keep osx_arm64 for coreclr)#126140

Open
davidwrighton wants to merge 1 commit intodotnet:mainfrom
davidwrighton:reduce-installer-tests
Open

Scope installer helix tests to installer changes (keep osx_arm64 for coreclr)#126140
davidwrighton wants to merge 1 commit intodotnet:mainfrom
davidwrighton:reduce-installer-tests

Conversation

@davidwrighton
Copy link
Member

@davidwrighton davidwrighton commented Mar 26, 2026

Note

This PR was generated with the assistance of GitHub Copilot.

Summary

Scope the Installer_Build_And_Test helix jobs to only run when installer-relevant paths change, instead of on any non-mono/non-wasm change. Previously these 5 helix jobs ran on every coreclr and libraries PR even though installer tests (host+packs) are unaffected by JIT, GC, or library code changes.

Exception: osx_arm64 retains a broader trigger that also includes coreclr.containsChange, per @elinor-fung's guidance that Mac ARM64 installer tests are most likely to catch single-file issues from coreclr changes.

Changes

Split the second Installer_Build_And_Test block into two:

Block 1 (windows_x86, osx_x64, windows_x64, linux_x64):

  • Condition changed from non_mono_and_wasm.containsChange to installer.containsChange
  • Still runs on rolling/CI builds

Block 2 (osx_arm64):

  • Condition: coreclr.containsChange OR installer.containsChange OR rolling
  • Continues to catch single-file issues on coreclr changes

Impact

PR Type Before After Savings
CoreCLR-only 5 installer helix jobs 1 (osx_arm64 only) 4 jobs
Libraries-only 5 installer helix jobs 0 5 jobs
Installer changes 5 installer helix jobs 5 unchanged
Rolling/CI 5 installer helix jobs 5 unchanged

The installer path subset covers: src/installer/, src/native/corehost/, general eng/ infrastructure — everything except coreclr, mono, libraries, tests, and tools. It is an existing subset already used by 20+ other job conditions in the pipeline.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR narrows when the Installer_Build_And_Test Helix jobs run in eng/pipelines/runtime.yml, so installer validation is triggered primarily by installer-relevant path changes, while keeping osx_arm64 installer tests running on CoreCLR changes to help catch single-file issues.

Changes:

  • Updated installer Helix job conditions from non_mono_and_wasm.containsChange to installer.containsChange for most installer platforms.
  • Split out osx_arm64 installer testing into its own block, triggered by coreclr.containsChange OR installer.containsChange OR rolling builds.
  • Removed osx_arm64 from the general (windows_x64/linux_x64) installer job platform list.

Comment on lines 1496 to 1499
condition:
or(
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_non_mono_and_wasm.containsChange'], true),
eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isRollingBuild'], true))
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The section header comment for “Installer Build and Test” states these jobs are “always built” (and gives reasoning based on always running), but the updated conditions now scope these jobs to installer.containsChange (with an osx_arm64 coreclr exception) plus rolling builds. Please update that nearby comment so it matches the new behavior and doesn’t mislead future pipeline edits/debugging.

Copilot uses AI. Check for mistakes.
Change Installer_Build_And_Test job conditions from
non_mono_and_wasm.containsChange to installer.containsChange for most
platforms. Previously, installer helix tests (5 platforms) ran on any
non-mono change including pure coreclr or libraries changes.

Split osx_arm64 into its own block with a broader condition that also
includes coreclr.containsChange, per Elinor Fung's guidance that Mac
ARM64 is most likely to catch single-file issues from coreclr changes.

- windows_x86, osx_x64: installer OR rolling only
- windows_x64, linux_x64: installer OR rolling only
- osx_arm64: coreclr OR installer OR rolling

Saves 4 helix jobs on coreclr-only PRs (was 5, now 1 remains).
Saves 5 helix jobs on libraries-only PRs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@davidwrighton davidwrighton force-pushed the reduce-installer-tests branch from 68b6089 to 6c5c0be Compare March 26, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants