Prevent merging if migrations timestamps are too old
Sometimes, very old migration timestamps can be problematic due to ordering in self managed instances going multiple versions. To help us avoid this issue, we should warn developers that their migration timestamps are more than x weeks old.
My gut check for age is 3 weeks. 2 weeks and I think we'll end up with a lot of migrations getting pinged for it when pipelines take time, but it's less than a milestone, so hopefully mostly it's within the milestone timeframe. Maybe instead we should warn unless the timestamp falls within the current milestone (with some margin of error)? I think there's room for debate there and whatever the implementer wants to do will be fine.
Deliverables
-
Decide on recommended max age of migration timestamps and document in migration style guide (Decided 3 weeks in 2023-04-25 meeting minutes) -
A warning (danger, gitlab-com-database-testing, something) is given to users if their migration timestamps are more than x weeks old -
Pipeline should fail if there are migrations older than the release date of the last required stop
Edit: The last item will be addressed in #414014 (closed)
Edited by Jon Jenkins