You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a follow-on to the existing promotion engine built in #36160, which lives in the repo at core/cicd/evergreen-tracks/ (planner/executor/markers with taint + hold + forward-only). That engine currently advances standard and trailing on a daily age check (age ≥ ~14 / ~28 days). The launch decision is that Standard and Trailing recalculate every two weeks on the existing maintenance-window schedule, not continuously. The engine's planner and cron need to be reworked so a track only moves on a scheduled maintenance window, giving customers a predictable "your next possible update is on window date Y" answer.
Scope
Change the promotion trigger from a daily cron to the existing maintenance-window schedule (every two weeks); latest may continue to advance on each release cut.
Rework the planner so standard/trailing compute their target as of the maintenance window, not the calendar day — a release only becomes eligible for a track on a window boundary.
Overlap note: closely related to existing issue #36160 — this is a follow-on cadence change, not a duplicate.
Part of the Evergreen Release Tracks epic. Parent: #35693.
Concrete scope (from Steve, 2026-07-11)
Cron schedule: adjust the promotion schedule so tag re-points cannot cause updates to deploy outside the maintenance window (no unexpected off-window deployments).
Floating-tag drift detection: build a tool — like the one in the OVH cloud-control cluster — that detects a SHA change under a floating tag and ensures the cluster actually picks it up.
Release-job isolation + regression test: when the release job triggers the floating-tag move, it must move latest only — never standard/trailing (moving those could trigger a deployment/pod roll). Cover this with a test so it can't regress later.
Rebuild track promotion engine to honor 2-week maintenance-window cadence
Parent epic: #35693 · Workstream A (Launch mechanics) · Target: Jul 22
Background
This is a follow-on to the existing promotion engine built in #36160, which lives in the repo at
core/cicd/evergreen-tracks/(planner/executor/markers with taint + hold + forward-only). That engine currently advancesstandardandtrailingon a daily age check (age ≥ ~14 / ~28 days). The launch decision is that Standard and Trailing recalculate every two weeks on the existing maintenance-window schedule, not continuously. The engine's planner and cron need to be reworked so a track only moves on a scheduled maintenance window, giving customers a predictable "your next possible update is on window date Y" answer.Scope
latestmay continue to advance on each release cut.standard/trailingcompute their target as of the maintenance window, not the calendar day — a release only becomes eligible for a track on a window boundary.cicd/evergreen-tracks/planner tests and fixtures for window-based eligibility.dotcms/dotcms-testsandbox.Out of scope
Acceptance criteria
standard/trailingonly re-point on a maintenance-window boundary, verified in the sandbox across at least two simulated windows.cicd/evergreen-tracks/updated to describe the 2-week cadence.Depends on
Blocks
Overlap note: closely related to existing issue #36160 — this is a follow-on cadence change, not a duplicate.
Part of the Evergreen Release Tracks epic. Parent: #35693.
Concrete scope (from Steve, 2026-07-11)
latestonly — neverstandard/trailing(moving those could trigger a deployment/pod roll). Cover this with a test so it can't regress later.