diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue index d25d1ade7ebf0cc6de6875adda4e10f4362dd5fb..6c5fc916799e0d6f2bef21578de2ccb18f411a5b 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/mr_widget_rebase.vue @@ -51,9 +51,6 @@ export default { isLoading() { return this.glFeatures.mergeRequestWidgetGraphql && this.$apollo.queries.state.loading; }, - showRebaseWithoutCi() { - return this.glFeatures?.rebaseWithoutCiUi; - }, rebaseInProgress() { if (this.glFeatures.mergeRequestWidgetGraphql) { return this.state.rebaseInProgress; @@ -195,7 +192,6 @@ export default { </template> <template v-if="!isLoading" #actions> <gl-button - v-if="showRebaseWithoutCi" :loading="isMakingRequest" variant="confirm" size="small" diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index ce5d0c45a1ebbff06fb82c8bfece052939171284..870c57fd6f3de8fb9c6239de7f6a06a1d3e4e1a2 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -37,7 +37,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo push_frontend_feature_flag(:refactor_mr_widgets_extensions, project) push_frontend_feature_flag(:refactor_code_quality_extension, project) push_frontend_feature_flag(:refactor_mr_widget_test_summary, project) - push_frontend_feature_flag(:rebase_without_ci_ui, project) push_frontend_feature_flag(:issue_assignees_widget, @project) push_frontend_feature_flag(:realtime_labels, project) push_frontend_feature_flag(:refactor_security_extension, @project) diff --git a/config/feature_flags/development/rebase_without_ci_ui.yml b/config/feature_flags/development/rebase_without_ci_ui.yml deleted file mode 100644 index b05711ced29eaf5eff89b46ff4dfd71efe06a700..0000000000000000000000000000000000000000 --- a/config/feature_flags/development/rebase_without_ci_ui.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: rebase_without_ci_ui -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78194 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350262 -milestone: '14.7' -type: development -group: group::pipeline execution -default_enabled: false diff --git a/doc/user/project/merge_requests/methods/index.md b/doc/user/project/merge_requests/methods/index.md index 63b464e5ff48eb2e946b67380797dace17683eed..c9c76706e7730479375a64fcc38007cfd19191e5 100644 --- a/doc/user/project/merge_requests/methods/index.md +++ b/doc/user/project/merge_requests/methods/index.md @@ -150,12 +150,7 @@ considered equivalent to rebasing. ### Rebase without CI/CD pipeline -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118825) in GitLab 14.7 [with a flag](../../../../administration/feature_flags.md) named `rebase_without_ci_ui`. Disabled by default. - -FLAG: -On GitLab.com and self-managed GitLab, by default this feature is not available. To make it available, -ask an administrator to [enable the feature flag](../../../../administration/feature_flags.md) named `rebase_without_ci_ui`. -The feature is not ready for production use. +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118825) in GitLab 14.7. To rebase a merge request's branch without triggering a CI/CD pipeline, select **Rebase without pipeline** from the merge request reports section. diff --git a/spec/frontend/vue_merge_request_widget/components/mr_widget_rebase_spec.js b/spec/frontend/vue_merge_request_widget/components/mr_widget_rebase_spec.js index 79db6dbaa547106fa73273e368b9e8ac630dbf1c..534c0baf35d5db2c4edb06ba65a20603f58d8e1d 100644 --- a/spec/frontend/vue_merge_request_widget/components/mr_widget_rebase_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/mr_widget_rebase_spec.js @@ -8,7 +8,7 @@ jest.mock('~/vue_shared/plugins/global_toast'); let wrapper; -function createWrapper(propsData, mergeRequestWidgetGraphql, rebaseWithoutCiUi) { +function createWrapper(propsData, mergeRequestWidgetGraphql) { wrapper = mount(WidgetRebase, { propsData, data() { @@ -22,7 +22,7 @@ function createWrapper(propsData, mergeRequestWidgetGraphql, rebaseWithoutCiUi) }, }; }, - provide: { glFeatures: { mergeRequestWidgetGraphql, rebaseWithoutCiUi } }, + provide: { glFeatures: { mergeRequestWidgetGraphql } }, mocks: { $apollo: { queries: { @@ -110,7 +110,7 @@ describe('Merge request widget rebase component', () => { expect(findRebaseMessageText()).toContain('Something went wrong!'); }); - describe('Rebase buttons with flag rebaseWithoutCiUi', () => { + describe('Rebase buttons with', () => { beforeEach(() => { createWrapper( { @@ -124,7 +124,6 @@ describe('Merge request widget rebase component', () => { }, }, mergeRequestWidgetGraphql, - { rebaseWithoutCiUi: true }, ); }); @@ -149,35 +148,6 @@ describe('Merge request widget rebase component', () => { expect(rebaseMock).toHaveBeenCalledWith({ skipCi: true }); }); }); - - describe('Rebase button with rebaseWithoutCiUI flag disabled', () => { - beforeEach(() => { - createWrapper( - { - mr: { - rebaseInProgress: false, - canPushToSourceBranch: true, - }, - service: { - rebase: rebaseMock, - poll: pollMock, - }, - }, - mergeRequestWidgetGraphql, - ); - }); - - it('standard rebase button is rendered', () => { - expect(findStandardRebaseButton().exists()).toBe(true); - expect(findRebaseWithoutCiButton().exists()).toBe(false); - }); - - it('calls rebase method with skip_ci false', () => { - findStandardRebaseButton().vm.$emit('click'); - - expect(rebaseMock).toHaveBeenCalledWith({ skipCi: false }); - }); - }); }); describe('without permissions', () => { @@ -216,7 +186,7 @@ describe('Merge request widget rebase component', () => { }); }); - it('does render the "Rebase without pipeline" button with rebaseWithoutCiUI flag enabled', () => { + it('does render the "Rebase without pipeline" button', () => { createWrapper( { mr: { @@ -227,7 +197,6 @@ describe('Merge request widget rebase component', () => { service: {}, }, mergeRequestWidgetGraphql, - true, ); expect(findRebaseWithoutCiButton().exists()).toBe(true);