lib/release_tools/monthly_issue.rb (68 lines of code) (raw):
# frozen_string_literal: true
module ReleaseTools
class MonthlyIssue < Issue
RELEASE_TYPE = 'monthly'
def create
release_pipeline
super
end
def title
"Release #{version.to_minor}"
end
def labels
'Monthly Release,team::Delivery'
end
def project
::ReleaseTools::Project::Release::Tasks
end
def assignees
ReleaseManagers::Schedule.new.active_release_managers.collect(&:id)
rescue ReleaseManagers::Schedule::VersionNotFoundError
nil
end
def current_stable_branch
ReleaseTools::Versions.current_stable_branch
end
def release_date
@release_date ||= Date.parse(
ReleaseTools::GitlabReleasesGemClient.upcoming_releases[version.to_minor]
)
end
def formated_date(date)
date.strftime("%A, %Y-%m-%d")
end
def preparation_start_day
formated_date(release_date - 6.days)
end
def candidate_selection_day
formated_date(release_date - 3.days)
end
def rc_tag_day
formated_date(release_date - 2.days)
end
def tag_day
formated_date(release_date - 1.day)
end
def release_day
formated_date(release_date)
end
def ordinalized_release_date
release_date.day.ordinalize
end
def helm_tag
"v#{helm_version}"
end
protected
def template_path
File.expand_path('../../templates/monthly.md.erb', __dir__)
end
def helm_version
ReleaseTools::Helm::HelmVersionFinder.new.execute(version)
end
def pipeline_variables
{ MONTHLY_RELEASE_PIPELINE: 'true' }
end
def early_branch_creation?
Feature.enabled?(:early_branch_creation)
end
end
end