Scope installer helix tests to installer changes (keep osx_arm64 for coreclr)#126140
Open
davidwrighton wants to merge 1 commit intodotnet:mainfrom
Open
Scope installer helix tests to installer changes (keep osx_arm64 for coreclr)#126140davidwrighton wants to merge 1 commit intodotnet:mainfrom
davidwrighton wants to merge 1 commit intodotnet:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
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.containsChangetoinstaller.containsChangefor most installer platforms. - Split out osx_arm64 installer testing into its own block, triggered by
coreclr.containsChangeORinstaller.containsChangeOR rolling builds. - Removed osx_arm64 from the general (windows_x64/linux_x64) installer job platform list.
This was referenced Mar 26, 2026
Open
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>
68b6089 to
6c5c0be
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR was generated with the assistance of GitHub Copilot.
Summary
Scope the
Installer_Build_And_Testhelix 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_Testblock into two:Block 1 (windows_x86, osx_x64, windows_x64, linux_x64):
non_mono_and_wasm.containsChangetoinstaller.containsChangeBlock 2 (osx_arm64):
coreclr.containsChangeORinstaller.containsChangeOR rollingImpact
The
installerpath subset covers:src/installer/,src/native/corehost/, generaleng/infrastructure — everything except coreclr, mono, libraries, tests, and tools. It is an existing subset already used by 20+ other job conditions in the pipeline.