diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-25 21:09:49 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-25 21:09:49 +0300 |
commit | eccc2ec564f427460be5ffa6f9a6fb25f3f7fe6d (patch) | |
tree | b93ae42093f1127ef3ff1732987c9da265f48615 | |
parent | 02e4b2d0043b416314ffb76694aff200584352d5 (diff) |
Add latest changes from gitlab-org/gitlab@master
77 files changed, 373 insertions, 254 deletions
diff --git a/app/assets/javascripts/ci/admin/jobs_table/components/cells/project_cell.vue b/app/assets/javascripts/ci/admin/jobs_table/components/cells/project_cell.vue index cbb80a5175f..9d516fc267d 100644 --- a/app/assets/javascripts/ci/admin/jobs_table/components/cells/project_cell.vue +++ b/app/assets/javascripts/ci/admin/jobs_table/components/cells/project_cell.vue @@ -23,6 +23,6 @@ export default { </script> <template> <div class="gl-text-truncate"> - <gl-link :href="projectUrl"> {{ projectName }}</gl-link> + <gl-link :href="projectUrl" data-testid="job-project-link">{{ projectName }}</gl-link> </div> </template> diff --git a/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue b/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue index a76829aa129..33b18c35347 100644 --- a/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue +++ b/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue @@ -31,7 +31,7 @@ export default { <template> <div class="gl-text-truncate"> - <gl-link v-if="adminUrl" :href="adminUrl"> + <gl-link v-if="adminUrl" :href="adminUrl" data-testid="job-runner-link"> {{ description }} </gl-link> <span v-else data-testid="empty-runner-text"> {{ $options.i18n.emptyRunnerText }}</span> diff --git a/app/assets/javascripts/ci/job_details/components/job_header.vue b/app/assets/javascripts/ci/job_details/components/job_header.vue index e30cd3a9474..00d15f87064 100644 --- a/app/assets/javascripts/ci/job_details/components/job_header.vue +++ b/app/assets/javascripts/ci/job_details/components/job_header.vue @@ -99,9 +99,20 @@ export default { <h1 class="gl-font-size-h-display gl-my-0 gl-display-inline-block" data-testid="job-name"> {{ name }} </h1> - </div> - <section class="gl-md-display-flex gl-align-items-center gl-mr-3"> + <div class="gl-display-flex gl-align-self-start gl-mt-n2"> + <div class="gl-flex-grow-1 gl-flex-shrink-0 gl-text-right"> + <gl-button + :aria-label="__('Toggle sidebar')" + category="secondary" + class="gl-lg-display-none gl-ml-2" + icon="chevron-double-lg-left" + @click="onClickSidebarButton" + /> + </div> + </div> + </div> + <section class="header-main-content gl-display-flex gl-align-items-center gl-mr-3"> <ci-badge-link class="gl-mr-3" :status="status" /> <template v-if="shouldRenderTriggeredLabel">{{ __('Started') }}</template> @@ -140,12 +151,5 @@ export default { </gl-avatar-link> </template> </section> - - <gl-button - class="gl-md-display-none gl-ml-auto gl-align-self-start js-sidebar-build-toggle" - icon="chevron-double-lg-left" - :aria-label="__('Toggle sidebar')" - @click="onClickSidebarButton" - /> </header> </template> diff --git a/app/assets/javascripts/ci/job_details/components/sidebar/sidebar.vue b/app/assets/javascripts/ci/job_details/components/sidebar/sidebar.vue index 860c4c83009..231f45d7ae6 100644 --- a/app/assets/javascripts/ci/job_details/components/sidebar/sidebar.vue +++ b/app/assets/javascripts/ci/job_details/components/sidebar/sidebar.vue @@ -1,5 +1,4 @@ <script> -import { GlButton } from '@gitlab/ui'; import { isEmpty } from 'lodash'; // eslint-disable-next-line no-restricted-imports import { mapActions, mapGetters, mapState } from 'vuex'; @@ -24,7 +23,6 @@ export default { name: 'JobSidebar', forwardDeploymentFailureModalId, components: { - GlButton, ArtifactsBlock, CommitBlock, JobsContainer, @@ -70,15 +68,6 @@ export default { externalLinks() { return filterAnnotations(this.job.annotations, 'external_link'); }, - jobHasPath() { - return Boolean( - this.job.erase_path || - this.job.new_issue_path || - this.job.terminal_path || - this.job.retry_path || - this.job.cancel_path, - ); - }, }, watch: { job(value, oldValue) { @@ -91,7 +80,7 @@ export default { }, }, methods: { - ...mapActions(['fetchJobsForStage', 'toggleSidebar']), + ...mapActions(['fetchJobsForStage']), }, }; </script> @@ -99,18 +88,7 @@ export default { <aside class="right-sidebar build-sidebar" data-offset-top="101" data-spy="affix"> <div class="sidebar-container"> <div class="blocks-container gl-p-4 gl-pt-0"> - <div - class="gl-py-4 gl-border-b gl-border-gray-50 gl-display-flex gl-md-display-none! gl-justify-content-end" - > - <gl-button - :aria-label="$options.i18n.toggleSidebar" - category="tertiary" - icon="chevron-double-lg-right" - @click="toggleSidebar" - /> - </div> <sidebar-header - v-if="jobHasPath" class="gl-py-4 gl-border-b gl-border-gray-50" :rest-job="job" :job-id="job.id" diff --git a/app/assets/javascripts/ci/job_details/components/sidebar/sidebar_header.vue b/app/assets/javascripts/ci/job_details/components/sidebar/sidebar_header.vue index 2713b37e30e..f757a3bcf00 100644 --- a/app/assets/javascripts/ci/job_details/components/sidebar/sidebar_header.vue +++ b/app/assets/javascripts/ci/job_details/components/sidebar/sidebar_header.vue @@ -1,5 +1,7 @@ <script> import { GlButton, GlTooltipDirective } from '@gitlab/ui'; +// eslint-disable-next-line no-restricted-imports +import { mapActions } from 'vuex'; import { createAlert } from '~/alert'; import { TYPENAME_COMMIT_STATUS } from '~/graphql_shared/constants'; import { convertToGraphQLId } from '~/graphql_shared/utils'; @@ -80,70 +82,93 @@ export default { retryButtonCategory() { return this.restJob.status && this.restJob.recoverable ? 'primary' : 'secondary'; }, + jobHasPath() { + return Boolean( + this.restJob.erase_path || + this.restJob.new_issue_path || + this.restJob.terminal_path || + this.restJob.retry_path || + this.restJob.cancel_path, + ); + }, + }, + methods: { + ...mapActions(['toggleSidebar']), }, }; </script> <template> - <div> - <div class="gl-display-flex gl-gap-3"> + <div class="gl-py-3!"> + <div class="gl-display-flex gl-justify-content-space-between gl-gap-3"> + <div class="gl-display-flex gl-gap-3"> + <template v-if="jobHasPath"> + <gl-button + v-if="restJob.erase_path" + v-gl-tooltip.bottom + :title="$options.i18n.eraseLogButtonLabel" + :aria-label="$options.i18n.eraseLogButtonLabel" + :href="restJob.erase_path" + :data-confirm="$options.i18n.eraseLogConfirmText" + data-testid="job-log-erase-link" + data-confirm-btn-variant="danger" + data-method="post" + icon="remove" + /> + <gl-button + v-if="restJob.new_issue_path" + v-gl-tooltip.bottom + :href="restJob.new_issue_path" + :title="$options.i18n.newIssue" + :aria-label="$options.i18n.newIssue" + category="secondary" + variant="confirm" + data-testid="job-new-issue" + icon="issue-new" + /> + <gl-button + v-if="restJob.terminal_path" + v-gl-tooltip.bottom + :href="restJob.terminal_path" + :title="$options.i18n.debug" + :aria-label="$options.i18n.debug" + target="_blank" + icon="external-link" + data-testid="terminal-link" + /> + <job-sidebar-retry-button + v-if="canShowJobRetryButton" + v-gl-tooltip.bottom + :title="buttonTitle" + :aria-label="buttonTitle" + :is-manual-job="isManualJob" + :category="retryButtonCategory" + :href="restJob.retry_path" + :modal-id="$options.forwardDeploymentFailureModalId" + variant="confirm" + data-testid="retry-button" + @updateVariablesClicked="$emit('updateVariables')" + /> + <gl-button + v-if="restJob.cancel_path" + v-gl-tooltip.bottom + :title="$options.i18n.cancelJobButtonLabel" + :aria-label="$options.i18n.cancelJobButtonLabel" + :href="restJob.cancel_path" + variant="danger" + icon="cancel" + data-method="post" + data-testid="cancel-button" + rel="nofollow" + /> + </template> + </div> <gl-button - v-if="restJob.erase_path" - v-gl-tooltip.bottom - :title="$options.i18n.eraseLogButtonLabel" - :aria-label="$options.i18n.eraseLogButtonLabel" - :href="restJob.erase_path" - :data-confirm="$options.i18n.eraseLogConfirmText" - data-testid="job-log-erase-link" - data-confirm-btn-variant="danger" - data-method="post" - icon="remove" - /> - <gl-button - v-if="restJob.new_issue_path" - v-gl-tooltip.bottom - :href="restJob.new_issue_path" - :title="$options.i18n.newIssue" - :aria-label="$options.i18n.newIssue" + :aria-label="$options.i18n.toggleSidebar" category="secondary" - variant="confirm" - data-testid="job-new-issue" - icon="issue-new" - /> - <gl-button - v-if="restJob.terminal_path" - v-gl-tooltip.bottom - :href="restJob.terminal_path" - :title="$options.i18n.debug" - :aria-label="$options.i18n.debug" - target="_blank" - icon="external-link" - data-testid="terminal-link" - /> - <job-sidebar-retry-button - v-if="canShowJobRetryButton" - v-gl-tooltip.bottom - :title="buttonTitle" - :aria-label="buttonTitle" - :is-manual-job="isManualJob" - :category="retryButtonCategory" - :href="restJob.retry_path" - :modal-id="$options.forwardDeploymentFailureModalId" - variant="confirm" - data-testid="retry-button" - @updateVariablesClicked="$emit('updateVariables')" - /> - <gl-button - v-if="restJob.cancel_path" - v-gl-tooltip.bottom - :title="$options.i18n.cancelJobButtonLabel" - :aria-label="$options.i18n.cancelJobButtonLabel" - :href="restJob.cancel_path" - variant="danger" - icon="cancel" - data-method="post" - data-testid="cancel-button" - rel="nofollow" + class="gl-lg-display-none" + icon="chevron-double-lg-right" + @click="toggleSidebar" /> </div> </div> diff --git a/app/assets/javascripts/ci/job_details/job_app.vue b/app/assets/javascripts/ci/job_details/job_app.vue index 85a12a1dca9..119f8259be7 100644 --- a/app/assets/javascripts/ci/job_details/job_app.vue +++ b/app/assets/javascripts/ci/job_details/job_app.vue @@ -195,7 +195,7 @@ export default { }, updateSidebar() { const breakpoint = bp.getBreakpointSize(); - if (breakpoint === 'xs' || breakpoint === 'sm') { + if (breakpoint === 'xs' || breakpoint === 'sm' || breakpoint === 'md') { this.hideSidebar(); } else if (!this.isSidebarOpen) { this.showSidebar(); @@ -290,11 +290,7 @@ export default { {{ __('This job is archived. Only the complete pipeline can be retried.') }} </div> <!-- job log --> - <div - v-if="hasJobLog && !showUpdateVariablesState" - class="build-log-container gl-relative" - :class="{ 'gl-mt-3': !job.archived }" - > + <div v-if="hasJobLog && !showUpdateVariablesState" class="build-log-container gl-relative"> <log-top-bar :class="{ 'has-archived-block': job.archived, @@ -332,18 +328,17 @@ export default { <!-- EO empty state --> <!-- EO Body Section --> + + <sidebar + :class="{ + 'right-sidebar-expanded': isSidebarOpen, + 'right-sidebar-collapsed': !isSidebarOpen, + }" + :artifact-help-url="artifactHelpUrl" + data-testid="job-sidebar" + @updateVariables="onUpdateVariables()" + /> </div> </template> - - <sidebar - v-if="shouldRenderContent" - :class="{ - 'right-sidebar-expanded': isSidebarOpen, - 'right-sidebar-collapsed': !isSidebarOpen, - }" - :artifact-help-url="artifactHelpUrl" - data-testid="job-sidebar" - @updateVariables="onUpdateVariables()" - /> </div> </template> diff --git a/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue b/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue index 3a6a655bfa6..ec7be3a3ffc 100644 --- a/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue +++ b/app/assets/javascripts/ci/pipeline_details/header/pipeline_details_header.vue @@ -565,7 +565,7 @@ export default { </span> </div> </div> - <div class="gl-mt-5 gl-lg-mt-0"> + <div class="gl-mt-5 gl-lg-mt-0 gl-display-flex gl-align-items-flex-start gl-gap-3"> <gl-button v-if="canRetryPipeline" v-gl-tooltip @@ -588,7 +588,6 @@ export default { :title="$options.BUTTON_TOOLTIP_CANCEL" :loading="isCanceling" :disabled="isCanceling" - class="gl-ml-3" variant="danger" data-testid="cancel-pipeline" @click="cancelPipeline()" @@ -601,7 +600,6 @@ export default { v-gl-modal="$options.modal.id" :loading="isDeleting" :disabled="isDeleting" - class="gl-ml-3" variant="danger" category="secondary" data-testid="delete-pipeline" diff --git a/app/assets/stylesheets/framework/common.scss b/app/assets/stylesheets/framework/common.scss index 764a4169da0..5dae64653ac 100644 --- a/app/assets/stylesheets/framework/common.scss +++ b/app/assets/stylesheets/framework/common.scss @@ -43,7 +43,8 @@ .right-sidebar-collapsed { --application-bar-right: #{$right-sidebar-collapsed-width}; - &.is-merge-request { + &.is-merge-request, + &.build-sidebar { --application-bar-right: 0px; } } @@ -51,6 +52,10 @@ .right-sidebar-expanded { --application-bar-right: #{$right-sidebar-width}; } + + .build-sidebar { + --application-bar-right: 0px; + } } @include media-breakpoint-up(md) { diff --git a/app/assets/stylesheets/framework/mixins.scss b/app/assets/stylesheets/framework/mixins.scss index a32663b17d3..df107798a87 100644 --- a/app/assets/stylesheets/framework/mixins.scss +++ b/app/assets/stylesheets/framework/mixins.scss @@ -254,7 +254,7 @@ @mixin build-log-bar($height) { height: $height; min-height: $height; - background: var(--gray-50, $gray-50); + background: var(--white, $white); border: 1px solid var(--border-color, $border-color); color: var(--gl-text-color, $gl-text-color); padding: $grid-size; diff --git a/app/assets/stylesheets/framework/sidebar.scss b/app/assets/stylesheets/framework/sidebar.scss index f2afa94e000..9c31559cc0e 100644 --- a/app/assets/stylesheets/framework/sidebar.scss +++ b/app/assets/stylesheets/framework/sidebar.scss @@ -73,13 +73,21 @@ } } - &:not(.is-merge-request) { + &:not(.is-merge-request):not(.build-sidebar) { @include media-breakpoint-up(md) { .content-wrapper { padding-right: $right-sidebar-width; } } } + + &.build-sidebar { + @include media-breakpoint-up(lg) { + .content-wrapper { + padding-right: $right-sidebar-width; + } + } + } } .right-sidebar { diff --git a/app/assets/stylesheets/page_bundles/build.scss b/app/assets/stylesheets/page_bundles/build.scss index a06a1513f7d..24bd8b0fd7f 100644 --- a/app/assets/stylesheets/page_bundles/build.scss +++ b/app/assets/stylesheets/page_bundles/build.scss @@ -17,7 +17,7 @@ @include build-log-top-bar(50px); z-index: 2; border-radius: $border-radius-default $border-radius-default 0 0; - box-shadow: 0 -2px 0 0 var(--white); + box-shadow: 0 -4px 0 0 var(--white); &.has-archived-block { top: calc(#{$calc-application-header-height} + 28px); @@ -89,13 +89,20 @@ } .right-sidebar.build-sidebar { + padding: 0; + + @include media-breakpoint-up(lg) { + @include gl-border-l-0; + } + &.right-sidebar-collapsed { display: none; } .sidebar-container { - padding-right: 100px; - height: 100%; + @include gl-sticky; + top: #{$top-bar-height - 1px}; + max-height: calc(100vh - #{$top-bar-height - 1px}); overflow-y: scroll; overflow-x: hidden; -webkit-overflow-scrolling: touch; diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index 896004045f4..27f1d1f5528 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -10,18 +10,18 @@ module CreatesCommit if user_access(target_project).can_push_to_branch?(branch_name_or_ref) @project_to_commit_into = target_project + @different_project = false @branch_name ||= @ref else @project_to_commit_into = current_user.fork_of(target_project) + @different_project = true @branch_name ||= @project_to_commit_into.repository.next_branch('patch') end @start_branch ||= @ref || @branch_name - start_project = @project_to_commit_into - commit_params = @commit_params.merge( - start_project: start_project, + start_project: @project_to_commit_into, start_branch: @start_branch, source_project: @project, target_project: target_project, @@ -74,7 +74,7 @@ module CreatesCommit nil else mr_message = - if different_project? + if @different_project # rubocop:disable Gitlab/ModuleWithInstanceVariables _("You can now submit a merge request to get this change into the original project.") else _("You can now submit a merge request to get this change into the original branch.") @@ -128,16 +128,12 @@ module CreatesCommit # rubocop: enable CodeReuse/ActiveRecord # rubocop:enable Gitlab/ModuleWithInstanceVariables - def different_project? - @project_to_commit_into != @project # rubocop:disable Gitlab/ModuleWithInstanceVariables - end - def create_merge_request? # Even if the field is set, if we're checking the same branch # as the target branch in the same project, # we don't want to create a merge request. params[:create_merge_request].present? && - (different_project? || @start_branch != @branch_name) # rubocop:disable Gitlab/ModuleWithInstanceVariables + (@different_project || @start_branch != @branch_name) # rubocop:disable Gitlab/ModuleWithInstanceVariables end def branch_name_or_ref diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index 56e4b22ded2..18ed617e20c 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -101,8 +101,9 @@ class Projects::BlobController < Projects::ApplicationController ) rescue Files::UpdateService::FileChangedError @conflict = true - @different_project = different_project? - render :edit + render "edit", locals: { + commit_to_fork: @different_project + } end def preview diff --git a/app/views/projects/blob/edit.html.haml b/app/views/projects/blob/edit.html.haml index 195dc03632a..74f1688a2db 100644 --- a/app/views/projects/blob/edit.html.haml +++ b/app/views/projects/blob/edit.html.haml @@ -12,7 +12,7 @@ - link_end = '</a>'.html_safe - external_link_icon = content_tag 'span', { aria: { label: _('Opens new window') }} do - sprite_icon('external-link', css_class: 'gl-icon').html_safe - - if @different_project + - if commit_to_fork = _("Error: Can't edit this file. The fork and upstream project have diverged. %{link_start}Edit the file on the fork %{icon}%{link_end}, and create a merge request.").html_safe % {link_start: blob_link_start % { url: project_blob_path(@project_to_commit_into, @id) } , link_end: link_end, icon: external_link_icon } - else - blob_url = project_blob_path(@project, @id) diff --git a/app/views/users/_cover_controls.html.haml b/app/views/users/_cover_controls.html.haml index 43278e9d232..899a08c8a17 100644 --- a/app/views/users/_cover_controls.html.haml +++ b/app/views/users/_cover_controls.html.haml @@ -1,2 +1,2 @@ -.cover-controls.d-flex.px-2.pb-4.d-sm-block.p-sm-0 +.cover-controls.gl-display-flex.gl-gap-3.gl-pb-4 = yield diff --git a/app/views/users/_view_user_in_admin_area.html.haml b/app/views/users/_view_user_in_admin_area.html.haml index b13f22956f6..36b3c33d8ab 100644 --- a/app/views/users/_view_user_in_admin_area.html.haml +++ b/app/views/users/_view_user_in_admin_area.html.haml @@ -1,4 +1,4 @@ - if current_user && current_user.admin? = render Pajamas::ButtonComponent.new(href: [:admin, @user], icon: 'user', - button_options: { class: 'gl-flex-grow-1 gl-mx-1 has-tooltip', title: s_('UserProfile|View user in admin area'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } }) + button_options: { class: 'gl-flex-grow-1 has-tooltip', title: s_('UserProfile|View user in admin area'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } }) diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml index a2f6b3da746..ac7c40095a7 100644 --- a/app/views/users/show.html.haml +++ b/app/views/users/show.html.haml @@ -17,7 +17,7 @@ .cover-block.user-cover-block.gl-border-t.gl-border-b.gl-mt-n1 %div{ class: container_class } - if Feature.enabled?(:user_profile_overflow_menu_vue) - .cover-controls.d-flex.px-2.pb-4.d-sm-block.p-sm-0 + .cover-controls.gl-display-flex.gl-gap-3.gl-pb-4 = render 'users/follow_user' -# The following edit button is mutually exclusive to the follow user button, they won't be shown together - if @user == current_user @@ -32,14 +32,14 @@ - if @user == current_user = render Pajamas::ButtonComponent.new(href: profile_path, icon: 'pencil', - button_options: { class: 'gl-flex-grow-1 gl-mx-1 has-tooltip', title: s_('UserProfile|Edit profile'), 'aria-label': 'Edit profile', data: { toggle: 'tooltip', placement: 'bottom', container: 'body' }}) + button_options: { class: 'gl-flex-grow-1 has-tooltip', title: s_('UserProfile|Edit profile'), 'aria-label': 'Edit profile', data: { toggle: 'tooltip', placement: 'bottom', container: 'body' }}) - elsif current_user #js-report-abuse{ data: { report_abuse_path: add_category_abuse_reports_path, reported_user_id: @user.id, reported_from_url: user_url(@user) } } = render 'users/view_gpg_keys' - if can?(current_user, :read_user_profile, @user) = render Pajamas::ButtonComponent.new(href: user_path(@user, rss_url_options), icon: 'rss', - button_options: { class: 'gl-flex-grow-1 gl-mx-1 has-tooltip', title: s_('UserProfile|Subscribe'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' }}) + button_options: { class: 'gl-flex-grow-1 has-tooltip', title: s_('UserProfile|Subscribe'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' }}) = render 'users/view_user_in_admin_area' = render 'users/follow_user' diff --git a/config/events/1643968255_projectsnew_select_deployment_target.yml b/config/events/1643968255_projectsnew_select_deployment_target.yml index 19f6f862d1c..8dd2a5ea2f7 100644 --- a/config/events/1643968255_projectsnew_select_deployment_target.yml +++ b/config/events/1643968255_projectsnew_select_deployment_target.yml @@ -5,14 +5,14 @@ action: select_deployment_target label_description: new_project_deployment_target property_description: selected option (string) product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.8" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79873 distributions: - ce - ee -tiers: +tiers: - free - premium - ultimate diff --git a/config/events/1647273260_projectsclustersindex_open_modal.yml b/config/events/1647273260_projectsclustersindex_open_modal.yml index 065a99e78ef..5ac1a51d550 100644 --- a/config/events/1647273260_projectsclustersindex_open_modal.yml +++ b/config/events/1647273260_projectsclustersindex_open_modal.yml @@ -4,14 +4,14 @@ category: default action: open_modal label_description: agent_token_creation_modal product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.9" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82690 distributions: - ce - ee -tiers: +tiers: - free - premium - ultimate diff --git a/config/events/1647273493_projectsclustersindex_click_button.yml b/config/events/1647273493_projectsclustersindex_click_button.yml index 2dabfba8204..87a55853ec3 100644 --- a/config/events/1647273493_projectsclustersindex_click_button.yml +++ b/config/events/1647273493_projectsclustersindex_click_button.yml @@ -5,14 +5,14 @@ action: click_button label_description: agent_token_creation_modal property_description: One of "create-token", "close" product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.9" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82690 distributions: - ce - ee -tiers: +tiers: - free - premium - ultimate diff --git a/config/events/1649272430_projectsnew_visit_docs.yml b/config/events/1649272430_projectsnew_visit_docs.yml index 8a058e12c3b..d855c63fbe0 100644 --- a/config/events/1649272430_projectsnew_visit_docs.yml +++ b/config/events/1649272430_projectsnew_visit_docs.yml @@ -4,14 +4,14 @@ category: projects:new action: visit_docs label_description: new_project_deployment_target product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.10" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84224 distributions: - ce - ee -tiers: +tiers: - free - premium - ultimate diff --git a/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml b/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml index 8661cae3391..df807768090 100644 --- a/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml +++ b/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml @@ -8,14 +8,14 @@ value_description: extra_properties: identifiers: product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "15.0" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84337 distributions: - ce - ee -tiers: +tiers: - free - premium - ultimate diff --git a/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml b/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml index 7d108ecc778..47cce65b9de 100644 --- a/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml +++ b/config/events/202109151015_cluster_services_prometheus_disabled_manual_prometheus.yml @@ -8,7 +8,7 @@ extra_properties: identifiers: product_section: dev product_stage: manage -product_group: group::integrations +product_group: group::import and integrate milestone: "14.0" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 distributions: diff --git a/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml b/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml index 9a1760f4d1f..885939edbf2 100644 --- a/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml +++ b/config/events/202109151015_cluster_services_prometheus_enabled_manual_prometheus.yml @@ -8,7 +8,7 @@ extra_properties: identifiers: product_section: dev product_stage: manage -product_group: group::integrations +product_group: group::import and integrate milestone: "14.0" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62645 distributions: diff --git a/config/events/20210915205149_default_dismiss_banner.yml b/config/events/20210915205149_default_dismiss_banner.yml index aeb8d25067b..c2be0f27d7f 100644 --- a/config/events/20210915205149_default_dismiss_banner.yml +++ b/config/events/20210915205149_default_dismiss_banner.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.3" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68467 distributions: diff --git a/config/events/20210915205150_default_click_button.yml b/config/events/20210915205150_default_click_button.yml index 20229cc1a72..b48d443a8b7 100644 --- a/config/events/20210915205150_default_click_button.yml +++ b/config/events/20210915205150_default_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "14.3" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68467 distributions: diff --git a/config/events/20210915205203_default_click_tab.yml b/config/events/20210915205203_default_click_tab.yml index 64f93f5d0e6..142a2b039dd 100644 --- a/config/events/20210915205203_default_click_tab.yml +++ b/config/events/20210915205203_default_click_tab.yml @@ -8,7 +8,7 @@ extra_properties: identifiers: product_section: dev product_stage: manage -product_group: group::import +product_group: group::import and integrate milestone: "13.12" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59452 distributions: diff --git a/config/events/20211215022206_default_click_link.yml b/config/events/20211215022206_default_click_link.yml index 19701c482c2..b98172db59f 100644 --- a/config/events/20211215022206_default_click_link.yml +++ b/config/events/20211215022206_default_click_link.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "13.12" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57160 distributions: diff --git a/config/events/20211215022206_default_environment_actions_click_dropdown.yml b/config/events/20211215022206_default_environment_actions_click_dropdown.yml index 28e15d17347..656e47ea035 100644 --- a/config/events/20211215022206_default_environment_actions_click_dropdown.yml +++ b/config/events/20211215022206_default_environment_actions_click_dropdown.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_delete_click_button.yml b/config/events/20211215022206_default_environment_delete_click_button.yml index 987cda25e56..a23c7a4b7b7 100644 --- a/config/events/20211215022206_default_environment_delete_click_button.yml +++ b/config/events/20211215022206_default_environment_delete_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_monitoring_click_button.yml b/config/events/20211215022206_default_environment_monitoring_click_button.yml index 531efae7b87..46346d6736a 100644 --- a/config/events/20211215022206_default_environment_monitoring_click_button.yml +++ b/config/events/20211215022206_default_environment_monitoring_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_pin_click_button.yml b/config/events/20211215022206_default_environment_pin_click_button.yml index 2a82785dc22..56ff6a711a9 100644 --- a/config/events/20211215022206_default_environment_pin_click_button.yml +++ b/config/events/20211215022206_default_environment_pin_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_rollback_click_button.yml b/config/events/20211215022206_default_environment_rollback_click_button.yml index a9f75daa4bb..aafefa5c056 100644 --- a/config/events/20211215022206_default_environment_rollback_click_button.yml +++ b/config/events/20211215022206_default_environment_rollback_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_stop_click_button.yml b/config/events/20211215022206_default_environment_stop_click_button.yml index 691759fb527..6b6126f9d08 100644 --- a/config/events/20211215022206_default_environment_stop_click_button.yml +++ b/config/events/20211215022206_default_environment_stop_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_terminal_click_button.yml b/config/events/20211215022206_default_environment_terminal_click_button.yml index 784bf99c0fb..4ffe02abbc0 100644 --- a/config/events/20211215022206_default_environment_terminal_click_button.yml +++ b/config/events/20211215022206_default_environment_terminal_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_environment_url_click_button.yml b/config/events/20211215022206_default_environment_url_click_button.yml index 94857c2ad89..fec266f7196 100644 --- a/config/events/20211215022206_default_environment_url_click_button.yml +++ b/config/events/20211215022206_default_environment_url_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "14.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66968 distributions: diff --git a/config/events/20211215022206_default_feature_flag_toggle_click_button.yml b/config/events/20211215022206_default_feature_flag_toggle_click_button.yml index 1b28ec91ec5..78e1f038158 100644 --- a/config/events/20211215022206_default_feature_flag_toggle_click_button.yml +++ b/config/events/20211215022206_default_feature_flag_toggle_click_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: release -product_group: group::release +product_stage: deploy +product_group: group::environments milestone: "13.4" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40023 distributions: diff --git a/config/events/20211215022206_default_mr_widget_terraform_mr_plan_button_click_terraform_mr_plan_button.yml b/config/events/20211215022206_default_mr_widget_terraform_mr_plan_button_click_terraform_mr_plan_button.yml index 185ba047742..b590595d47f 100644 --- a/config/events/20211215022206_default_mr_widget_terraform_mr_plan_button_click_terraform_mr_plan_button.yml +++ b/config/events/20211215022206_default_mr_widget_terraform_mr_plan_button_click_terraform_mr_plan_button.yml @@ -7,8 +7,8 @@ value_description: "" extra_properties: identifiers: product_section: ops -product_stage: configure -product_group: group::configure +product_stage: deploy +product_group: group::environments milestone: "13.2" introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34392 distributions: diff --git a/config/feature_flags/development/ai_experimentation_api.yml b/config/feature_flags/development/ai_experimentation_api.yml index 29a9fe4a181..f6ec1c637d0 100644 --- a/config/feature_flags/development/ai_experimentation_api.yml +++ b/config/feature_flags/development/ai_experimentation_api.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117369 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/406754 milestone: '15.11' type: development -group: group::ai-enablement +group: group::ai framework default_enabled: false diff --git a/config/feature_flags/development/ai_related_settings.yml b/config/feature_flags/development/ai_related_settings.yml index 3d4b24c6999..25649830db0 100644 --- a/config/feature_flags/development/ai_related_settings.yml +++ b/config/feature_flags/development/ai_related_settings.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118222 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/408791 milestone: '16.0' type: development -group: group::ai-enablement +group: group::ai framework default_enabled: false diff --git a/config/feature_flags/development/arkose_labs_login_challenge.yml b/config/feature_flags/development/arkose_labs_login_challenge.yml index 74c5d625aa3..c41709c33b6 100644 --- a/config/feature_flags/development/arkose_labs_login_challenge.yml +++ b/config/feature_flags/development/arkose_labs_login_challenge.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82751 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356171 milestone: '14.10' type: development -group: group::antiabuse +group: group::anti-abuse default_enabled: false diff --git a/config/feature_flags/development/arkose_labs_prevent_login.yml b/config/feature_flags/development/arkose_labs_prevent_login.yml index 8d55fd6de3a..2b132466497 100644 --- a/config/feature_flags/development/arkose_labs_prevent_login.yml +++ b/config/feature_flags/development/arkose_labs_prevent_login.yml @@ -4,5 +4,5 @@ introduced_by_url: rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358838 milestone: '14.10' type: development -group: group::antiabuse +group: group::anti-abuse default_enabled: false diff --git a/config/feature_flags/development/create_vulnerability_jira_issue_via_graphql.yml b/config/feature_flags/development/create_vulnerability_jira_issue_via_graphql.yml index 9aa5807789d..8402dda09b2 100644 --- a/config/feature_flags/development/create_vulnerability_jira_issue_via_graphql.yml +++ b/config/feature_flags/development/create_vulnerability_jira_issue_via_graphql.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60593 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/329780 milestone: '13.12' type: development -group: group::protect +group: group::threat insights default_enabled: false diff --git a/config/feature_flags/development/enable_environments_search_within_folder.yml b/config/feature_flags/development/enable_environments_search_within_folder.yml index 18edc467293..3038a38040c 100644 --- a/config/feature_flags/development/enable_environments_search_within_folder.yml +++ b/config/feature_flags/development/enable_environments_search_within_folder.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102227/ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382108 milestone: '15.7' type: development -group: group::configure +group: group::environments default_enabled: true diff --git a/config/feature_flags/development/export_csv_preload_in_batches.yml b/config/feature_flags/development/export_csv_preload_in_batches.yml index 60c82dce4a0..f745bba537e 100644 --- a/config/feature_flags/development/export_csv_preload_in_batches.yml +++ b/config/feature_flags/development/export_csv_preload_in_batches.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85989 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389847 milestone: '15.9' type: development -group: group::import +group: group::import and integrate default_enabled: false diff --git a/config/feature_flags/development/force_autodevops_on_by_default.yml b/config/feature_flags/development/force_autodevops_on_by_default.yml index a2430dc1c27..ab64ccb5e19 100644 --- a/config/feature_flags/development/force_autodevops_on_by_default.yml +++ b/config/feature_flags/development/force_autodevops_on_by_default.yml @@ -1,8 +1,8 @@ --- name: force_autodevops_on_by_default introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21136 -rollout_issue_url: +rollout_issue_url: milestone: '11.3' type: development -group: group::configure +group: group::environments default_enabled: false diff --git a/config/feature_flags/development/gitlab_duo.yml b/config/feature_flags/development/gitlab_duo.yml index 5fce9acf12f..69e5fc652d8 100644 --- a/config/feature_flags/development/gitlab_duo.yml +++ b/config/feature_flags/development/gitlab_duo.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122235 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413688 milestone: '16.1' type: development -group: group::ai-enablement +group: group::ai framework default_enabled: false diff --git a/config/feature_flags/development/openai_experimentation.yml b/config/feature_flags/development/openai_experimentation.yml index 8f0bb6df036..054e6442445 100644 --- a/config/feature_flags/development/openai_experimentation.yml +++ b/config/feature_flags/development/openai_experimentation.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/116364 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/403855 milestone: '15.11' type: development -group: group::ai-enablement +group: group::ai framework default_enabled: false diff --git a/config/feature_flags/development/remove_legacy_github_client.yml b/config/feature_flags/development/remove_legacy_github_client.yml index 1469a99ab2f..3993eb9cc99 100644 --- a/config/feature_flags/development/remove_legacy_github_client.yml +++ b/config/feature_flags/development/remove_legacy_github_client.yml @@ -1,8 +1,8 @@ --- name: remove_legacy_github_client introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37555 -rollout_issue_url: +rollout_issue_url: milestone: '13.3' type: development -group: group::import +group: group::import and integrate default_enabled: false diff --git a/config/feature_flags/development/summarize_comments.yml b/config/feature_flags/development/summarize_comments.yml index e0f8b223895..c9485625bc0 100644 --- a/config/feature_flags/development/summarize_comments.yml +++ b/config/feature_flags/development/summarize_comments.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117296 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/406758 milestone: '15.11' type: development -group: group::ai-enablement +group: group::ai framework default_enabled: false diff --git a/config/feature_flags/development/validate_import_decompressed_archive_size.yml b/config/feature_flags/development/validate_import_decompressed_archive_size.yml index cd8f7756b13..62f011a8330 100644 --- a/config/feature_flags/development/validate_import_decompressed_archive_size.yml +++ b/config/feature_flags/development/validate_import_decompressed_archive_size.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39686 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282245 milestone: '13.4' type: development -group: group::import +group: group::import and integrate default_enabled: true diff --git a/config/feature_flags/experiment/in_product_guidance_environments_webide.yml b/config/feature_flags/experiment/in_product_guidance_environments_webide.yml index 732294f7d96..167a70747a0 100644 --- a/config/feature_flags/experiment/in_product_guidance_environments_webide.yml +++ b/config/feature_flags/experiment/in_product_guidance_environments_webide.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57160 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/330390 milestone: '13.12' type: experiment -group: group::release +group: group::environments default_enabled: false diff --git a/config/feature_flags/ops/additional_snowplow_tracking.yml b/config/feature_flags/ops/additional_snowplow_tracking.yml index 4dbf91bbff5..84db2e9af38 100644 --- a/config/feature_flags/ops/additional_snowplow_tracking.yml +++ b/config/feature_flags/ops/additional_snowplow_tracking.yml @@ -3,6 +3,6 @@ name: additional_snowplow_tracking introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/12088 rollout_issue_url: milestone: '11.11' -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false type: ops diff --git a/config/feature_flags/ops/auto_disabling_web_hooks.yml b/config/feature_flags/ops/auto_disabling_web_hooks.yml index 2eebdd3d1d9..35a303ed411 100644 --- a/config/feature_flags/ops/auto_disabling_web_hooks.yml +++ b/config/feature_flags/ops/auto_disabling_web_hooks.yml @@ -4,6 +4,6 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113479 rollout_issue_url: milestone: '15.10' type: ops -group: group::integrations +group: group::import and integrate default_enabled: false # Keep this value as false, as feature should be disabled by default for self-managed # https://gitlab.com/gitlab-org/gitlab/-/issues/390157. diff --git a/config/feature_flags/ops/bitbucket_server_user_mapping_by_username.yml b/config/feature_flags/ops/bitbucket_server_user_mapping_by_username.yml index 9d86b4f5af4..e9fe13bb659 100644 --- a/config/feature_flags/ops/bitbucket_server_user_mapping_by_username.yml +++ b/config/feature_flags/ops/bitbucket_server_user_mapping_by_username.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36885 rollout_issue_url: # No rollout: This is an ops-flag milestone: '13.4' type: ops -group: group::import +group: group::import and integrate default_enabled: false # Flag should be kept disabled by default diff --git a/config/feature_flags/ops/certificate_based_clusters.yml b/config/feature_flags/ops/certificate_based_clusters.yml index 65a05377774..47e3c92cbad 100644 --- a/config/feature_flags/ops/certificate_based_clusters.yml +++ b/config/feature_flags/ops/certificate_based_clusters.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81054 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353410 milestone: '14.9' type: ops -group: group::configure +group: group::environments default_enabled: false diff --git a/config/feature_flags/ops/ecomm_instrumentation.yml b/config/feature_flags/ops/ecomm_instrumentation.yml index e35937fa344..021897cf49a 100644 --- a/config/feature_flags/ops/ecomm_instrumentation.yml +++ b/config/feature_flags/ops/ecomm_instrumentation.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71243 rollout_issue_url: milestone: '14.4' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false diff --git a/config/feature_flags/ops/github_importer_lower_per_page_limit.yml b/config/feature_flags/ops/github_importer_lower_per_page_limit.yml index d3a446dc125..fa0e5d30b7d 100644 --- a/config/feature_flags/ops/github_importer_lower_per_page_limit.yml +++ b/config/feature_flags/ops/github_importer_lower_per_page_limit.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67150 rollout_issue_url: milestone: '14.2' type: ops -group: group::import +group: group::import and integrate default_enabled: false diff --git a/config/feature_flags/ops/gtm_nonce.yml b/config/feature_flags/ops/gtm_nonce.yml index c206efd2a08..3d64e1d8644 100644 --- a/config/feature_flags/ops/gtm_nonce.yml +++ b/config/feature_flags/ops/gtm_nonce.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58494 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346322 milestone: '14.6' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false diff --git a/config/feature_flags/ops/kubernetes_agent_internal_api.yml b/config/feature_flags/ops/kubernetes_agent_internal_api.yml index 34731aaeb52..3f3ca5a4335 100644 --- a/config/feature_flags/ops/kubernetes_agent_internal_api.yml +++ b/config/feature_flags/ops/kubernetes_agent_internal_api.yml @@ -1,8 +1,8 @@ --- name: kubernetes_agent_internal_api introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41045 -rollout_issue_url: +rollout_issue_url: milestone: '13.4' type: ops -group: group::configure +group: group::environments default_enabled: true diff --git a/config/feature_flags/ops/mask_page_urls.yml b/config/feature_flags/ops/mask_page_urls.yml index a752d1c8796..5931d7a6863 100644 --- a/config/feature_flags/ops/mask_page_urls.yml +++ b/config/feature_flags/ops/mask_page_urls.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69448 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/340181 milestone: '14.3' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false diff --git a/config/feature_flags/ops/performance_bar_stats.yml b/config/feature_flags/ops/performance_bar_stats.yml index 00f2a8eeef8..77c6562c350 100644 --- a/config/feature_flags/ops/performance_bar_stats.yml +++ b/config/feature_flags/ops/performance_bar_stats.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48149 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285480 milestone: '13.7' type: ops -group: group::product_planning +group: group::product planning default_enabled: false diff --git a/config/feature_flags/ops/redis_hll_tracking.yml b/config/feature_flags/ops/redis_hll_tracking.yml index 6570143d60d..58d36a42642 100644 --- a/config/feature_flags/ops/redis_hll_tracking.yml +++ b/config/feature_flags/ops/redis_hll_tracking.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56970 rollout_issue_url: milestone: '13.11' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: true diff --git a/config/feature_flags/ops/show_gitlab_agent_feedback.yml b/config/feature_flags/ops/show_gitlab_agent_feedback.yml index 2e2af65fea8..f6c3c17b48e 100644 --- a/config/feature_flags/ops/show_gitlab_agent_feedback.yml +++ b/config/feature_flags/ops/show_gitlab_agent_feedback.yml @@ -1,8 +1,8 @@ --- name: show_gitlab_agent_feedback introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78567 -rollout_issue_url: +rollout_issue_url: milestone: '14.8' type: ops -group: group::configure +group: group::environments default_enabled: true diff --git a/config/feature_flags/ops/show_terraform_banner.yml b/config/feature_flags/ops/show_terraform_banner.yml index a4ec831f4e4..5af9ab0a9f7 100644 --- a/config/feature_flags/ops/show_terraform_banner.yml +++ b/config/feature_flags/ops/show_terraform_banner.yml @@ -1,8 +1,8 @@ --- name: show_terraform_banner introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71462 -rollout_issue_url: +rollout_issue_url: milestone: '14.4' type: ops -group: group::configure +group: group::environments default_enabled: true diff --git a/config/feature_flags/ops/usage_data_api.yml b/config/feature_flags/ops/usage_data_api.yml index edb78c151d5..7f2f2c1b127 100644 --- a/config/feature_flags/ops/usage_data_api.yml +++ b/config/feature_flags/ops/usage_data_api.yml @@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41301 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267114 milestone: '13.4' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: true diff --git a/config/feature_flags/ops/usage_data_non_sql_metrics.yml b/config/feature_flags/ops/usage_data_non_sql_metrics.yml index 8347a20fe47..5e3fb8524c6 100644 --- a/config/feature_flags/ops/usage_data_non_sql_metrics.yml +++ b/config/feature_flags/ops/usage_data_non_sql_metrics.yml @@ -1,8 +1,8 @@ --- name: usage_data_non_sql_metrics introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57050 -rollout_issue_url: +rollout_issue_url: milestone: '13.11' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false diff --git a/config/feature_flags/ops/usage_data_queries_api.yml b/config/feature_flags/ops/usage_data_queries_api.yml index 4b6cdad2521..67e6cd0e106 100644 --- a/config/feature_flags/ops/usage_data_queries_api.yml +++ b/config/feature_flags/ops/usage_data_queries_api.yml @@ -1,8 +1,8 @@ --- name: usage_data_queries_api introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57016 -rollout_issue_url: +rollout_issue_url: milestone: '13.11' type: ops -group: group::product intelligence +group: group::analytics instrumentation default_enabled: false diff --git a/config/initializers/0_1_yaml_safe_load_file_patch.rb b/config/initializers/0_1_yaml_safe_load_file_patch.rb deleted file mode 100644 index f43712900eb..00000000000 --- a/config/initializers/0_1_yaml_safe_load_file_patch.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -# TODO: Remove this once we're on Ruby 3 -# https://gitlab.com/gitlab-org/gitlab/-/issues/393651 -unless YAML.respond_to?(:safe_load_file) - module YAML - # Temporary Ruby 2 back-compat workaround. - # - # This method only exists as of stdlib 3.0.0: - # https://ruby-doc.org/stdlib-3.0.0/libdoc/psych/rdoc/Psych.html - def self.safe_load_file(path, **options) - YAML.safe_load(File.read(path), **options) - end - end -end diff --git a/doc/architecture/blueprints/feature_flags_development/index.md b/doc/architecture/blueprints/feature_flags_development/index.md index b2e6fd1e82c..36fbd9395d7 100644 --- a/doc/architecture/blueprints/feature_flags_development/index.md +++ b/doc/architecture/blueprints/feature_flags_development/index.md @@ -93,7 +93,7 @@ allow us to have: name: ci_disallow_to_create_merge_request_pipelines_in_target_project introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40724 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235119 -group: group::release +group: group::environments type: development default_enabled: false ``` diff --git a/doc/development/sidekiq/compatibility_across_updates.md b/doc/development/sidekiq/compatibility_across_updates.md index 1d8b9d15cc6..5ca6bf773fc 100644 --- a/doc/development/sidekiq/compatibility_across_updates.md +++ b/doc/development/sidekiq/compatibility_across_updates.md @@ -164,7 +164,7 @@ To remove a worker class, follow these steps over two minor releases: 1. Add a migration (not a post-deployment migration) that uses `sidekiq_remove_jobs`: ```ruby - class RemoveMyDeprecatedWorkersJobInstances < Gitlab::Database::Migration[2.0] + class RemoveMyDeprecatedWorkersJobInstances < Gitlab::Database::Migration[2.1] DEPRECATED_JOB_CLASSES = %w[ MyDeprecatedWorkerOne MyDeprecatedWorkerTwo diff --git a/doc/user/group/saml_sso/group_sync.md b/doc/user/group/saml_sso/group_sync.md index 335c989c85f..4002472e760 100644 --- a/doc/user/group/saml_sso/group_sync.md +++ b/doc/user/group/saml_sso/group_sync.md @@ -135,7 +135,7 @@ To integrate Microsoft Azure AD, you: <!-- vale gitlab.SentenceSpacing = NO --> -1. In the [Azure Portal](https://portal.azure.com), go to **Azure Active Directory > App registrations > All applications**, and select your GitLab SAML application. +1. In the [Azure Portal](https://portal.azure.com), go to **Microsoft Entra ID > App registrations > All applications**, and select your GitLab SAML application. 1. Under **Essentials**, the **Application (client) ID** and **Directory (tenant) ID** values are displayed. Copy these values, because you need them for the GitLab configuration. 1. In the left navigation, select **Certificates & secrets**. 1. On the **Client secrets** tab, select **New client secret**. diff --git a/doc/user/group/saml_sso/scim_setup.md b/doc/user/group/saml_sso/scim_setup.md index a9b9bf26444..0efff226b1c 100644 --- a/doc/user/group/saml_sso/scim_setup.md +++ b/doc/user/group/saml_sso/scim_setup.md @@ -118,8 +118,8 @@ For each attribute: 1. Select **Ok**. If your SAML configuration differs from [the recommended SAML settings](index.md#azure), select the mapping -attributes and modify them accordingly. In particular, the `objectId` source attribute must map to the `externalId` -target attribute. +attributes and modify them accordingly. The source attribute that you map to the `externalId` +target attribute must match the attribute used for the SAML `NameID`. If a mapping is not listed in the table, use the Azure Active Directory defaults. For a list of required attributes, refer to the [internal group SCIM API](../../../development/internal_api/index.md#group-scim-api) documentation. diff --git a/doc/user/project/service_desk/configure.md b/doc/user/project/service_desk/configure.md index f8f4ab44e5a..172a105cc28 100644 --- a/doc/user/project/service_desk/configure.md +++ b/doc/user/project/service_desk/configure.md @@ -272,6 +272,89 @@ External participants can [reply by email](../../../administration/reply_by_emai GitLab uses an email reply address with a 32-character reply key that corresponds to the ticket. When a custom email is configured, GitLab generates the reply address from that email. +### Use Google Workspace with your own domain + +Set up a custom email address for Service Desk when using Google Workspace with your own domain. + +Prerequisites: + +- You already have a Google Workspace account. +- You can create new accounts for your tenant. + +To configure a custom Service Desk email address with Google Workspace: + +1. [Configure a Google Workspace account](#configure-a-google-workspace-account). +1. [Configure email forwarding](#configure-email-forwarding). +1. [Configure custom email address](#configure-custom-email-address). + +#### Configure a Google Workspace account + +First, you must create and configure a Google Workspace account. + +In Google Workspace: + +1. Create a new account for the custom email address you'd like to use (for example, `support@example.com`). +1. Sign in to that account and activate + [two-factor authentication](https://myaccount.google.com/u/3/signinoptions/two-step-verification). +1. [Create an app password](https://myaccount.google.com/u/3/apppasswords) that you can use as your + SMTP password. + Store it in a secure place and remove spaces between the characters. + +Next, you must [configure email forwarding](#configure-email-forwarding). + +#### Configure email forwarding + +The following steps require moving between GitLab and Google Workspace. + +In GitLab: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Settings > General** +1. Expand **Service Desk**. +1. Note the email address below **Service Desk email address to forward emails to**. + +In Google Workspace: + +1. Sign in to the custom email account and open the [Forwarding and POP/IMAP](https://mail.google.com/mail/u/0/#settings/fwdandpop) settings page. +1. Select **Add a forwarding address**. +1. Enter the Service Desk address from the custom email form. +1. Select **Next**. +1. Confirm your input and select **Proceed**. Google sends an email to the Service Desk address and + requires a confirmation code. + +In GitLab: + +1. Go to **Issues** of the project and wait for a new issue to be created from the confirmation + email from Google. +1. Open the issue and note the confirmation code. +1. (Optional) Delete the issue. + +In Google Workspace: + +1. Enter the confirmation code and select **Verify**. +1. Select **Forward a copy of incoming mail to** and make sure the Service Desk address is selected + from the dropdown list. +1. At the bottom of the page, select **Save Changes**. + +Next, [configure a custom email address](#configure-a-custom-email-address) to use with Service Desk. + +#### Configure custom email address + +In GitLab: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Settings > General** +1. Expand **Service Desk** and find the custom email settings. +1. Complete the fields: + - **Custom email address**: Your custom email address. + - **SMTP host**: `smtp.gmail.com`. + - **SMTP port**: `587`. + - **SMTP username**: Prefilled with the custom email address. + - **SMTP password**: The app password you previously created for the custom email account. +1. Select **Save and test connection** +1. After the [verification process](#verification) you should be able to + [enable the custom email address](#enable-or-disable-the-custom-email-address). + ### Known issues - Some service providers don't allow SMTP connections any more. diff --git a/lib/gitlab/mail_room.rb b/lib/gitlab/mail_room.rb index 5f760e764c8..426d449abbe 100644 --- a/lib/gitlab/mail_room.rb +++ b/lib/gitlab/mail_room.rb @@ -11,20 +11,6 @@ require_relative 'redis/queues' unless defined?(Gitlab::Redis::Queues) # This service is run independently of the main Rails process, # therefore the `Rails` class and its methods are unavailable. -# TODO: Remove this once we're on Ruby 3 -# https://gitlab.com/gitlab-org/gitlab/-/issues/393651 -unless YAML.respond_to?(:safe_load_file) - module YAML - # Temporary Ruby 2 back-compat workaround. - # - # This method only exists as of stdlib 3.0.0: - # https://ruby-doc.org/stdlib-3.0.0/libdoc/psych/rdoc/Psych.html - def self.safe_load_file(path, **options) - YAML.safe_load(File.read(path), **options) - end - end -end - module Gitlab module MailRoom RAILS_ROOT_DIR = Pathname.new('../..').expand_path(__dir__).freeze diff --git a/spec/features/admin/admin_jobs_spec.rb b/spec/features/admin/admin_jobs_spec.rb index b305bec6493..b0d50605afc 100644 --- a/spec/features/admin/admin_jobs_spec.rb +++ b/spec/features/admin/admin_jobs_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe 'Admin Jobs', :js, feature_category: :continuous_integration do + include FilteredSearchHelpers + before do admin = create(:admin) sign_in(admin) @@ -26,9 +28,9 @@ RSpec.describe 'Admin Jobs', :js, feature_category: :continuous_integration do expect(page).to have_selector('[data-testid="jobs-all-tab"]') expect(page.all('[data-testid="jobs-table-row"]').size).to eq(4) - expect(page).to have_button 'Cancel all jobs' click_button 'Cancel all jobs' + expect(page).to have_button 'Yes, proceed' expect(page).to have_content 'Are you sure?' end @@ -88,5 +90,51 @@ RSpec.describe 'Admin Jobs', :js, feature_category: :continuous_integration do end end end + + context 'jobs table links' do + let_it_be(:namespace) { create(:namespace) } + let_it_be(:project) { create(:project, namespace: namespace) } + let_it_be(:runner) { create(:ci_runner, :instance) } + + it 'displays correct links' do + pipeline = create(:ci_pipeline, project: project) + job = create(:ci_build, pipeline: pipeline, status: :success, runner: runner) + + visit admin_jobs_path + + wait_for_requests + + within_testid('jobs-table') do + expect(page).to have_link(href: project_job_path(project, job)) + expect(page).to have_link(href: project_pipeline_path(project, pipeline)) + expect(find_by_testid('job-project-link')['href']).to include(project_path(project)) + expect(find_by_testid('job-runner-link')['href']).to include("/admin/runners/#{runner.id}") + end + end + end + + context 'job filtering' do + it 'filters jobs by status' do + create(:ci_build, pipeline: pipeline, status: :success) + create(:ci_build, pipeline: pipeline, status: :failed) + + visit admin_jobs_path + + wait_for_requests + + within_testid('jobs-table') do + expect(page).to have_selector('[data-testid="jobs-table-row"]', count: 2) + end + + select_tokens 'Status', 'Failed', submit: true, input_text: 'Filter jobs' + + wait_for_requests + + within_testid('jobs-table') do + expect(page).to have_selector('[data-testid="jobs-table-row"]', count: 1) + expect(find_by_testid('ci-badge-text')).to have_content('failed') + end + end + end end end diff --git a/spec/frontend/ci/job_details/components/job_header_spec.js b/spec/frontend/ci/job_details/components/job_header_spec.js index 39b130ef414..609369316f5 100644 --- a/spec/frontend/ci/job_details/components/job_header_spec.js +++ b/spec/frontend/ci/job_details/components/job_header_spec.js @@ -52,6 +52,10 @@ describe('Header CI Component', () => { createComponent(); }); + it('renders the correct job name', () => { + expect(findJobName().text()).toBe(defaultProps.name); + }); + it('should render status badge', () => { expect(findCiBadgeLink().exists()).toBe(true); }); @@ -63,10 +67,6 @@ describe('Header CI Component', () => { it('should render sidebar toggle button', () => { expect(findSidebarToggleBtn().exists()).toBe(true); }); - - it('renders the correct job name', () => { - expect(findJobName().text()).toBe(defaultProps.name); - }); }); describe('user avatar', () => { |