Uh oh!
There was an error while loading. Please reload this page.
CHORE: Fix macOS CI job timeout and reduce setup overhead - #723
Open
Jahnvi Thakkar (jahnvi480) wants to merge 1 commit into
Open
CHORE: Fix macOS CI job timeout and reduce setup overhead#723Jahnvi Thakkar (jahnvi480) wants to merge 1 commit into
Jahnvi Thakkar (jahnvi480) wants to merge 1 commit into
Conversation
The macOS PR-validation job set no job-level timeoutInMinutes, so it inherited the ADO 60-minute default. When the Colima + SQL Server container setup hit its long tail (observed 17-39 min vs a ~12.5 min average), the setup plus tests plus the 20-minute benchmark step exceeded 60 min and the job was killed mid-step. - Add timeoutInMinutes: 90 to the PytestOnMacOS job so the setup tail plus tests plus benchmarks fit within budget. - Remove two redundant 'brew update' calls (CMake and Colima steps); the hosted runner ships an up-to-date Homebrew and each update re-syncs the whole formula index (network-bound, ~1-3 min) for no benefit.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts the Azure DevOps PR-validation pipeline’s macOS job to be more resilient to slow Colima + SQL Server container setup times, avoiding mid-step termination due to the default 60-minute job timeout while reducing unnecessary setup overhead.
Changes:
- Add
timeoutInMinutes: 90to thePytestOnMacOSjob to prevent timeouts during long-tail setup + tests + benchmark runs. - Remove redundant
brew updatecalls from the macOS setup steps to reduce network-bound setup time.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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 freeto 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.
Work Item / Issue Reference
Summary
The macOS PR-validation job (
PytestOnMacOS) set no job-leveltimeoutInMinutes, so it inherited the Azure DevOps 60-minute default. When the Colima + SQL Server container setup hit its long tail (observed 17–39 min vs a ~12.5 min average across 273 successful runs), the setup plus tests plus the 20-minute benchmark step exceeded 60 minutes and the job was killed mid-step. Four builds died at ~65 min during eitherpytestor the benchmark step.Changes (both low-risk, CI-timing only):
timeoutInMinutes: 90to thePytestOnMacOSjob so a slow setup tail plus tests plus the 20-min benchmark step fit within budget instead of being killed mid-step.brew updatecalls (the CMake step and the Colima step). The hosted macOS runner ships an up-to-date Homebrew; eachbrew updatere-syncs the entire formula index (network-bound, ~1–3 min) for no benefit, trimming roughly 2–4 min off setup.No test behavior changes — this only affects CI timing and robustness.
Follow-up options considered but intentionally left out of this PR (higher risk / need measurement): Colima
--vm-type=vz, overlapping SQL container warmup with the build, and pointing macOS tests at Azure SQL.