Skip to content

Notify devs when their change lands on the latest evergreen track #36859

Description

@sfreudenthaler

Summary

When the release pipeline moves the floating latest Docker tag (the promote-latest job in cicd_6-release.yml), notify the GitHub users whose commits are newly included via Slack, telling them their change is live on latest and when the evergreen-tracks reconciler will roll it out to latest-track customer environments.

Why

Developers currently have no visibility into when their merged change actually reaches a running customer environment. The evergreen-tracks reconciler already runs a predictable weekday cron for the latest track (kubernetes/cluster/*/evergreen-tracks-reconciler/cronjob-latest.yaml, 10:00 AM ET onward per cluster) — we can compute the next scheduled rollout and tell the author directly.

Approach

  • New reusable workflow cicd_comp_notify-latest-promotion.yml, called from cicd_6-release.yml right after promote-latest succeeds.
  • Diffs commits between the current release tag and the previous one (via GitHub compare + commits/pulls API) to find PR authors.
  • Resolves GitHub logins to Slack users via the existing utility_slack-channel-resolver.yml.
  • Looks up which environments are currently subscribed to the latest track via the dotUsage GET /environments API (tenant/customer names), with a generic fallback if that lookup fails.
  • Computes the next weekday 10:00 AM America/New_York rollout window and includes it in the Slack message.

Out of scope

  • Per-cluster exact times (message references the earliest/reference window; other regions follow later the same day).
  • Live Google-Sheet-based subscription source (dotUsage already mirrors this).

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions