Create a library to calculate release dates
Context
Starting on 16.6, the monthly release date will be moved from the 22nd to the 3rd Thursday of each month, this decreases the toil and amount of work involved as part of GitLab's regular release processes and means we release on a predictable day, with release-based tasks not bleeding into weekends. However, from the PoV of communication - relative dates are more complex to understand than absolute dates.
Proposal: Create a gem to calculate release dates
To account for the dynamic nature of calculating relative dates, lets create a library that automatically calculates these dates along with the versions associated. This will remove the mental burden of manually calculating what is the third Thursday of each month and will prevent human errors. This library will be used to feed the releases.yml
file introduced by gitlab-com/www-gitlab-com#34176 (closed)
Implementation details
-
Create the release_dates gem https://gitlab.com/gitlab-org/delivery/release_dates/-/merge_requests/1 -
Add libraries to calculate the release dates along with the version https://gitlab.com/gitlab-org/delivery/release_dates/-/merge_requests/2 -
Refactor https://gitlab.com/gitlab-org/delivery/release_dates/-/merge_requests/3 -
Configure the gem to make it usable https://gitlab.com/gitlab-org/delivery/release_dates/-/merge_requests/3 -
Configure the project's gem to be owned by Delivery team -
Document how to use the gem https://gitlab.com/gitlab-org/delivery/release_dates/-/merge_requests/3 -
Documentation on how to update the releases.yml
file and therelease_managers.yml
file gitlab-org/release/docs!620 (merged)
Follow-ups
- Include the gem in the handbook repository so it can be used to automatically update the
releases.yml
file. #19561