diff options
Diffstat (limited to 'workhorse/_support/generate_changelog')
-rwxr-xr-x | workhorse/_support/generate_changelog | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/workhorse/_support/generate_changelog b/workhorse/_support/generate_changelog deleted file mode 100755 index a9a8bae5a25..00000000000 --- a/workhorse/_support/generate_changelog +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env ruby -# Generates the changelog from the yaml entries in changelogs/unreleased -# -# Lifted form gitlab-org/gitaly - -require 'yaml' -require 'fileutils' - -class ChangelogEntry - attr_reader :title, :merge_request, :type, :author - - def initialize(file_path) - yaml = YAML.safe_load(File.read(file_path)) - - @title = yaml['title'] - @merge_request = yaml['merge_request'] - @type = yaml['type'] - @author = yaml['author'] - end - - def to_s - str = "" - str << "- #{title}\n" - str << " https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/#{merge_request}\n" - str << " Contributed by #{author}\n" if author - - str - end -end - -ROOT_DIR = File.expand_path('../..', __FILE__) -UNRELEASED_ENTRIES = File.join(ROOT_DIR, 'changelogs', 'unreleased') -CHANGELOG_FILE = File.join(ROOT_DIR, 'CHANGELOG') - -def main(version) - entries = [] - Dir["#{UNRELEASED_ENTRIES}/*.yml"].each do |yml| - entries << ChangelogEntry.new(yml) - FileUtils.rm(yml) - end - - sections = [] - types = entries.map(&:type).uniq.sort - types.each do |type| - text = '' - text << "### #{type.capitalize}\n" - - entries.each do |e| - next unless e.type == type - - text << e.to_s - end - - sections << text - end - - sections << '- No changes.' if sections.empty? - - new_version_entry = ["## v#{version}\n\n", sections.join("\n"), "\n"].join - - current_changelog = File.read(CHANGELOG_FILE).lines - header = current_changelog.shift(2) - - new_changelog = [header, new_version_entry, current_changelog.join] - - File.write(CHANGELOG_FILE, new_changelog.join) -end - -unless ARGV.count == 1 - warn "Usage: #{$0} VERSION" - warn "Specify version as x.y.z" - abort -end - -main(ARGV.first) |