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

@MichalStrehovsky MichalStrehovsky left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If you can get a review from someone who knows what these are, it would be better for them to sign off, but otherwise signed off.

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.

3 participants