Skip to content

CHORE: Fix macOS CI job timeout and reduce setup overhead - #723

Open
Jahnvi Thakkar (jahnvi480) wants to merge 1 commit into
mainfrom
jahnvi/macos-pr-validation-timeout-speedup
Open

CHORE: Fix macOS CI job timeout and reduce setup overhead#723
Jahnvi Thakkar (jahnvi480) wants to merge 1 commit into
mainfrom
jahnvi/macos-pr-validation-timeout-speedup

Conversation

@jahnvi480

@jahnvi480 Jahnvi Thakkar (jahnvi480) commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Work Item / Issue Reference

AB#47311


Summary

The macOS PR-validation job (PytestOnMacOS) set no job-level timeoutInMinutes, 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 either pytest or the benchmark step.

Changes (both low-risk, CI-timing only):

  • Add timeoutInMinutes: 90 to the PytestOnMacOS job so a slow setup tail plus tests plus the 20-min benchmark step fit within budget instead of being killed mid-step.
  • Remove two redundant brew update calls (the CMake step and the Colima step). The hosted macOS runner ships an up-to-date Homebrew; each brew update re-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.

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.
Copilot AI lite review requested due to automatic review settings August 14, 2026 12:21
@github-actions github-actions Bot added the pr-size: small Minimal code update label Aug 14, 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

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: 90 to the PytestOnMacOS job to prevent timeouts during long-tail setup + tests + benchmark runs.
  • Remove redundant brew update calls 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.

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

Labels

pr-size: small Minimal code update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants