Skip to content

Fix windows-arm64 timeout floor to use numeric comparison#129814

Draft
Copilot wants to merge 1 commit into
mainfrom
copilot/research-ci-timeout-settings
Draft

Fix windows-arm64 timeout floor to use numeric comparison#129814
Copilot wants to merge 1 commit into
mainfrom
copilot/research-ci-timeout-settings

Conversation

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

The windows-arm64 timeout floor in global-build-job.yml compared a string-typed parameter against 75 with gt(parameters.timeoutInMinutes, 75). Because timeoutInMinutes is declared as a string (default: ''), ADO coerces the passed value (e.g. 360) to a string and gt() keys conversion off the left operand's type — producing a lexicographic compare ('360' < '75' → false). Explicit timeouts ≥ 100 silently collapsed to the 75-min floor, causing runtime-coreclr libraries-jitstressregs windows-arm64 to time out at 75 min (build 1474264).

Changes

  • eng/pipelines/common/global-build-job.yml: Swapped the comparison so the integer literal is the left operand: gt(parameters.timeoutInMinutes, 75)lt(75, parameters.timeoutInMinutes). ADO now converts the right operand to a number, yielding a true numeric comparison.
-      ${{ elseif gt(parameters.timeoutInMinutes, 75) }}:
+      ${{ elseif lt(75, parameters.timeoutInMinutes) }}:

Explicit values > 75 (e.g. 360) are now honored; values ≤ 75 still fall through to the 75-min floor. No other code or the parameter declaration was touched.

Co-authored-by: JulieLeeMSFT <63486087+JulieLeeMSFT@users.noreply.github.com>
Copilot AI self-assigned this Jun 24, 2026
Copilot AI review requested due to automatic review settings June 24, 2026 18:12
Copilot AI removed the request for review from Copilot June 24, 2026 18:12
@JulieLeeMSFT

Copy link
Copy Markdown
Member

Fixes fallout of large timeout (> 75min) from #129553. It did string to int comparison. With this fix, legs that had higher timeout values set will run longer than 75min (e.g., libraries jitstressregs).
@hoyosjs, PTAL.

@JulieLeeMSFT JulieLeeMSFT marked this pull request as ready for review June 24, 2026 18:20
@JulieLeeMSFT JulieLeeMSFT requested review from Copilot and hoyosjs June 24, 2026 18:20
@JulieLeeMSFT JulieLeeMSFT added the area-Infrastructure-coreclr Only use for closed issues label Jun 24, 2026
@JulieLeeMSFT JulieLeeMSFT added this to the 11.0.0 milestone Jun 24, 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

Adjusts the windows_arm64 job timeout “floor” logic in the shared global build job template so that explicit timeouts above 75 minutes are correctly honored, avoiding unintended string/lexicographic comparisons in Azure DevOps template expressions.

Changes:

  • Updates the conditional expression for windows_arm64 timeout selection to compare using a numeric-typed left operand (lt(75, parameters.timeoutInMinutes)), ensuring numeric comparison behavior.
  • Keeps existing behavior for unset ('') and ≤75 minute values, still applying the 75-minute floor.

@JulieLeeMSFT JulieLeeMSFT marked this pull request as draft June 24, 2026 18:25
@JulieLeeMSFT

Copy link
Copy Markdown
Member

Converting to draft to wait for #129791 if it reduces the windows arm64 build time.

@JulieLeeMSFT JulieLeeMSFT added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Jun 24, 2026

@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.

We need to unblock arm64 testing and I doubt anyone is going to review my PR anytime soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure-coreclr Only use for closed issues NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

5 participants