Skip to content

Consolidate crossgen2-composite and r2r into crossgen2-outerloop pipeline#130370

Open
jtschuster wants to merge 2 commits into
dotnet:mainfrom
jtschuster:jtschuster-crossgen2-pipeline-comparison
Open

Consolidate crossgen2-composite and r2r into crossgen2-outerloop pipeline#130370
jtschuster wants to merge 2 commits into
dotnet:mainfrom
jtschuster:jtschuster-crossgen2-pipeline-comparison

Conversation

@jtschuster

@jtschuster jtschuster commented Jul 8, 2026

Copy link
Copy Markdown
Member

Summary

Consolidates duplicated daily crossgen2 / ReadyToRun coverage into the crossgen2-outerloop pipeline:

  1. Add the missing composite configs to crossgen2-outerloop: linux_arm and windows_x86 on the R2R_Composite job, plus a new R2R_Composite_LargeVersionBubble job (linux_x64, windows_x64). These were the only configurations unique to crossgen2-composite.
  2. Stop scheduling crossgen2-composite so it's manual-only like other on-demand pipelines. Everything it ran is now covered by outerloop at Pri1.
  3. Delete the runtime-coreclr r2r pipeline (eng/pipelines/coreclr/r2r.yml) - it's fully redundant with outerloop's non-composite R2R job.

Deleting r2r.yml removes the YAML but not the ADO pipeline definition. The enabled runtime-coreclr r2r definition points at this path and will fail once merged unless we disables or removes it. The now-unscheduled crossgen2-composite definition can optionally be retired too.

Fold the composite-mode coverage that was unique to the
crossgen2-composite pipeline into the crossgen2-outerloop pipeline, and
stop running crossgen2-composite on a daily schedule.

- Add linux_arm and windows_x86 to the R2R_Composite job in outerloop.
- Add an R2R_Composite_LargeVersionBubble job (linux_x64, windows_x64)
  to outerloop.
- Remove the daily cron schedule from crossgen2-composite; it can still
  be invoked manually to validate a change.

The outerloop pipeline already builds the same Checked runtime and runs
composite mode on the shared platforms at Pri1, so the daily
crossgen2-composite run was largely duplicated work. Moving the
remaining unique configurations into outerloop keeps coverage (now at
Pri1) while eliminating the redundant daily run.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 8, 2026 18:10
@jtschuster jtschuster self-assigned this Jul 8, 2026
@github-actions github-actions Bot added the area-crossgen2-coreclr only use for closed issues label Jul 8, 2026
@jtschuster jtschuster removed the area-crossgen2-coreclr only use for closed issues label Jul 8, 2026
@jtschuster

Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr crossgen2-outerloop

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@jtschuster

Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr crossgen2 outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Consolidates composite-mode crossgen2 coverage into the existing crossgen2-outerloop pipeline and disables the daily scheduled run of the dedicated crossgen2-composite pipeline, keeping composite coverage while reducing duplicated CI work.

Changes:

  • Expanded the R2R_Composite outerloop job matrix to include linux_arm and windows_x86.
  • Added a new R2R_Composite_LargeVersionBubble outerloop job (linux_x64, windows_x64) to preserve “large version bubble” composite coverage.
  • Removed the cron schedule from crossgen2-composite.yml so it runs only when manually invoked.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
eng/pipelines/coreclr/crossgen2-outerloop.yml Adds missing composite-mode matrices (linux_arm/windows_x86) and introduces a Pri1 large-version-bubble composite job.
eng/pipelines/coreclr/crossgen2-composite.yml Removes the daily YAML schedule so this pipeline is no longer automatically run.

The standalone crossgen2 r2r pipeline (eng/pipelines/coreclr/r2r.yml)
runs the non-composite ReadyToRun coreclr test suite at Pri1
(testGroup: outerloop). The crossgen2-outerloop pipeline already runs an
identical non-composite R2R job on the same daily schedule, on a strict
superset of platforms (it additionally covers osx_x64).

Verified empirically that the Helix work-item sets are identical on the
shared platforms (e.g. linux_x64 and windows_x64 each produced the exact
same 90/91 work items on the same queues), so r2r.yml provides no unique
coverage.

Note: the ADO pipeline definition (runtime-coreclr r2r) points at this
YAML path and must be removed/disabled by infra as a follow-up, or it
will fail once the file is gone.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 8, 2026 20:00
@jtschuster jtschuster changed the title Consolidate crossgen2-composite into crossgen2-outerloop pipeline Consolidate crossgen2-composite and r2r into crossgen2-outerloop pipeline Jul 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment thread eng/pipelines/coreclr/crossgen2-outerloop.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status
Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants