Skip to content

utils.get_checked_versions blocks every dependent rule during the merge-day / post-merge window #2952

Description

@DonalMe

utils.get_checked_versions() returns an empty dict in three cases:

  • It's merge day
  • The branch versions aren't consecutive
  • Bugzilla's nightly ≠ product-details' nightly

Every rule that calls init_versions() inherits this as a gate. When it returns {}, has_enough_data() is False then the rule logs "hasn't enough data to run" and does nothing.

Roughly 15 rules depend on this (all call init_versions()):
missed_uplifts, regression_set_status_flags, telemetry_expiry_tracking_autoapproval, ni_from_manager, unlanded, topcrash_highlight, missing_beta_status, tracking, tracked_needinfo, security_affected_versions, nightly_reopened, uplift_beta, regression_new_set_nightly_affected, tracked_attention.

The impact is a multi-day coverage gap around every merge, not just a single merge-day skip. The rule bails on merge day itself, and then keeps bailing for a day or two afterward while product-details catches up — e.g. observed release 153 / beta 153 / nightly 155, which fails the "consecutive versions" check even though it wasn't merge day. Every dependent rule is dark for that whole window.

Flow, for reference:

  • rule init → init_versions() → utils.get_checked_versions() returns {}
  • has_enough_data() is then False, so send_email() logs "hasn't enough data to run" and returns.

Suggestion:
Rather than bailing when the branch numbers look inconsistent, could we maybe use nightly as the source of truth in this scenario?

Nightly is typically updated first in product-details after a merge, so it could be a reliable anchor during the window when the other branches are still stale or non-consecutive?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions