diff --git a/danger/feature_flag/Dangerfile b/danger/feature_flag/Dangerfile index 307c7d23b68c14b32f8dc8c469ecf3585924e9be..f5dba626dff73b36370d59118cb15e315bc12665 100644 --- a/danger/feature_flag/Dangerfile +++ b/danger/feature_flag/Dangerfile @@ -34,12 +34,22 @@ module Tooling @helper = helper end - def check_touched_feature_flag_files - touched_feature_flag_files.each do |feature_flag| + def check_added_feature_flag_files + added_files.each do |feature_flag| check_feature_flag_yaml(feature_flag) end end + def check_modified_feature_flag_files + modified_files.each do |feature_flag| + check_default_enabled(feature_flag) + end + end + + def feature_flag_file_added? + added_files.any? + end + def feature_flag_file_touched? touched_feature_flag_files.any? end @@ -201,9 +211,10 @@ feature_flag_dangerfile = Tooling::FeatureFlagDangerfile.new( helper: helper ) -feature_flag_dangerfile.check_touched_feature_flag_files +feature_flag_dangerfile.check_added_feature_flag_files +feature_flag_dangerfile.check_modified_feature_flag_files -if helper.security_mr? && feature_flag_dangerfile.feature_flag_file_touched? +if helper.security_mr? && feature_flag_dangerfile.feature_flag_file_added? failure("Feature flags are discouraged from security merge requests. Read the [security documentation](https://gitlab.com/gitlab-org/release/docs/-/blob/master/general/security/utilities/feature_flags.md) for details.") end