Label missed-deliverable and missed milestones after the milestone expires but before the 22nd
This is due to the confusion of the EMs, our self-managed customers, the wider community and also a request from the delivery team.
We have 2 dates to juggle for a given release.
- On the 17th when the milestone expires.
- When we release on the 22nd.
Currently, there is still a possibility of things being part of the release even if the issue is closed after the 17th but before the 22nd. This is due to the time window between these 2 dates. There is confusion due to bot labeling. Some missed-deliverable are still being delivered since labeling on the 17th was too soon. After discussing with @marin the general idea is to leave the milestone as they are and tack on the additional buffer with the bot labelling.
Until we can actually infer via automation, how every change makes it through to production, we have the below as an iteration.
Proposal
Label missed-deliverable and missed:x.y
version on the last business day before the 22nd.
- If the 22nd falls on a friday, we label this on thursday the 21th.
- If the 22nd falls on a monday, we label this on friday the 19th.
- If the 22nd falls on either weekend days, we label this on friday the 21th or the 20th.
This labeling will happen on the last business day at midnight pacific time.
Implementation
For the logic, we are already pulling from the milestone dates. I am proposing that this should be an addon so we still rely on what is in gitlab-org
milestones but calculate it in respect to the 22nd.
- From a given milestone, find the last day (expire date) that will give us the month/year.
- From the month/year look up what day is the 21st of that month/year.
- If the 21st is a weekday, bot runs labelling on that day.
- If the 21st is sunday, bot runs labelling on the 19th.
- If the 21st is saturday, bot runs labelling on the 20th.
Thoughts @godfat @gl-quality/eng-prod ?