[go: up one dir, main page]

Delete the merge_trains_skip_train feature flag

This feature flag was introduced in 16.4, which is more than 4 milestones ago.

As part of our process we want to ensure feature flags don't stay too long in the codebase.

Rollout issue: #422111 (closed)

Remaining mentions of the feature flag (click to expand)
.rubocop_todo/rspec/be_eq.yml
31:    - 'ee/spec/features/projects/settings/merge_requests/merge_trains/enable_merge_trains_skip_train_allowed_spec.rb'

doc/ci/pipelines/merge_trains.md
248:- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/414505) in GitLab 16.5 [with a flag](../../administration/feature_flags/_index.md) named `merge_trains_skip_train`. Disabled by default.

ee/spec/requests/api/merge_requests_spec.rb
533:          stub_feature_flags(merge_trains_skip_train: false)

doc-locale/ja-jp/api/graphql/reference/_index.md
8550:| <a id="mutationprojectcicdsettingsupdatemergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean`](#boolean) | マージトレインを更新せずにマージできるオプションを許可するかどうかを示します。`merge_trains_skip_train`機能フラグも有効になっているのでなければ、無視されます。 |
34891:| <a id="projectcicdsettingmergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean!`](#boolean) | マージトレインで即時マージが許可されているかどうか。 |

doc/api/graphql/reference/_index.md
10060:| <a id="mutationprojectcicdsettingsupdatemergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean`](#boolean) | Indicates whether an option is allowed to merge without refreshing the merge train. Ignored unless the `merge_trains_skip_train` feature flag is also enabled. |
40505:| <a id="projectcicdsettingmergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean!`](#boolean) | Whether merge immediately is allowed for merge trains. |

ee/spec/requests/api/graphql/ci/ci_cd_setting_spec.rb
52:      expect(settings_data['mergeTrainsSkipTrainAllowed']).to eq skip_train_setting

.rubocop_todo/rspec/be_eq.yml
31:    - 'ee/spec/features/projects/settings/merge_requests/merge_trains/enable_merge_trains_skip_train_allowed_spec.rb'

app/models/project_ci_cd_setting.rb
57:  validates :merge_trains_skip_train_allowed, inclusion: { in: [true, false] }

db/init_structure.sql
13909:    merge_trains_skip_train_allowed boolean DEFAULT false NOT NULL,

doc-locale/ja-jp/api/graphql/reference/_index.md
8550:| <a id="mutationprojectcicdsettingsupdatemergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean`](#boolean) | マージトレインを更新せずにマージできるオプションを許可するかどうかを示します。`merge_trains_skip_train`機能フラグも有効になっているのでなければ、無視されます。 |

doc-locale/ja-jp/api/projects.md
1446:| `merge_trains_skip_train_allowed`                  | ブール値 | いいえ                             | パイプラインが完了するのを待たずに、マージトレインマージリクエストをマージできるようにします。 |
1694:| `merge_trains_skip_train_allowed`                  | ブール値           | いいえ       | パイプラインが完了するのを待たずに、マージトレインマージリクエストをマージできるようにします。 |

doc-locale/ja-jp/ci/pipelines/merge_trains.md
209:- `merge_trains_skip_train`という名前の[フラグ](../../administration/feature_flags.md)を使用して、GitLab 16.5 で[導入](https://gitlab.com/gitlab-org/gitlab/-/issues/414505)されました。デフォルトでは無効になっています。
216:GitLab Self-Managedでは、デフォルトでこの機能を利用できます。機能を非表示にするには、管理者は`merge_trains_skip_train`という名前の[機能フラグを無効に](../../administration/feature_flags.md)できます。GitLab.com および GitLab Dedicated では、この機能を利用できます。

doc/api/graphql/reference/_index.md
10060:| <a id="mutationprojectcicdsettingsupdatemergetrainsskiptrainallowed"></a>`mergeTrainsSkipTrainAllowed` | [`Boolean`](#boolean) | Indicates whether an option is allowed to merge without refreshing the merge train. Ignored unless the `merge_trains_skip_train` feature flag is also enabled. |

doc/api/openapi/openapi_v2.yaml
48061:      merge_trains_skip_train_allowed:
64308:      merge_trains_skip_train_allowed:
64873:      merge_trains_skip_train_allowed:

doc/api/openapi/openapi_v2.yaml.generated
45510:      merge_trains_skip_train_allowed:
61198:      merge_trains_skip_train_allowed:
61742:      merge_trains_skip_train_allowed:

doc/api/projects.md
1478:| `merge_trains_skip_train_allowed`                  | boolean | No                             | Allows merge train merge requests to be merged without waiting for pipelines to finish. |
1734:| `merge_trains_skip_train_allowed`                  | boolean           | No       | Allows merge train merge requests to be merged without waiting for pipelines to finish. |

doc/ci/pipelines/merge_trains.md
248:- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/414505) in GitLab 16.5 [with a flag](../../administration/feature_flags/_index.md) named `merge_trains_skip_train`. Disabled by default.
250:- [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/422111) in GitLab 18.5. Feature flag `merge_trains_skip_train` removed.

ee/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js
57:    this.mergeTrainsSkipAllowed = data.merge_trains_skip_train_allowed;

ee/app/controllers/ee/projects/settings/merge_requests_controller.rb
56:          attrs << %i[merge_trains_skip_train_allowed] if allow_merge_trains_params?

ee/app/graphql/ee/mutations/ci/project_ci_cd_settings_update.rb
19:          argument :merge_trains_skip_train_allowed, GraphQL::Types::Boolean,
46:          result.merge!(args.slice(:merge_pipelines_enabled, :merge_trains_enabled, :merge_trains_skip_train_allowed))

ee/app/graphql/ee/types/ci/ci_cd_setting_type.rb
10:          field :merge_trains_skip_train_allowed,
14:            method: :merge_trains_skip_train_allowed?,

ee/app/models/ee/project.rb
499:        delegate :merge_trains_skip_train_allowed, :merge_trains_skip_train_allowed=
1327:    def merge_trains_skip_train_allowed?

ee/app/models/ee/project_ci_cd_setting.rb
33:    def merge_trains_skip_train_allowed?
34:      merge_trains_skip_train_allowed &&

ee/app/serializers/ee/merge_request_poll_widget_entity.rb
17:      expose :merge_trains_skip_train_allowed?, as: :merge_trains_skip_train_allowed do |merge_request|
18:        merge_request.target_project.merge_trains_skip_train_allowed?

ee/app/services/ee/merge_requests/merge_service.rb
13:        params[:skip_merge_train] && project.merge_trains_skip_train_allowed?

ee/app/views/projects/settings/merge_requests/_merge_trains_settings.html.haml
17:  = form.gitlab_ui_checkbox_component :merge_trains_skip_train_allowed,

ee/lib/ee/api/entities/project.rb
63:          expose :true, as: :merge_trains_skip_train_allowed, if: ->(project, _) { project.feature_available?(:merge_pipelines) }

ee/lib/ee/api/helpers/projects_helpers.rb
50:            optional :merge_trains_skip_train_allowed, type: Grape::API::Boolean, desc: 'Allow merge train merge requests to be merged without waiting for pipelines to finish.'
87:              :merge_trains_skip_train_allowed,

ee/lib/ee/api/projects.rb
131:            attrs.delete(:merge_trains_skip_train_allowed) unless project.feature_available?(:merge_trains)

ee/spec/controllers/projects/settings/merge_requests_controller_spec.rb
171:    context 'when merge_trains_skip_train_allowed param is specified' do
172:      let(:params) { { merge_trains_skip_train_allowed: true } }
186:        expect(ci_settings.merge_trains_skip_train_allowed).to be_truthy
197:          expect(ci_settings.merge_trains_skip_train_allowed).to be_falsy

ee/spec/controllers/projects_controller_spec.rb
503:    context 'when merge_trains_skip_train_allowed param is specified' do
504:      let(:params) { { merge_trains_skip_train_allowed: true } }
517:        expect(project.merge_trains_skip_train_allowed).to be_truthy
528:          expect(project.merge_trains_skip_train_allowed).to be_falsy

ee/spec/features/merge_request/user_merges_immediately_spec.rb
21:    project.update!(merge_pipelines_enabled: true, merge_trains_enabled: true, merge_trains_skip_train_allowed: true)

ee/spec/features/projects/settings/merge_requests/merge_trains/enable_merge_trains_skip_train_allowed_spec.rb
21:      expect(find('#project_merge_trains_skip_train_allowed')).not_to be_checked
27:        expect(find('#project_merge_trains_skip_train_allowed')).to be_checked
36:      expect(project.ci_cd_settings.merge_trains_skip_train_allowed).to eq(true)

ee/spec/graphql/ee/mutations/ci/project_ci_cd_settings_update_spec.rb
20:      merge_trains_skip_train_allowed: false
59:    context 'when merge_trains_skip_train_allowed is set to true' do
62:          merge_trains_skip_train_allowed: true
67:        # This column value is not the same as #merge_trains_skip_train_allowed?
69:        expect(project.ci_cd_settings.merge_trains_skip_train_allowed).to be(true)

ee/spec/models/ee/project_spec.rb
146:          'merge_trains_skip_train_allowed' => ''

ee/spec/models/project_ci_cd_setting_spec.rb
113:  describe '#merge_trains_skip_train_allowed?' do
114:    subject(:result) { project.merge_trains_skip_train_allowed? }
141:          merge_trains_skip_train_allowed: skip_train_allowed,

ee/spec/requests/api/graphql/ci/ci_cd_setting_spec.rb
47:    let(:skip_train_setting) { project.ci_cd_settings.merge_trains_skip_train_allowed? }

ee/spec/requests/api/merge_requests_spec.rb
520:          merge_trains_skip_train_allowed: true
531:      context 'with merge_trains_skip_train disabled' do
533:          stub_feature_flags(merge_trains_skip_train: false)

ee/spec/serializers/ee/merge_request_poll_widget_entity_spec.rb
31:      expect(entity).to include(:merge_trains_skip_train_allowed)

ee/spec/services/merge_requests/merge_service_spec.rb
184:            merge_trains_skip_train_allowed: true
199:          project.ci_cd_settings.update!(merge_trains_skip_train_allowed: false)

spec/graphql/types/ci/ci_cd_setting_type_spec.rb
19:        merge_trains_skip_train_allowed merge_trains_enabled

spec/requests/api/project_attributes.yml
99:    - merge_trains_skip_train_allowed

Currently the feature flag is enabled on production

It is possible that this MR will still need some changes to remove references to the feature flag in the code. At the moment the gitlab-housekeeper is not always capable of removing all references so you must check the diff and pipeline failures to confirm if there are any issues. It is the responsibility of grouppipeline execution to push those changes to this branch.

Note: If you do not want to remove this feature flag at this time, you can add an intended_to_rollout_by_date attribute in the feature flag YAML file to prevent automated removal.

TODO for the reviewers before merging this MR

This change was generated by gitlab-housekeeper in CI using the Keeps::DeleteOldFeatureFlags keep.

To provide feedback on your experience with gitlab-housekeeper please create an issue with the label GitLab Housekeeper and consider pinging the author of this keep.

Merge request reports

Loading