Add DST(daylight saving time) support for pipeline schedule
Description
As described by customer
We have users who are interested in the scheduled pipelines feature (https://docs.gitlab.com/ce/user/project/pipelines/schedules.html) and would like a clarification:
Do the time zones specified in the scheduled trigger (Setting "Cron Timezone") account for daylight saving time (DST)? So for example would setting it to "UTC+0 London" mean the schedule follows British Summer Time (BST) during the summer months (UTC+1) ?
It is not clear from the names of the timezones - on the one hand they are labelled as "UTC+n" which suggests no DST (since UTC is DST agnostic), on the other they do have city names (e.g. UTC+0 London) which suggsts they might support DST.
If there is no DST support, is there a roadmap for adding it? As I understand it this would simply mean allowing more timezones to be selected since the underlying TZInfo ruby gem does support these.
Proposal
Currently UTC has been hardcoded and is the only option in the dropdown, to proposal is to retrieve all available options from tzdata and offer them to the user.
Links / references
Customer issue (internal):
ZD: https://gitlab.zendesk.com/agent/tickets/81713
Documentation blurb
Self-explanatory
Overview
What is it?
Dropdown box with selectable timezones.
Why should someone use this feature?
This will allow the user to schedule correctly to their local time.
What is the underlying (business) problem?
UTC doesn't support daylight savings time.
How do you use this feature?
Select from the dropdown under pipeline schedules.
Use cases
Anyone utilizing pipeline schedules in CI/CD.
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml
Relevant lines of code
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/gitlab/ci/cron_parser.rb#L7
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/api/pipeline_schedules.rb#L48