Skip to content

azure-pipelines: add nightly scheduled run for flakiness detection#607

Open
sigabrtv1-ui wants to merge 1 commit intosonic-net:masterfrom
sigabrtv1-ui:feat/scheduled-master-runs
Open

azure-pipelines: add nightly scheduled run for flakiness detection#607
sigabrtv1-ui wants to merge 1 commit intosonic-net:masterfrom
sigabrtv1-ui:feat/scheduled-master-runs

Conversation

@sigabrtv1-ui
Copy link

Problem

Test analytics in Azure DevOps accumulate results mostly from PR runs. PR run failures are ambiguous — a test might fail because the PR broke it, or because it's flaky. Without regular master runs, the analytics can't cleanly identify flaky tests.

With the current volume of master runs (only on merges, a few per day at peak), a test that flakes at 5–10% failure rate can go undetected for days or weeks.

Solution

Add a nightly scheduled trigger on master with always: true, so test analytics gets a consistent stream of clean data points independent of merge activity.

  • Scheduled: midnight UTC daily
  • always: true: fires even with no new commits — critical for consistent data
  • RUN_TYPE variable: tags test run titles as Nightly vs CI so scheduled and PR/push results can be filtered separately in Azure DevOps test analytics

Impact

30 clean master data points per month, enough to reliably surface tests failing >10% of the time. Scheduled and PR results remain in the same analytics dashboard but are distinguishable by run title prefix.

Signed-off-by: Dawei Huang daweihuang@microsoft.com

Add a nightly scheduled trigger on master so test analytics accumulates
clean data points independent of PR activity. Key details:

- Runs at midnight UTC every day on master
- always: true ensures the run fires even with no new commits, giving
  a consistent stream of data regardless of merge activity
- RUN_TYPE variable tags test run titles as 'Nightly' vs 'CI' so
  scheduled and PR/push results can be filtered separately in the
  Azure DevOps test analytics dashboard

Without regular master runs, flaky tests at 5-10% failure rates can
go undetected for days. A nightly cadence gives 30 clean data points
per month, sufficient to surface tests failing >10% of the time.

Signed-off-by: Dawei Huang <daweihuang@microsoft.com>
@mssonicbld
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a nightly scheduled Azure Pipelines run on master to generate consistent test analytics data for detecting flaky tests, independent of PR/merge activity.

Changes:

  • Added a daily (midnight UTC) scheduled trigger on master with always: true.
  • Introduced a RUN_TYPE variable (Nightly for scheduled runs, CI otherwise) to label test run titles.
  • Prefixed published test run titles with $(RUN_TYPE) for easier filtering in Azure DevOps test analytics.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants