From 002cbbcb2ad8f22c631de7a179fc689123357a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= <ayufan@ayufan.eu> Date: Thu, 29 Oct 2020 16:09:30 +0100 Subject: [PATCH] Extend `bin/feature-flag` with `milestone` This reads a milestone from `VERSION` and appends `milestone:` to YAML --- bin/feature-flag | 12 ++++++++++++ lib/feature/shared.rb | 1 + 2 files changed, 13 insertions(+) diff --git a/bin/feature-flag b/bin/feature-flag index 43e273be1fa91..0de9b90681fcb 100755 --- a/bin/feature-flag +++ b/bin/feature-flag @@ -35,6 +35,7 @@ class FeatureFlagOptionParser :name, :type, :group, + :milestone, :ee, :amend, :dry_run, @@ -64,6 +65,10 @@ class FeatureFlagOptionParser options.introduced_by_url = value end + opts.on('-M', '--milestone [string]', String, 'Milestone in which the Feature Flag was introduced') do |value| + options.milestone = value + end + opts.on('-i', '--rollout-issue-url [string]', String, 'URL of Issue rolling out the Feature Flag') do |value| options.rollout_issue_url = value end @@ -188,6 +193,11 @@ class FeatureFlagOptionParser end end + def read_milestone + milestone = File.read('VERSION') + milestone.gsub(/^(\d+\.\d+).*$/, '\1').chomp + end + def read_default_enabled(options) TYPES.dig(options.type, :default_enabled) end @@ -214,6 +224,7 @@ class FeatureFlagCreator options.group ||= FeatureFlagOptionParser.read_group options.introduced_by_url ||= FeatureFlagOptionParser.read_introduced_by_url options.rollout_issue_url ||= FeatureFlagOptionParser.read_rollout_issue_url(options) + options.milestone ||= FeatureFlagOptionParser.read_milestone $stdout.puts "\e[32mcreate\e[0m #{file_path}" $stdout.puts contents @@ -243,6 +254,7 @@ class FeatureFlagCreator 'name' => options.name, 'introduced_by_url' => options.introduced_by_url, 'rollout_issue_url' => options.rollout_issue_url, + 'milestone' => options.milestone, 'group' => options.group, 'type' => options.type.to_s, 'default_enabled' => FeatureFlagOptionParser.read_default_enabled(options) diff --git a/lib/feature/shared.rb b/lib/feature/shared.rb index 5716bc007a60b..1fcbc8fa1730c 100644 --- a/lib/feature/shared.rb +++ b/lib/feature/shared.rb @@ -57,6 +57,7 @@ module Shared name introduced_by_url rollout_issue_url + milestone type group default_enabled -- GitLab