diff options
106 files changed, 611 insertions, 328 deletions
diff --git a/app/assets/javascripts/boards/components/board_card.vue b/app/assets/javascripts/boards/components/board_card.vue index 2821b799cef..795db42d1e3 100644 --- a/app/assets/javascripts/boards/components/board_card.vue +++ b/app/assets/javascripts/boards/components/board_card.vue @@ -40,6 +40,12 @@ export default { this.selectedBoardItems.findIndex((boardItem) => boardItem.id === this.item.id) > -1 ); }, + isDisabled() { + return this.disabled || !this.item.id || this.item.isLoading; + }, + isDraggable() { + return !this.disabled && this.item.id && !this.item.isLoading; + }, }, methods: { ...mapActions(['toggleBoardItemMultiSelection', 'toggleBoardItem']), @@ -63,9 +69,10 @@ export default { data-qa-selector="board_card" :class="{ 'multi-select': multiSelectVisible, - 'user-can-drag': !disabled && item.id, - 'is-disabled': disabled || !item.id, + 'user-can-drag': isDraggable, + 'is-disabled': isDisabled, 'is-active': isActive, + 'gl-cursor-not-allowed gl-bg-gray-10': item.isLoading, }" :index="index" :data-item-id="item.id" diff --git a/app/assets/javascripts/boards/components/board_card_inner.vue b/app/assets/javascripts/boards/components/board_card_inner.vue index 0cb2e64042e..2f4e9044b9e 100644 --- a/app/assets/javascripts/boards/components/board_card_inner.vue +++ b/app/assets/javascripts/boards/components/board_card_inner.vue @@ -1,5 +1,5 @@ <script> -import { GlLabel, GlTooltipDirective, GlIcon } from '@gitlab/ui'; +import { GlLabel, GlTooltipDirective, GlIcon, GlLoadingIcon } from '@gitlab/ui'; import { sortBy } from 'lodash'; import { mapActions, mapGetters, mapState } from 'vuex'; import boardCardInner from 'ee_else_ce/boards/mixins/board_card_inner'; @@ -17,6 +17,7 @@ import IssueTimeEstimate from './issue_time_estimate.vue'; export default { components: { GlLabel, + GlLoadingIcon, GlIcon, UserAvatarLink, TooltipOnTruncate, @@ -181,9 +182,13 @@ export default { class="confidential-icon gl-mr-2" :aria-label="__('Confidential')" /> - <a :href="item.path || item.webUrl || ''" :title="item.title" @mousemove.stop>{{ - item.title - }}</a> + <a + :href="item.path || item.webUrl || ''" + :title="item.title" + :class="{ 'gl-text-gray-400!': item.isLoading }" + @mousemove.stop + >{{ item.title }}</a + > </h4> </div> <div v-if="showLabelFooter" class="board-card-labels gl-mt-2 gl-display-flex gl-flex-wrap"> @@ -206,6 +211,7 @@ export default { <div class="gl-display-flex align-items-start flex-wrap-reverse board-card-number-container gl-overflow-hidden js-board-card-number-container" > + <gl-loading-icon v-if="item.isLoading" size="md" class="mt-3" /> <span v-if="item.referencePath" class="board-card-number gl-overflow-hidden gl-display-flex gl-mr-3 gl-mt-3" diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue index 94e29f3ad86..f42e5ff6b57 100644 --- a/app/assets/javascripts/boards/components/board_list.vue +++ b/app/assets/javascripts/boards/components/board_list.vue @@ -86,7 +86,9 @@ export default { : this.$options.i18n.showingAllIssues; }, treeRootWrapper() { - return this.canAdminList ? Draggable : 'ul'; + return this.canAdminList && !this.listsFlags[this.list.id]?.addItemToListInProgress + ? Draggable + : 'ul'; }, treeRootOptions() { const options = { diff --git a/app/assets/javascripts/boards/components/board_new_issue.vue b/app/assets/javascripts/boards/components/board_new_issue.vue index 144cae15ab3..a63b49f9508 100644 --- a/app/assets/javascripts/boards/components/board_new_issue.vue +++ b/app/assets/javascripts/boards/components/board_new_issue.vue @@ -102,7 +102,7 @@ export default { ref="submitButton" :disabled="disabled" class="float-left js-no-auto-disable" - variant="success" + variant="confirm" category="primary" type="submit" > diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index 5158e82c320..3701e115c44 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -489,8 +489,13 @@ export default { }); }, - addListItem: ({ commit }, { list, item, position }) => { - commit(types.ADD_BOARD_ITEM_TO_LIST, { listId: list.id, itemId: item.id, atIndex: position }); + addListItem: ({ commit }, { list, item, position, inProgress = false }) => { + commit(types.ADD_BOARD_ITEM_TO_LIST, { + listId: list.id, + itemId: item.id, + atIndex: position, + inProgress, + }); commit(types.UPDATE_BOARD_ITEM, item); }, @@ -509,8 +514,8 @@ export default { input.projectPath = fullPath; } - const placeholderIssue = formatIssue({ ...issueInput, id: placeholderId }); - dispatch('addListItem', { list, item: placeholderIssue, position: 0 }); + const placeholderIssue = formatIssue({ ...issueInput, id: placeholderId, isLoading: true }); + dispatch('addListItem', { list, item: placeholderIssue, position: 0, inProgress: true }); gqlClient .mutate({ diff --git a/app/assets/javascripts/boards/stores/mutations.js b/app/assets/javascripts/boards/stores/mutations.js index 667628b2998..269357b14b5 100644 --- a/app/assets/javascripts/boards/stores/mutations.js +++ b/app/assets/javascripts/boards/stores/mutations.js @@ -166,8 +166,9 @@ export default { [mutationTypes.ADD_BOARD_ITEM_TO_LIST]: ( state, - { itemId, listId, moveBeforeId, moveAfterId, atIndex }, + { itemId, listId, moveBeforeId, moveAfterId, atIndex, inProgress = false }, ) => { + Vue.set(state.listsFlags, listId, { ...state.listsFlags, addItemToListInProgress: inProgress }); addItemToList({ state, listId, itemId, moveBeforeId, moveAfterId, atIndex }); }, diff --git a/app/assets/stylesheets/page_bundles/group.scss b/app/assets/stylesheets/page_bundles/group.scss new file mode 100644 index 00000000000..38dd07f617c --- /dev/null +++ b/app/assets/stylesheets/page_bundles/group.scss @@ -0,0 +1,107 @@ +@import 'page_bundles/mixins_and_variables_and_functions'; + +.group-home-panel { + margin-top: $gl-padding; + margin-bottom: $gl-padding; + + .home-panel-avatar { + width: $home-panel-title-row-height; + height: $home-panel-title-row-height; + flex-shrink: 0; + flex-basis: $home-panel-title-row-height; + } + + .home-panel-title { + font-size: 20px; + line-height: $gl-line-height-24; + font-weight: bold; + + .icon { + vertical-align: -1px; + } + + .home-panel-topic-list { + font-size: $gl-font-size; + font-weight: $gl-font-weight-normal; + + .icon { + position: relative; + top: 3px; + margin-right: $gl-padding-4; + } + } + } + + .home-panel-title-row { + @include media-breakpoint-down(sm) { + .home-panel-avatar { + width: $home-panel-avatar-mobile-size; + height: $home-panel-avatar-mobile-size; + flex-basis: $home-panel-avatar-mobile-size; + + .avatar { + font-size: 20px; + line-height: 46px; + } + } + + .home-panel-title { + margin-top: 4px; + margin-bottom: 2px; + font-size: $gl-font-size; + line-height: $gl-font-size-large; + } + + .home-panel-topic-list, + .home-panel-metadata { + font-size: $gl-font-size-small; + } + } + } + + .home-panel-metadata { + font-weight: normal; + font-size: 14px; + line-height: $gl-btn-line-height; + } + + .home-panel-description { + @include media-breakpoint-up(md) { + font-size: $gl-font-size-large; + } + } +} + +.group-nav-container .nav-controls { + .group-filter-form { + flex: 1 1 auto; + margin-right: $gl-padding-8; + } + + .dropdown-menu-right { + margin-top: 0; + } + + @include media-breakpoint-down(sm) { + .dropdown, + .dropdown .dropdown-toggle, + .btn-success { + display: block; + } + + .group-filter-form, + .dropdown { + margin-bottom: 10px; + margin-right: 0; + } + + &, + .group-filter-form, + .group-filter-form-field, + .dropdown, + .dropdown .dropdown-toggle, + .btn-success { + width: 100%; + } + } +} diff --git a/app/assets/stylesheets/page_bundles/project.scss b/app/assets/stylesheets/page_bundles/project.scss new file mode 100644 index 00000000000..7f044f081d4 --- /dev/null +++ b/app/assets/stylesheets/page_bundles/project.scss @@ -0,0 +1,82 @@ +@import 'page_bundles/mixins_and_variables_and_functions'; + +.project-home-panel { + .home-panel-avatar { + flex-basis: $home-panel-title-row-height; + } + + .home-panel-title { + .icon { + vertical-align: -1px; + } + + .home-panel-topic-list { + .icon { + top: 3px; + } + } + } + + .home-panel-title-row { + @include media-breakpoint-down(sm) { + .home-panel-avatar { + width: $home-panel-avatar-mobile-size; + height: $home-panel-avatar-mobile-size; + flex-basis: $home-panel-avatar-mobile-size; + + .avatar { + font-size: 20px; + line-height: 46px; + } + } + + .home-panel-title { + margin-top: 4px; + margin-bottom: 2px; + font-size: $gl-font-size; + line-height: $gl-font-size-large; + } + } + } + + .home-panel-description { + @include media-breakpoint-up(md) { + font-size: $gl-font-size-large; + } + } +} + +.project-repo-buttons { + .btn { + svg { + fill: $gray-500; + } + } + + .download-button { + @include media-breakpoint-down(md) { + margin-left: 0; + } + } + + .project-clone-holder { + display: inline-block; + margin: $gl-padding 0 0; + + input { + height: $input-height; + } + } + + .clone-options-dropdown { + min-width: 240px; + + .dropdown-menu-inner-content { + min-width: 320px; + } + } + + .mobile-git-clone { + margin-top: $gl-padding-8; + } +} diff --git a/app/assets/stylesheets/pages/groups.scss b/app/assets/stylesheets/pages/groups.scss index 2ec2da9241b..ca6c9b9a073 100644 --- a/app/assets/stylesheets/pages/groups.scss +++ b/app/assets/stylesheets/pages/groups.scss @@ -1,7 +1,3 @@ -.milestone-row { - @include str-truncated(90%); -} - .dashboard .side .card .card-header .input-group { .form-control { height: 42px; @@ -49,195 +45,6 @@ color: $gray-700; } -.group-nav-container .nav-controls { - .group-filter-form { - flex: 1 1 auto; - margin-right: $gl-padding-8; - } - - .dropdown-menu-right { - margin-top: 0; - } - - @include media-breakpoint-down(sm) { - .dropdown, - .dropdown .dropdown-toggle, - .btn-success { - display: block; - } - - .group-filter-form, - .dropdown { - margin-bottom: 10px; - margin-right: 0; - } - - &, - .group-filter-form, - .group-filter-form-field, - .dropdown, - .dropdown .dropdown-toggle, - .btn-success { - width: 100%; - } - } -} - -.group-home-panel { - margin-top: $gl-padding; - margin-bottom: $gl-padding; - - .home-panel-avatar { - width: $home-panel-title-row-height; - height: $home-panel-title-row-height; - flex-shrink: 0; - flex-basis: $home-panel-title-row-height; - } - - .home-panel-title { - font-size: 20px; - line-height: $gl-line-height-24; - font-weight: bold; - - .icon { - vertical-align: -1px; - } - - .home-panel-topic-list { - font-size: $gl-font-size; - font-weight: $gl-font-weight-normal; - - .icon { - position: relative; - top: 3px; - margin-right: $gl-padding-4; - } - } - } - - .home-panel-title-row { - @include media-breakpoint-down(sm) { - .home-panel-avatar { - width: $home-panel-avatar-mobile-size; - height: $home-panel-avatar-mobile-size; - flex-basis: $home-panel-avatar-mobile-size; - - .avatar { - font-size: 20px; - line-height: 46px; - } - } - - .home-panel-title { - margin-top: 4px; - margin-bottom: 2px; - font-size: $gl-font-size; - line-height: $gl-font-size-large; - } - - .home-panel-topic-list, - .home-panel-metadata { - font-size: $gl-font-size-small; - } - } - } - - .home-panel-metadata { - font-weight: normal; - font-size: 14px; - line-height: $gl-btn-line-height; - } - - .home-panel-description { - @include media-breakpoint-up(md) { - font-size: $gl-font-size-large; - } - } -} - -.home-panel-buttons { - .home-panel-action-button { - vertical-align: top; - } - - .new-project-subgroup { - .dropdown-primary { - min-width: 115px; - } - - .dropdown-toggle { - .dropdown-btn-icon { - pointer-events: none; - color: inherit; - margin-left: 0; - } - } - - .dropdown-menu { - min-width: 280px; - margin-top: 2px; - } - - li:not(.divider) { - padding: 0; - - &.droplab-item-selected { - .icon-container { - .list-item-checkmark { - visibility: visible; - } - } - } - - .menu-item { - padding: 8px 4px; - - &:hover { - background-color: $gray-darker; - color: $gray-900; - } - } - - .icon-container { - float: left; - padding-left: 6px; - - .list-item-checkmark { - visibility: hidden; - } - } - - .description { - font-size: 14px; - - strong { - display: block; - font-weight: $gl-font-weight-bold; - } - } - - @include media-breakpoint-down(sm) { - display: flex; - align-items: flex-start; - - .dropdown-primary { - flex: 1; - } - - .dropdown-toggle { - width: auto; - } - - .dropdown-menu { - width: 100%; - max-width: inherit; - min-width: inherit; - } - } - } - } -} - .card { .shared_runners_limit_under_quota { color: $green-500; @@ -269,28 +76,10 @@ } } -.user-settings-pipeline-quota { - margin-top: $gl-padding; - - .pipeline-quota { - border-top: 0; - } -} - table.pipeline-project-metrics tr td { padding: $gl-padding; } -.mattermost-team-name { - color: $gl-text-color-secondary; -} - -.mattermost-info { - display: block; - color: $gl-text-color-secondary; - margin-top: 10px; -} - .explore-groups.landing { .inner-content { padding: 0; diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss index dfd64d0773c..c330e0709a6 100644 --- a/app/assets/stylesheets/pages/projects.scss +++ b/app/assets/stylesheets/pages/projects.scss @@ -79,91 +79,10 @@ } } -.project-home-panel { - .home-panel-avatar { - flex-basis: $home-panel-title-row-height; - } - - .home-panel-title { - .icon { - vertical-align: -1px; - } - - .home-panel-topic-list { - .icon { - top: 3px; - } - } - } - - .home-panel-title-row { - @include media-breakpoint-down(sm) { - .home-panel-avatar { - width: $home-panel-avatar-mobile-size; - height: $home-panel-avatar-mobile-size; - flex-basis: $home-panel-avatar-mobile-size; - - .avatar { - font-size: 20px; - line-height: 46px; - } - } - - .home-panel-title { - margin-top: 4px; - margin-bottom: 2px; - font-size: $gl-font-size; - line-height: $gl-font-size-large; - } - } - } - - .home-panel-description { - @include media-breakpoint-up(md) { - font-size: $gl-font-size-large; - } - } -} - .nav > .project-buttons { margin-top: 0; } -.project-repo-buttons { - .btn { - svg { - fill: $gray-500; - } - } - - .download-button { - @include media-breakpoint-down(md) { - margin-left: 0; - } - } - - .project-clone-holder { - display: inline-block; - margin: $gl-padding 0 0; - - input { - height: $input-height; - } - } - - .clone-options-dropdown { - min-width: 240px; - - .dropdown-menu-inner-content { - min-width: 320px; - } - } - - .mobile-git-clone { - margin-top: $gl-padding-8; - } -} - .save-project-loader { margin-top: 50px; margin-bottom: 50px; @@ -855,13 +774,6 @@ pre.light-well { } } -.project-tip-command { - > .input-group-prepend:first-child, - > .input-group-append:first-child { - width: auto; - } -} - .protected-branches-list, .protected-tags-list { margin-bottom: 30px; @@ -887,8 +799,7 @@ pre.light-well { } } -.project-refs-form .dropdown-menu, -.dropdown-menu-projects { +.project-refs-form .dropdown-menu { width: 300px; @include media-breakpoint-up(sm) { diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml index 9f7f0a08df5..628425bf463 100644 --- a/app/views/groups/show.html.haml +++ b/app/views/groups/show.html.haml @@ -1,6 +1,7 @@ - @content_class = "limit-container-width" unless fluid_layout - page_itemtype 'https://schema.org/Organization' - @skip_current_level_breadcrumb = true +- add_page_specific_style 'page_bundles/group' - if show_thanks_for_purchase_banner? = render_if_exists 'shared/thanks_for_purchase_banner', plan_title: plan_title, quantity: params[:purchased_quantity].to_i diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 90b79fddff1..4757f50739b 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -2,6 +2,7 @@ - add_page_startup_graphql_call('repository/path_last_commit', { projectPath: @project.full_path, ref: current_ref, path: current_route_path || "" }) - @content_class = "limit-container-width" unless fluid_layout - @skip_current_level_breadcrumb = true +- add_page_specific_style 'page_bundles/project' = content_for :meta_tags do = auto_discovery_link_tag(:atom, project_path(@project, rss_url_options), title: "#{@project.name} activity") diff --git a/changelogs/unreleased/326963-lock-a-newly-created-item-card-in-boards.yml b/changelogs/unreleased/326963-lock-a-newly-created-item-card-in-boards.yml new file mode 100644 index 00000000000..be40ccd657e --- /dev/null +++ b/changelogs/unreleased/326963-lock-a-newly-created-item-card-in-boards.yml @@ -0,0 +1,5 @@ +--- +title: Lock a newly created item card in boards +merge_request: 61958 +author: +type: changed diff --git a/config/application.rb b/config/application.rb index dddd4ecac5e..f5ed25b1f86 100644 --- a/config/application.rb +++ b/config/application.rb @@ -200,6 +200,7 @@ module Gitlab config.assets.precompile << "page_bundles/epics.css" config.assets.precompile << "page_bundles/error_tracking_details.css" config.assets.precompile << "page_bundles/error_tracking_index.css" + config.assets.precompile << "page_bundles/group.css" config.assets.precompile << "page_bundles/ide.css" config.assets.precompile << "page_bundles/import.css" config.assets.precompile << "page_bundles/incident_management_list.css" @@ -218,6 +219,7 @@ module Gitlab config.assets.precompile << "page_bundles/pipelines.css" config.assets.precompile << "page_bundles/productivity_analytics.css" config.assets.precompile << "page_bundles/profile_two_factor_auth.css" + config.assets.precompile << "page_bundles/project.css" config.assets.precompile << "page_bundles/reports.css" config.assets.precompile << "page_bundles/roadmap.css" config.assets.precompile << "page_bundles/security_dashboard.css" diff --git a/doc/administration/auth/okta.md b/doc/administration/auth/okta.md index 88e9180b103..64b42339d19 100644 --- a/doc/administration/auth/okta.md +++ b/doc/administration/auth/okta.md @@ -1,5 +1,6 @@ --- redirect_to: '../../integration/saml.md' +remove_date: '2021-06-15' --- This document was moved to [another location](../../integration/saml.md). diff --git a/doc/administration/geo/replication/remove_geo_node.md b/doc/administration/geo/replication/remove_geo_node.md index 697d8c6ae38..b72cd3cbb95 100644 --- a/doc/administration/geo/replication/remove_geo_node.md +++ b/doc/administration/geo/replication/remove_geo_node.md @@ -1,5 +1,6 @@ --- redirect_to: '../../geo/replication/remove_geo_site.md' +remove_date: '2021-06-01' --- This document was moved to [another location](../../geo/replication/remove_geo_site.md). diff --git a/doc/administration/geo/replication/using_a_geo_server.md b/doc/administration/geo/replication/using_a_geo_server.md index f8ce72ac3f8..04c30514a89 100644 --- a/doc/administration/geo/replication/using_a_geo_server.md +++ b/doc/administration/geo/replication/using_a_geo_server.md @@ -1,5 +1,6 @@ --- redirect_to: '../../geo/replication/usage.md' +remove_date: '2022-06-01' --- This document was moved to [another location](../../geo/replication/usage.md). diff --git a/doc/administration/git_annex.md b/doc/administration/git_annex.md index 741b2a78b85..d7fb8a37b9c 100644 --- a/doc/administration/git_annex.md +++ b/doc/administration/git_annex.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-07-22' --- This document was moved to [another location](index.md). diff --git a/doc/api/dora4_group_analytics.md b/doc/api/dora4_group_analytics.md index 743dcf728a2..501bf824f03 100644 --- a/doc/api/dora4_group_analytics.md +++ b/doc/api/dora4_group_analytics.md @@ -1,5 +1,6 @@ --- redirect_to: 'dora/metrics.md' +remove_date: '2021-07-25' --- This document was moved to [another location](dora/metrics.md). diff --git a/doc/ci/chatops/README.md b/doc/ci/chatops/README.md index c94d6e3ea80..577a80407d7 100644 --- a/doc/ci/chatops/README.md +++ b/doc/ci/chatops/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-01' --- This document was moved to [another location](index.md). diff --git a/doc/ci/docker/README.md b/doc/ci/docker/README.md index c94d6e3ea80..577a80407d7 100644 --- a/doc/ci/docker/README.md +++ b/doc/ci/docker/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-01' --- This document was moved to [another location](index.md). diff --git a/doc/ci/examples/test-and-deploy-python-application-to-heroku.md b/doc/ci/examples/test-and-deploy-python-application-to-heroku.md index 4a6555a58a6..94cfb8c1c58 100644 --- a/doc/ci/examples/test-and-deploy-python-application-to-heroku.md +++ b/doc/ci/examples/test-and-deploy-python-application-to-heroku.md @@ -1,5 +1,6 @@ --- redirect_to: 'README.md#contributed-examples' +remove_date: '2021-06-01' --- This document was moved to [another location](README.md#contributed-examples). diff --git a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md index 4a6555a58a6..94cfb8c1c58 100644 --- a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md +++ b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md @@ -1,5 +1,6 @@ --- redirect_to: 'README.md#contributed-examples' +remove_date: '2021-06-01' --- This document was moved to [another location](README.md#contributed-examples). diff --git a/doc/ci/examples/test-clojure-application.md b/doc/ci/examples/test-clojure-application.md index 8aa1fb21275..cb4040212ad 100644 --- a/doc/ci/examples/test-clojure-application.md +++ b/doc/ci/examples/test-clojure-application.md @@ -1,5 +1,6 @@ --- redirect_to: 'README.md#contributed-examples' +remove_date: '2021-05-26' --- This document was moved to [another location](README.md#contributed-examples). diff --git a/doc/ci/quick_start/README.md b/doc/ci/quick_start/README.md index c94d6e3ea80..577a80407d7 100644 --- a/doc/ci/quick_start/README.md +++ b/doc/ci/quick_start/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-01' --- This document was moved to [another location](index.md). diff --git a/doc/ci/services/README.md b/doc/ci/services/README.md index c94d6e3ea80..577a80407d7 100644 --- a/doc/ci/services/README.md +++ b/doc/ci/services/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-01' --- This document was moved to [another location](index.md). diff --git a/doc/ci/ssh_keys/README.md b/doc/ci/ssh_keys/README.md index c94d6e3ea80..577a80407d7 100644 --- a/doc/ci/ssh_keys/README.md +++ b/doc/ci/ssh_keys/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-01' --- This document was moved to [another location](index.md). diff --git a/doc/development/documentation/site_architecture/release_process.md b/doc/development/documentation/site_architecture/release_process.md index 9329b93bb26..46c74335932 100644 --- a/doc/development/documentation/site_architecture/release_process.md +++ b/doc/development/documentation/site_architecture/release_process.md @@ -1,5 +1,6 @@ --- redirect_to: 'https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#monthly-documentation-releases' +remove_date: '2021-07-12' --- This file was moved to [another location](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#monthly-documentation-releases). diff --git a/doc/development/event_tracking/backend.md b/doc/development/event_tracking/backend.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/event_tracking/backend.md +++ b/doc/development/event_tracking/backend.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/event_tracking/frontend.md b/doc/development/event_tracking/frontend.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/event_tracking/frontend.md +++ b/doc/development/event_tracking/frontend.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/event_tracking/index.md b/doc/development/event_tracking/index.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/event_tracking/index.md +++ b/doc/development/event_tracking/index.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/fe_guide/event_tracking.md b/doc/development/fe_guide/event_tracking.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/fe_guide/event_tracking.md +++ b/doc/development/fe_guide/event_tracking.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/feature_flags/development.md b/doc/development/feature_flags/development.md index 79efd6d5502..d7807c6f586 100644 --- a/doc/development/feature_flags/development.md +++ b/doc/development/feature_flags/development.md @@ -1,7 +1,9 @@ --- redirect_to: 'index.md' +remove_date: '2021-06-01' --- This document was moved to [another location](index.md). + <!-- This redirect file can be deleted after 2021-06-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
\ No newline at end of file diff --git a/doc/development/feature_flags/process.md b/doc/development/feature_flags/process.md index 247dafe9f0b..0e962218ab9 100644 --- a/doc/development/feature_flags/process.md +++ b/doc/development/feature_flags/process.md @@ -1,5 +1,6 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/' +remove_date: '2021-06-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/). diff --git a/doc/development/new_fe_guide/dependencies.md b/doc/development/new_fe_guide/dependencies.md index b58319c15ca..c8bc1b70aa9 100644 --- a/doc/development/new_fe_guide/dependencies.md +++ b/doc/development/new_fe_guide/dependencies.md @@ -1,5 +1,6 @@ --- redirect_to: '../fe_guide/dependencies.md' +remove_date: '2021-05-14' --- This document was moved to [another location](../fe_guide/dependencies.md). diff --git a/doc/development/product_analytics/event_dictionary.md b/doc/development/product_analytics/event_dictionary.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/product_analytics/event_dictionary.md +++ b/doc/development/product_analytics/event_dictionary.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/product_analytics/index.md b/doc/development/product_analytics/index.md index e8b8e0c4885..3931f0b35ab 100644 --- a/doc/development/product_analytics/index.md +++ b/doc/development/product_analytics/index.md @@ -1,8 +1,9 @@ --- redirect_to: 'https://about.gitlab.com/handbook/product/product-intelligence-guide/' +remove_date: '2021-12-01' --- This document was moved to [another location](https://about.gitlab.com/handbook/product/product-intelligence-guide/). -<!-- This redirect file can be deleted after December 1, 2021. --> +<!-- This redirect file can be deleted after 2021-12-01. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/snowplow.md b/doc/development/snowplow.md index b5d3be5b2dd..59ae1fc0d8c 100644 --- a/doc/development/snowplow.md +++ b/doc/development/snowplow.md @@ -1,6 +1,8 @@ --- redirect_to: 'snowplow/index.md' +remove_date: '2021-06-31' --- This document was moved to [another location](snowplow/index.md). + <!-- This redirect file can be deleted after 2021-06-31. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/development/usage_ping.md b/doc/development/usage_ping.md index b8f08caaebd..567a2d41c33 100644 --- a/doc/development/usage_ping.md +++ b/doc/development/usage_ping.md @@ -1,7 +1,9 @@ --- redirect_to: 'usage_ping/index.md' +remove_date: '2021-05-23' --- This document was moved to [another location](usage_ping/index.md). + <!-- This redirect file can be deleted after <2021-05-23>. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
\ No newline at end of file diff --git a/doc/development/what_requires_downtime.md b/doc/development/what_requires_downtime.md index 7d20382973a..abf49d31de2 100644 --- a/doc/development/what_requires_downtime.md +++ b/doc/development/what_requires_downtime.md @@ -1,5 +1,6 @@ --- redirect_to: 'avoiding_downtime_in_migrations.md' +remove_date: '2021-07-01' --- This document was moved to [another location](avoiding_downtime_in_migrations.md). diff --git a/doc/downgrade_ee_to_ce/README.md b/doc/downgrade_ee_to_ce/README.md index c815842480c..488d86f129d 100644 --- a/doc/downgrade_ee_to_ce/README.md +++ b/doc/downgrade_ee_to_ce/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/gitlab-basics/README.md b/doc/gitlab-basics/README.md index c815842480c..488d86f129d 100644 --- a/doc/gitlab-basics/README.md +++ b/doc/gitlab-basics/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/gitlab-basics/create-project.md b/doc/gitlab-basics/create-project.md index 18886120c63..2d9e458408a 100644 --- a/doc/gitlab-basics/create-project.md +++ b/doc/gitlab-basics/create-project.md @@ -1,5 +1,6 @@ --- redirect_to: '../user/project/working_with_projects.md' +remove_date: '2021-05-05' --- This document was moved to [another location](../user/project/working_with_projects.md). diff --git a/doc/gitlab-basics/create-your-ssh-keys.md b/doc/gitlab-basics/create-your-ssh-keys.md index 9cbaca91f7d..a99307e6dbf 100644 --- a/doc/gitlab-basics/create-your-ssh-keys.md +++ b/doc/gitlab-basics/create-your-ssh-keys.md @@ -1,5 +1,6 @@ --- redirect_to: '../ssh/README.md' +remove_date: '2021-07-04' --- This document was moved to [another location](../ssh/README.md). diff --git a/doc/gitlab-basics/fork-project.md b/doc/gitlab-basics/fork-project.md index adb49c6970f..f006f8b7ad6 100644 --- a/doc/gitlab-basics/fork-project.md +++ b/doc/gitlab-basics/fork-project.md @@ -1,5 +1,6 @@ --- redirect_to: '../user/project/working_with_projects.md' +remove_date: '2021-05-04' --- This document was moved to [another location](../user/project/working_with_projects.md). diff --git a/doc/install/README.md b/doc/install/README.md index c815842480c..488d86f129d 100644 --- a/doc/install/README.md +++ b/doc/install/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/integration/README.md b/doc/integration/README.md index c5274535d98..7c03b957686 100644 --- a/doc/integration/README.md +++ b/doc/integration/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-07-30' --- This document was moved to [another location](index.md). diff --git a/doc/integration/google_workspace_saml.md b/doc/integration/google_workspace_saml.md index 46a39a2e64b..a02e88cc33f 100644 --- a/doc/integration/google_workspace_saml.md +++ b/doc/integration/google_workspace_saml.md @@ -1,5 +1,6 @@ --- redirect_to: 'saml.md' +remove_date: '2021-06-15' --- This document was moved to [another location](saml.md). diff --git a/doc/integration/jira_development_panel.md b/doc/integration/jira_development_panel.md index 152c1df3538..7bfebc18f47 100644 --- a/doc/integration/jira_development_panel.md +++ b/doc/integration/jira_development_panel.md @@ -1,5 +1,6 @@ --- redirect_to: 'jira/index.md' +remove_date: '2021-06-24' --- This document was moved to [another location](jira/index.md). diff --git a/doc/intro/README.md b/doc/intro/README.md index c815842480c..488d86f129d 100644 --- a/doc/intro/README.md +++ b/doc/intro/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/legal/README.md b/doc/legal/README.md index c815842480c..488d86f129d 100644 --- a/doc/legal/README.md +++ b/doc/legal/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/operations/incident_management/alert_integrations.md b/doc/operations/incident_management/alert_integrations.md index bec0653d464..b08ce8a0ad7 100644 --- a/doc/operations/incident_management/alert_integrations.md +++ b/doc/operations/incident_management/alert_integrations.md @@ -1,5 +1,6 @@ --- redirect_to: 'integrations.md' +remove_date: '2021-05-03' --- This document was moved to [another location](integrations.md). diff --git a/doc/raketasks/README.md b/doc/raketasks/README.md index c815842480c..488d86f129d 100644 --- a/doc/raketasks/README.md +++ b/doc/raketasks/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/security/cicd_environment_variables.md b/doc/security/cicd_environment_variables.md index 7de2e17c0f9..49b10af6c1d 100644 --- a/doc/security/cicd_environment_variables.md +++ b/doc/security/cicd_environment_variables.md @@ -1,5 +1,6 @@ --- redirect_to: 'cicd_variables.md' +remove_date: '2021-05-15' --- This document was moved to [another location](cicd_variables.md). diff --git a/doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md b/doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md index 741b2a78b85..d7fb8a37b9c 100644 --- a/doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md +++ b/doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-07-22' --- This document was moved to [another location](index.md). diff --git a/doc/topics/git/merge_requests.md b/doc/topics/git/merge_requests.md index 751bf8195d0..d889bc8ffe5 100644 --- a/doc/topics/git/merge_requests.md +++ b/doc/topics/git/merge_requests.md @@ -1,5 +1,6 @@ --- redirect_to: '../../user/project/merge_requests/index.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../user/project/merge_requests/index.md). diff --git a/doc/university/README.md b/doc/university/README.md index bf2e7c91918..573daab2333 100644 --- a/doc/university/README.md +++ b/doc/university/README.md @@ -1,5 +1,6 @@ --- redirect_to: '../topics/index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](../topics/index.md). diff --git a/doc/university/index.md b/doc/university/index.md index 60d012485de..559f836a2a2 100644 --- a/doc/university/index.md +++ b/doc/university/index.md @@ -1,5 +1,6 @@ --- redirect_to: '../topics/index.md' +remove_date: '2021-08-13' --- This document was removed. See our [topics](../topics/index.md) for similar content. diff --git a/doc/university/training/gitlab_flow.md b/doc/university/training/gitlab_flow.md index bdc97ff8d28..d38e39fcfe2 100644 --- a/doc/university/training/gitlab_flow.md +++ b/doc/university/training/gitlab_flow.md @@ -1,5 +1,6 @@ --- redirect_to: '../../topics/gitlab_flow.md' +remove_date: '2021-05-16' --- This document was moved to [another location](../../topics/gitlab_flow.md). diff --git a/doc/university/training/index.md b/doc/university/training/index.md index 02709314708..6d99c750d13 100644 --- a/doc/university/training/index.md +++ b/doc/university/training/index.md @@ -1,5 +1,6 @@ --- redirect_to: '../../topics/index.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../topics/index.md). diff --git a/doc/university/training/topics/agile_git.md b/doc/university/training/topics/agile_git.md index f912f92fad2..00ff778a241 100644 --- a/doc/university/training/topics/agile_git.md +++ b/doc/university/training/topics/agile_git.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../user/project/issue_board.md' +remove_date: '2021-07-23' --- Information about using Agile concepts in GitLab can be found in [another location](../../../user/project/issue_board.md). diff --git a/doc/university/training/topics/bisect.md b/doc/university/training/topics/bisect.md index 9c06f0b407d..64291a8194b 100644 --- a/doc/university/training/topics/bisect.md +++ b/doc/university/training/topics/bisect.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/bisect.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/bisect.md). diff --git a/doc/university/training/topics/cherry_picking.md b/doc/university/training/topics/cherry_picking.md index f0f815baa94..3e278b2c199 100644 --- a/doc/university/training/topics/cherry_picking.md +++ b/doc/university/training/topics/cherry_picking.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/cherry_picking.md' +remove_date: '2021-06-01' --- This document was moved to [another location](../../../topics/git/cherry_picking.md). diff --git a/doc/university/training/topics/env_setup.md b/doc/university/training/topics/env_setup.md index 2fd0a6762e2..4df0556c151 100644 --- a/doc/university/training/topics/env_setup.md +++ b/doc/university/training/topics/env_setup.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/index.md' +remove_date: '2021-08-13' --- This document was removed. See our [topics](../../../topics/index.md) for similar content. diff --git a/doc/university/training/topics/feature_branching.md b/doc/university/training/topics/feature_branching.md index 495462cdd00..94a2d0cdc69 100644 --- a/doc/university/training/topics/feature_branching.md +++ b/doc/university/training/topics/feature_branching.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/feature_branching.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/feature_branching.md). diff --git a/doc/university/training/topics/getting_started.md b/doc/university/training/topics/getting_started.md index 3dc3902c2e3..3e6fab73596 100644 --- a/doc/university/training/topics/getting_started.md +++ b/doc/university/training/topics/getting_started.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/getting_started.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/getting_started.md). diff --git a/doc/university/training/topics/git_add.md b/doc/university/training/topics/git_add.md index aa5e756995f..d7a5ce8dd6a 100644 --- a/doc/university/training/topics/git_add.md +++ b/doc/university/training/topics/git_add.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/git_add.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/git_add.md). diff --git a/doc/university/training/topics/git_intro.md b/doc/university/training/topics/git_intro.md index 2fd0a6762e2..4df0556c151 100644 --- a/doc/university/training/topics/git_intro.md +++ b/doc/university/training/topics/git_intro.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/index.md' +remove_date: '2021-08-13' --- This document was removed. See our [topics](../../../topics/index.md) for similar content. diff --git a/doc/university/training/topics/git_log.md b/doc/university/training/topics/git_log.md index 1af8abb0782..26f02cb8b17 100644 --- a/doc/university/training/topics/git_log.md +++ b/doc/university/training/topics/git_log.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/git_log.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/git_log.md). diff --git a/doc/university/training/topics/merge_conflicts.md b/doc/university/training/topics/merge_conflicts.md index d76d297803f..f4f12a17dbd 100644 --- a/doc/university/training/topics/merge_conflicts.md +++ b/doc/university/training/topics/merge_conflicts.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/merge_conflicts.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/merge_conflicts.md). diff --git a/doc/university/training/topics/merge_requests.md b/doc/university/training/topics/merge_requests.md index 80ead103fdd..1ed6fe6d273 100644 --- a/doc/university/training/topics/merge_requests.md +++ b/doc/university/training/topics/merge_requests.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../user/project/merge_requests/index.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../user/project/merge_requests/index.md). diff --git a/doc/university/training/topics/rollback_commits.md b/doc/university/training/topics/rollback_commits.md index b87aa12b834..38d4ac493dd 100644 --- a/doc/university/training/topics/rollback_commits.md +++ b/doc/university/training/topics/rollback_commits.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/rollback_commits.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/rollback_commits.md). diff --git a/doc/university/training/topics/stash.md b/doc/university/training/topics/stash.md index ea9ba6a7bcc..b053c459cb0 100644 --- a/doc/university/training/topics/stash.md +++ b/doc/university/training/topics/stash.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/stash.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/stash.md). diff --git a/doc/university/training/topics/subtree.md b/doc/university/training/topics/subtree.md index 5090ff8ca36..a1c1c00baaa 100644 --- a/doc/university/training/topics/subtree.md +++ b/doc/university/training/topics/subtree.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/subtree.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/subtree.md). diff --git a/doc/university/training/topics/tags.md b/doc/university/training/topics/tags.md index 28fd8400d99..53250e3540a 100644 --- a/doc/university/training/topics/tags.md +++ b/doc/university/training/topics/tags.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/tags.md' +remove_date: '2021-06-01' --- This document was moved to [another location](../../../topics/git/tags.md). diff --git a/doc/university/training/topics/unstage.md b/doc/university/training/topics/unstage.md index 13c21f5cbb2..c64f5be96e7 100644 --- a/doc/university/training/topics/unstage.md +++ b/doc/university/training/topics/unstage.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../topics/git/unstage.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../topics/git/unstage.md). diff --git a/doc/university/training/user_training.md b/doc/university/training/user_training.md index fa870b151b2..a19f9b6b6b3 100644 --- a/doc/university/training/user_training.md +++ b/doc/university/training/user_training.md @@ -1,5 +1,6 @@ --- redirect_to: '../../topics/index.md' +remove_date: '2021-08-13' --- This document was removed. See our [topics](../../topics/index.md) for similar content. diff --git a/doc/update/README.md b/doc/update/README.md index c815842480c..488d86f129d 100644 --- a/doc/update/README.md +++ b/doc/update/README.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-05-11' --- This document was moved to [another location](index.md). diff --git a/doc/user/abuse_reports.md b/doc/user/abuse_reports.md index 66b7c3c6ac7..c84c3541366 100644 --- a/doc/user/abuse_reports.md +++ b/doc/user/abuse_reports.md @@ -1,5 +1,6 @@ --- redirect_to: 'report_abuse.md' +remove_date: '2021-07-21' --- This file was moved to [another location](report_abuse.md). diff --git a/doc/user/admin_area/abuse_reports.md b/doc/user/admin_area/abuse_reports.md index 5424d4d2cb4..4bfa277fc9f 100644 --- a/doc/user/admin_area/abuse_reports.md +++ b/doc/user/admin_area/abuse_reports.md @@ -1,5 +1,6 @@ --- redirect_to: 'review_abuse_reports.md' +remove_date: '2021-07-21' --- This file was moved to [another location](review_abuse_reports.md). diff --git a/doc/user/admin_area/activating_deactivating_users.md b/doc/user/admin_area/activating_deactivating_users.md index cafc7caf981..e89c42b34ba 100644 --- a/doc/user/admin_area/activating_deactivating_users.md +++ b/doc/user/admin_area/activating_deactivating_users.md @@ -1,5 +1,6 @@ --- redirect_to: 'moderate_users.md' +remove_date: '2021-08-12' --- This document was moved to [another location](moderate_users.md). diff --git a/doc/user/admin_area/analytics/user_cohorts.md b/doc/user/admin_area/analytics/user_cohorts.md index ca5dff85757..b906f9b8fa6 100644 --- a/doc/user/admin_area/analytics/user_cohorts.md +++ b/doc/user/admin_area/analytics/user_cohorts.md @@ -1,5 +1,6 @@ --- redirect_to: '../user_cohorts.md' +remove_date: '2021-06-01' --- This document was moved to [another location](../user_cohorts.md). diff --git a/doc/user/admin_area/blocking_unblocking_users.md b/doc/user/admin_area/blocking_unblocking_users.md index cafc7caf981..e89c42b34ba 100644 --- a/doc/user/admin_area/blocking_unblocking_users.md +++ b/doc/user/admin_area/blocking_unblocking_users.md @@ -1,5 +1,6 @@ --- redirect_to: 'moderate_users.md' +remove_date: '2021-08-12' --- This document was moved to [another location](moderate_users.md). diff --git a/doc/user/clusters/agent/runner.md b/doc/user/clusters/agent/runner.md index bbf07d4ea84..c40733bd7a5 100644 --- a/doc/user/clusters/agent/runner.md +++ b/doc/user/clusters/agent/runner.md @@ -1,5 +1,6 @@ --- redirect_to: 'https://docs.gitlab.com/runner/install/kubernetes-agent.html' +remove_date: '2022-02-01' --- This document was moved to [another location](https://docs.gitlab.com/runner/install/kubernetes-agent.html). diff --git a/doc/user/group/bulk_editing/index.md b/doc/user/group/bulk_editing/index.md index 48644b7427d..feceafd0991 100644 --- a/doc/user/group/bulk_editing/index.md +++ b/doc/user/group/bulk_editing/index.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../user/group/index.md' +remove_date: '2021-08-13' --- This document was moved to [another location](../../../user/group/index.md). diff --git a/doc/user/project/bulk_editing.md b/doc/user/project/bulk_editing.md index d9e268251b7..1ecfb3b7292 100644 --- a/doc/user/project/bulk_editing.md +++ b/doc/user/project/bulk_editing.md @@ -1,5 +1,6 @@ --- redirect_to: 'issues/managing_issues.md' +remove_date: '2021-08-12' --- This document was moved to [another location](issues/managing_issues.md). diff --git a/doc/user/project/import/gemnasium.md b/doc/user/project/import/gemnasium.md index 5a4b16d57f5..37460da1289 100644 --- a/doc/user/project/import/gemnasium.md +++ b/doc/user/project/import/gemnasium.md @@ -1,5 +1,6 @@ --- redirect_to: 'index.md' +remove_date: '2021-08-15' --- This document was deleted. diff --git a/doc/user/project/integrations/hipchat.md b/doc/user/project/integrations/hipchat.md index 63772936fd4..74366ab5ef0 100644 --- a/doc/user/project/integrations/hipchat.md +++ b/doc/user/project/integrations/hipchat.md @@ -1,7 +1,9 @@ --- redirect_to: 'index.md' +remove_date: '2021-06-30' --- This document was moved to [another location](index.md). + <!-- This redirect file can be deleted after 2021-06-30. --> <!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page --> diff --git a/doc/user/project/integrations/jira.md b/doc/user/project/integrations/jira.md index b91a8a1fb3b..521f15f330e 100644 --- a/doc/user/project/integrations/jira.md +++ b/doc/user/project/integrations/jira.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../integration/jira/index.md' +remove_date: '2021-07-07' --- This document was moved to [another location](../../../integration/jira/index.md). diff --git a/doc/user/project/integrations/jira_cloud_configuration.md b/doc/user/project/integrations/jira_cloud_configuration.md index b3091275835..c9ab4532760 100644 --- a/doc/user/project/integrations/jira_cloud_configuration.md +++ b/doc/user/project/integrations/jira_cloud_configuration.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../integration/jira/jira_cloud_configuration.md' +remove_date: '2021-06-18' --- This document was moved to [another location](../../../integration/jira/jira_cloud_configuration.md). diff --git a/doc/user/project/integrations/jira_integrations.md b/doc/user/project/integrations/jira_integrations.md index 485b48df01b..3aacf051c22 100644 --- a/doc/user/project/integrations/jira_integrations.md +++ b/doc/user/project/integrations/jira_integrations.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../integration/jira/index.md' +remove_date: '2021-07-13' --- This document was moved to [another location](../../../integration/jira/index.md). diff --git a/doc/user/project/integrations/jira_server_configuration.md b/doc/user/project/integrations/jira_server_configuration.md index 191b8f207a1..de6eec62b96 100644 --- a/doc/user/project/integrations/jira_server_configuration.md +++ b/doc/user/project/integrations/jira_server_configuration.md @@ -1,5 +1,6 @@ --- redirect_to: '../../../integration/jira/jira_server_configuration.md' +remove_date: '2021-06-18' --- This document was moved to [another location](../../../integration/jira/jira_server_configuration.md). diff --git a/doc/user/project/merge_requests/merge_request_approvals.md b/doc/user/project/merge_requests/merge_request_approvals.md index 38d6ba062e4..42de04085a9 100644 --- a/doc/user/project/merge_requests/merge_request_approvals.md +++ b/doc/user/project/merge_requests/merge_request_approvals.md @@ -1,5 +1,6 @@ --- redirect_to: 'approvals/index.md' +remove_date: '2021-07-27' --- This document was moved to [another location](approvals/index.md). diff --git a/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md b/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md index 0475996cb9b..b32dce0b230 100644 --- a/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md +++ b/doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md @@ -1,5 +1,6 @@ --- redirect_to: 'reviews/index.md' +remove_date: '2021-08-03' --- This document was moved to [another location](reviews/index.md). diff --git a/doc/user/project/merge_requests/work_in_progress_merge_requests.md b/doc/user/project/merge_requests/work_in_progress_merge_requests.md index 4b854da116e..8b663b8edf8 100644 --- a/doc/user/project/merge_requests/work_in_progress_merge_requests.md +++ b/doc/user/project/merge_requests/work_in_progress_merge_requests.md @@ -1,5 +1,6 @@ --- redirect_to: 'drafts.md' +remove_date: '2021-05-19' --- This document was moved to [another location](drafts.md). diff --git a/doc/user/project/new_ci_build_permissions_model.md b/doc/user/project/new_ci_build_permissions_model.md index f7e8d3d140c..55fde63dd47 100644 --- a/doc/user/project/new_ci_build_permissions_model.md +++ b/doc/user/project/new_ci_build_permissions_model.md @@ -1,5 +1,6 @@ --- redirect_to: '../../ci/README.md' +remove_date: '2021-06-01' --- This document is deprecated. See the latest [GitLab CI/CD documentation](../../ci/README.md). diff --git a/lib/gitlab/ci/templates/Security/Coverage-Fuzzing.gitlab-ci.yml b/lib/gitlab/ci/templates/Security/Coverage-Fuzzing.gitlab-ci.yml index 9d47537c0f0..ab71049bac2 100644 --- a/lib/gitlab/ci/templates/Security/Coverage-Fuzzing.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Security/Coverage-Fuzzing.gitlab-ci.yml @@ -1,5 +1,9 @@ # Read more about this feature https://docs.gitlab.com/ee/user/application_security/coverage_fuzzing +# Configure the fuzzing tool through the environment variables. +# List of the variables: https://docs.gitlab.com/ee/user/application_security/coverage_fuzzing/#available-cicd-variables +# How to set: https://docs.gitlab.com/ee/ci/yaml/#variables + variables: # Which branch we want to run full fledged long running fuzzing jobs. # All others will run fuzzing regression diff --git a/qa/Dockerfile b/qa/Dockerfile index dda882dc5e6..81f207cbab9 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -38,6 +38,18 @@ RUN unzip chromedriver_linux64.zip -d /usr/local/bin RUN rm -f chromedriver_linux64.zip ## +# Install client certificate - Bug in Chrome Headless: https://gitlab.com/gitlab-org/gitlab/-/issues/331492 +# +# RUN apt install -y libnss3-tools +# RUN mkdir -p $HOME/.pki/nssdb +# RUN certutil -N -d sql:$HOME/.pki/nssdb +# COPY ./qa/tls_certificates/client/client.pfx /tmp/client.pfx +# RUN pk12util -d sql:$HOME/.pki/nssdb -i /tmp/client.pfx -W '' +# RUN mkdir -p /etc/opt/chrome/policies/managed +# RUN echo '{ "AutoSelectCertificateForUrls": ["{\"pattern\":\"*\",\"filter\":{}}"] }' > /etc/opt/chrome/policies/managed/policy.json +# RUN cat /etc/opt/chrome/policies/managed/policy.json + +## # Install root certificate # RUN mkdir -p /usr/share/ca-certificates/gitlab diff --git a/qa/tls_certificates/client/client.crt b/qa/tls_certificates/client/client.crt new file mode 100644 index 00000000000..1bbc49e77d5 --- /dev/null +++ b/qa/tls_certificates/client/client.crt @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFLDCCAxQCAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCVVMxEzARBgNV +BAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xGTAXBgNVBAoM +EEdpdExhYiBBdXRob3JpdHkwHhcNMjEwMjEyMDc0NTM0WhcNMzEwMjEwMDc0NTM0 +WjBjMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwN +U2FuIEZyYW5jaXNjbzEWMBQGA1UECgwNR2l0TGFiIENsaWVudDEPMA0GA1UEAwwG +Q2xpZW50MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwZHPYiri29q+ +1qDh6ucjKztoZ9I0gqG4skuYs7jxj7jTOG/+rkYUVB+Eltq0m76rWEEA6OFW5Yze +E+aZOYnLYi31BwhJZI2LHDWUsdDuX936FVr5B7l+nrvARVhhARbfhjFVAljcAmDy +Q+cSgGxgM5de/KhJ0juU25lhe2rCViuJYUsCWny4pN91KhdLJCoPxQRxFDNKG/+k +foacxKFwEtgz185xLgNZdydwhiY5yh4+P6rCMYqKAvnl2w6L/dPQmHasWbH4Gdvk +TGCaxiJ7NBM4Lkv+uZmjHPnBmIdLnt+Yjb/lQmaSPA379yLA4L1n/JucmlUCMpVa +KcJTPEUzUKM4u705XLqsRVH2YmcWAQH8XPw42Llw5T4fAooR+kyMN/zigPNdw7ZC +r+2jW5rk95gb8iEbheVaSrGIAWPqcwrSTcna5Khbzy/najf2oAM87h95D2Fhg7eW +LhoccImcuWEGFrmUGwPwS4Zxr2XeAFim8VVVMx9uGd+5u1AscfZFWKJP3j6FwpDH +L4I7OXFh34INxluxKQ22+PEcIUkbqpGaLZ5U+ZTw8WOy77oflUkAEu1xoEBah+Nf +5dr6b+n+8rSddCk3mDsgpDY5E3Uv8/FH2vxRmTpiq8ObdmMbNo9Qf+CpMNg4CG+v +f96uqj69r3aqG3MEbRdy0UjgdaaeNx0CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEA +OvEPqiQx5RuiqdVDzNAGGW6SzGoyehwVL0JkYvwHPZ8gOW4XBGl9Dtnkb3M7GeYq +urZnoplk1uyMnNin2MVA0hRfCwCv7ix56Sh45odpN9scnXsr9I/e6ZfbQB7vFGnV +NDESsOZKzkydameUBTu9yBk7mlV9jA7LpKipe67doptANURZjF8crmCeTvY3b1cF +XbFe31FqvKdXeJgZU99kGUSncSS/1dWxbwyZZDBCqWfDlNh7Om+6RB1cMlQfal5z +hqCYMGBB8YsMY1+l7l8eQDawrZNbs9yE4iqd6FXvss7o02cC1b7moZB+1JhOwwJ1 +wmgXuRiR5ynsb34LjFOicdm4YVmqiqXCW6Pr/DH/pkX8CI3Zu2hjatbgQrkGxXqT +T1O/o48xwa8MBfviy7gkdCrapBkx0ojNLYNW6NTR3LNT4WYEQWOnqkm73Is9aVCy +1doL6zG8chvCxLHXtpEMMPkOKpoWjokdCD4K5HAoIqmR904kOM5jCuETTWm0MD0e +vKeWzck6YDt+zBhCD4k7yqF++d3ufcY2eCmVlwe0wH4srX/e4ni0tBKF25j3xLUA +U+HI7Wa88zBAp3iN3CD/iWu8LBwTUlmRN8l7bi+O/AaKE08KvtzV5hhZ4c1UJa+N +d4txM9tqkwMTFTFkRzduwuaIKB3Gaz1IWcOUJe5oO5M= +-----END CERTIFICATE----- diff --git a/qa/tls_certificates/client/client.csr b/qa/tls_certificates/client/client.csr new file mode 100644 index 00000000000..42c868a381c --- /dev/null +++ b/qa/tls_certificates/client/client.csr @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIEqDCCApACAQAwYzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx +FjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFjAUBgNVBAoMDUdpdExhYiBDbGllbnQx +DzANBgNVBAMMBkNsaWVudDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AMGRz2Iq4tvavtag4ernIys7aGfSNIKhuLJLmLO48Y+40zhv/q5GFFQfhJbatJu+ +q1hBAOjhVuWM3hPmmTmJy2It9QcISWSNixw1lLHQ7l/d+hVa+Qe5fp67wEVYYQEW +34YxVQJY3AJg8kPnEoBsYDOXXvyoSdI7lNuZYXtqwlYriWFLAlp8uKTfdSoXSyQq +D8UEcRQzShv/pH6GnMShcBLYM9fOcS4DWXcncIYmOcoePj+qwjGKigL55dsOi/3T +0Jh2rFmx+Bnb5ExgmsYiezQTOC5L/rmZoxz5wZiHS57fmI2/5UJmkjwN+/ciwOC9 +Z/ybnJpVAjKVWinCUzxFM1CjOLu9OVy6rEVR9mJnFgEB/Fz8ONi5cOU+HwKKEfpM +jDf84oDzXcO2Qq/to1ua5PeYG/IhG4XlWkqxiAFj6nMK0k3J2uSoW88v52o39qAD +PO4feQ9hYYO3li4aHHCJnLlhBha5lBsD8EuGca9l3gBYpvFVVTMfbhnfubtQLHH2 +RViiT94+hcKQxy+COzlxYd+CDcZbsSkNtvjxHCFJG6qRmi2eVPmU8PFjsu+6H5VJ +ABLtcaBAWofjX+Xa+m/p/vK0nXQpN5g7IKQ2ORN1L/PxR9r8UZk6YqvDm3ZjGzaP +UH/gqTDYOAhvr3/erqo+va92qhtzBG0XctFI4HWmnjcdAgMBAAGgADANBgkqhkiG +9w0BAQsFAAOCAgEAAPvL+5aGluJVNDfTyQMLKFYl7qsF6cNqwzv+Zd9bB9Suznta +c7pU2EdHO0qsqwpMvRHxdo/2R5gbnAtPLTgQA9I9aL+YjSLH7nZJPieHFt6ffSyz +rGNwXUBgKwhAoTqQpXHLRSHKsPsK3cuz1Oy5dqg1KsfdMVdkUwlErQb0Igjz2xUV +qJJ8Pil0Si4eiXvkWzbIWBcGKMiomTTOqAqr2dJ75siX5ZP6l24RqZItn7RQDuhr +y0KnZgY2SeszQb6u0JETGbKjPmnAeukg35tYFin6Z5dHsO3E9EokOi07bCN5IIw4 +AUNYSKfBIY6HYTVvbm/GsfMSntxO6R0HI6dVQKJRiJ3hrgHduANOJQBHWM7bE24A +v104OVkZ62rPZ/ypxb2Z+A0IP3ngAv6VY5oGHmOMDXtMQb+CBtmMgggyFT1DZ+Kt +AA4H3i6LHqYskv21AdPW4f+br2b69a0Y9XcNrLBkiH2j9itk6Ihw6zZD5Jqj9tDv +ZBMSIIVHlecQND2HFoCM9DCeFFaJlZVNGp9EnERyxIJezcKM0OZ7rFWv7ukbrCov +CyrK4+JLaaOlrOEXTT2ob7StxdGXQps0rOP7A0cxf3mUqfX2F6VWKslpiAa9quuC +5Auqh5vAdY4o0NObx50WRPoFSnOEpqa8yj3hAofl66mulB31VORgN6sH8l4= +-----END CERTIFICATE REQUEST----- diff --git a/qa/tls_certificates/client/client.key b/qa/tls_certificates/client/client.key new file mode 100644 index 00000000000..49d7da54058 --- /dev/null +++ b/qa/tls_certificates/client/client.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/qa/tls_certificates/client/client.pem b/qa/tls_certificates/client/client.pem new file mode 100644 index 00000000000..ebca1a9920d --- /dev/null +++ b/qa/tls_certificates/client/client.pem @@ -0,0 +1,113 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIFLDCCAxQCAQEwDQYJKoZIhvcNAQELBQAwVTELMAkGA1UEBhMCVVMxEzARBgNV +BAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xGTAXBgNVBAoM +EEdpdExhYiBBdXRob3JpdHkwHhcNMjEwMjEyMDc0NTM0WhcNMzEwMjEwMDc0NTM0 +WjBjMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwN +U2FuIEZyYW5jaXNjbzEWMBQGA1UECgwNR2l0TGFiIENsaWVudDEPMA0GA1UEAwwG +Q2xpZW50MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwZHPYiri29q+ +1qDh6ucjKztoZ9I0gqG4skuYs7jxj7jTOG/+rkYUVB+Eltq0m76rWEEA6OFW5Yze +E+aZOYnLYi31BwhJZI2LHDWUsdDuX936FVr5B7l+nrvARVhhARbfhjFVAljcAmDy +Q+cSgGxgM5de/KhJ0juU25lhe2rCViuJYUsCWny4pN91KhdLJCoPxQRxFDNKG/+k +foacxKFwEtgz185xLgNZdydwhiY5yh4+P6rCMYqKAvnl2w6L/dPQmHasWbH4Gdvk +TGCaxiJ7NBM4Lkv+uZmjHPnBmIdLnt+Yjb/lQmaSPA379yLA4L1n/JucmlUCMpVa +KcJTPEUzUKM4u705XLqsRVH2YmcWAQH8XPw42Llw5T4fAooR+kyMN/zigPNdw7ZC +r+2jW5rk95gb8iEbheVaSrGIAWPqcwrSTcna5Khbzy/najf2oAM87h95D2Fhg7eW +LhoccImcuWEGFrmUGwPwS4Zxr2XeAFim8VVVMx9uGd+5u1AscfZFWKJP3j6FwpDH +L4I7OXFh34INxluxKQ22+PEcIUkbqpGaLZ5U+ZTw8WOy77oflUkAEu1xoEBah+Nf +5dr6b+n+8rSddCk3mDsgpDY5E3Uv8/FH2vxRmTpiq8ObdmMbNo9Qf+CpMNg4CG+v +f96uqj69r3aqG3MEbRdy0UjgdaaeNx0CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEA +OvEPqiQx5RuiqdVDzNAGGW6SzGoyehwVL0JkYvwHPZ8gOW4XBGl9Dtnkb3M7GeYq +urZnoplk1uyMnNin2MVA0hRfCwCv7ix56Sh45odpN9scnXsr9I/e6ZfbQB7vFGnV +NDESsOZKzkydameUBTu9yBk7mlV9jA7LpKipe67doptANURZjF8crmCeTvY3b1cF +XbFe31FqvKdXeJgZU99kGUSncSS/1dWxbwyZZDBCqWfDlNh7Om+6RB1cMlQfal5z +hqCYMGBB8YsMY1+l7l8eQDawrZNbs9yE4iqd6FXvss7o02cC1b7moZB+1JhOwwJ1 +wmgXuRiR5ynsb34LjFOicdm4YVmqiqXCW6Pr/DH/pkX8CI3Zu2hjatbgQrkGxXqT +T1O/o48xwa8MBfviy7gkdCrapBkx0ojNLYNW6NTR3LNT4WYEQWOnqkm73Is9aVCy +1doL6zG8chvCxLHXtpEMMPkOKpoWjokdCD4K5HAoIqmR904kOM5jCuETTWm0MD0e +vKeWzck6YDt+zBhCD4k7yqF++d3ufcY2eCmVlwe0wH4srX/e4ni0tBKF25j3xLUA +U+HI7Wa88zBAp3iN3CD/iWu8LBwTUlmRN8l7bi+O/AaKE08KvtzV5hhZ4c1UJa+N +d4txM9tqkwMTFTFkRzduwuaIKB3Gaz1IWcOUJe5oO5M= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFizCCA3OgAwIBAgIUJBX+SiNuqUYjf33EuMObynTcKx0wDQYJKoZIhvcNAQEL +BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM +DVNhbiBGcmFuY2lzY28xGTAXBgNVBAoMEEdpdExhYiBBdXRob3JpdHkwHhcNMjEw +MjExMDYyMTUzWhcNMzEwMjA5MDYyMTUzWjBVMQswCQYDVQQGEwJVUzETMBEGA1UE +CAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEZMBcGA1UECgwQ +R2l0TGFiIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +ALxpL/dfJwhIWGYK93ovIVj+gqvJI58Sga7eWlp2LpuFQZETjJBA79R0gcwr42ph +ch1BuxoxkYizM8sqIyFa5aW8SCWmO+IQzedKWZv+UWZg6pG+Fzyp6GO1wmXZdeXw +xRiXp2qV+rqA8DaL2g1c2u6TB/mcfNTrfsSP3045yQW+4mdNx/g4wBf0dMpHe5DJ +5jIvowa2O0kesq1UQ1eM9IMNSwW8fMQenV+F41LWE1NO726ksglih9TQjAIrlX6I +XVmw0lgYegt2G+YQJ68nf2UmvK+C0KqzTZgqmzNMQnuSiJXMnlZvlgdLXTyTWCuq +tyxp3+Z2Wshk/Cghic2MCm2XwWBIqYGu+20qoPM61c3Rk5++2VOcajD1yCYxVtM2 +akVP/e9arlCdi/CtJh3qvOlj9Uhs6a1UR/ZngpPLOa3r4JazZc04pK7q3ZynmoUL +oDPF9AKOikvhYKxTYsgZ65VhI3myTBjQFk9qX++z2HF9UImGblqUtckn3eIoI8n2 +wd4pO/OFeFSXpR7jMywCwXTpC8yTTbuVzHEz8H83/qtsbjtw961g4kb8Vzh1zy73 +PFiJNI7hZlP1I5dqNTOAv+GnwiSnF28i7xbdkIfmjYqwcwGhAO7rjifq8ygBH3sF +0I/6dnw4BvNlSgSJlJ1+2eH1uiaikpuOGtQAttz536dNAgMBAAGjUzBRMB0GA1Ud +DgQWBBQSNZ46Xu4rfGVIPIQJpduWHJ+AQjAfBgNVHSMEGDAWgBQSNZ46Xu4rfGVI +PIQJpduWHJ+AQjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQC1 +4REbDKF1tdYeCxpmQHXLHu7OkrgKIea6eKxf8mI+ZsJA4iNr3aiZYU5Wm+uAq3mK +x6mrQRaqoo6JNbie5Tw8fU2c71EO4t3vwB7YOsBtcV0YrMtg316UE0lk+6kL0TRD +tV7dAGCB3wXZVLPolC26/kecc258p6h4rCJ8Gi6FsIKGBisTFk3QOdLG3DQNulPF +2bZaJjs/6HqLL+QMdChUfJP3i71LdNxzwXNPbjJ3fm5f9RNeOcWo6oI2fkQArl2i +vcP/QtuqeOoJusbeL9zaF/EFlOggjkEtzFWCB05d6J7dMKYp5Lg4eMZQHPw6ycdk +Ek/XTupvBk+8UiXeHLvX6II9zww9+gm3uycPiO/CSPNw4yQBPPGW+30WznbedsuY +m79rxuq50KYvseJSPv7lw8v77ajQbRQzFi4frAFR+A1g8FArLxdpIptI9E+ekmaB +UMhCmi17mEuBtj8Hc3VrokTFtAJV6YNIk1X+Q/zLh4TaR5mm6C/82j/ZvkSm5OX7 +TfaayRWDr7AfDKeG5Amt52BmYncsPUXnOofSz5UkqpeOWr0rKn+A7f2BeUP9R2nY +6DncxYA+yOgU7RpnMBscsW6SkVIMJKFrfeZ1SbvZGRJd4L1PwfeaU+3yEG6oAfMa +CFquw23nWhjvUlnCe9BaUiEtOJ2ruGjdu2sdvXPcnw== +-----END CERTIFICATE----- diff --git a/qa/tls_certificates/client/client.pfx b/qa/tls_certificates/client/client.pfx Binary files differnew file mode 100644 index 00000000000..6931cfe659a --- /dev/null +++ b/qa/tls_certificates/client/client.pfx diff --git a/spec/frontend/boards/board_card_inner_spec.js b/spec/frontend/boards/board_card_inner_spec.js index 36043b09636..15ea5d4eec4 100644 --- a/spec/frontend/boards/board_card_inner_spec.js +++ b/spec/frontend/boards/board_card_inner_spec.js @@ -1,4 +1,4 @@ -import { GlLabel } from '@gitlab/ui'; +import { GlLabel, GlLoadingIcon } from '@gitlab/ui'; import { mount } from '@vue/test-utils'; import { range } from 'lodash'; import Vuex from 'vuex'; @@ -63,6 +63,7 @@ describe('Board card component', () => { }, stubs: { GlLabel: true, + GlLoadingIcon: true, }, mocks: { $apollo: { @@ -121,6 +122,10 @@ describe('Board card component', () => { expect(wrapper.find('.board-card-assignee .avatar').exists()).toBe(false); }); + it('does not render loading icon', () => { + expect(wrapper.findComponent(GlLoadingIcon).exists()).toBe(false); + }); + describe('blocked', () => { it('renders blocked icon if issue is blocked', async () => { createWrapper({ @@ -399,4 +404,17 @@ describe('Board card component', () => { }); }); }); + + describe('loading', () => { + it('renders loading icon', async () => { + createWrapper({ + item: { + ...issue, + isLoading: true, + }, + }); + + expect(wrapper.findComponent(GlLoadingIcon).exists()).toBe(true); + }); + }); }); diff --git a/spec/frontend/boards/components/board_card_spec.js b/spec/frontend/boards/components/board_card_spec.js index ceafa6ead94..a35dfcb497e 100644 --- a/spec/frontend/boards/components/board_card_spec.js +++ b/spec/frontend/boards/components/board_card_spec.js @@ -1,5 +1,6 @@ import { GlLabel } from '@gitlab/ui'; -import { createLocalVue, shallowMount, mount } from '@vue/test-utils'; +import { shallowMount, mount } from '@vue/test-utils'; +import Vue from 'vue'; import Vuex from 'vuex'; import BoardCard from '~/boards/components/board_card.vue'; @@ -12,8 +13,7 @@ describe('Board card', () => { let store; let mockActions; - const localVue = createLocalVue(); - localVue.use(Vuex); + Vue.use(Vuex); const createStore = ({ initialState = {} } = {}) => { mockActions = { @@ -41,14 +41,14 @@ describe('Board card', () => { provide = {}, mountFn = shallowMount, stubs = { BoardCardInner }, + item = mockIssue, } = {}) => { wrapper = mountFn(BoardCard, { - localVue, stubs, store, propsData: { list: mockLabelList, - item: mockIssue, + item, disabled: false, index: 0, ...propsData, @@ -151,4 +151,24 @@ describe('Board card', () => { }); }); }); + + describe('when card is loading', () => { + it('card is disabled and user cannot drag', () => { + createStore(); + mountComponent({ item: { ...mockIssue, isLoading: true } }); + + expect(wrapper.classes()).toContain('is-disabled'); + expect(wrapper.classes()).not.toContain('user-can-drag'); + }); + }); + + describe('when card is not loading', () => { + it('user can drag', () => { + createStore(); + mountComponent(); + + expect(wrapper.classes()).not.toContain('is-disabled'); + expect(wrapper.classes()).toContain('user-can-drag'); + }); + }); }); diff --git a/spec/frontend/boards/stores/actions_spec.js b/spec/frontend/boards/stores/actions_spec.js index 09343b5704f..5c55eb3c0a4 100644 --- a/spec/frontend/boards/stores/actions_spec.js +++ b/spec/frontend/boards/stores/actions_spec.js @@ -1114,6 +1114,7 @@ describe('addListItem', () => { listId: mockLists[0].id, itemId: mockIssue.id, atIndex: 0, + inProgress: false, }, }, { type: types.UPDATE_BOARD_ITEM, payload: mockIssue }, @@ -1244,8 +1245,9 @@ describe('addListNewIssue', () => { type: 'addListItem', payload: { list: fakeList, - item: formatIssue({ ...mockIssue, id: 'tmp' }), + item: formatIssue({ ...mockIssue, id: 'tmp', isLoading: true }), position: 0, + inProgress: true, }, }, { type: 'removeListItem', payload: { listId: fakeList.id, itemId: 'tmp' } }, @@ -1286,8 +1288,9 @@ describe('addListNewIssue', () => { type: 'addListItem', payload: { list: fakeList, - item: formatIssue({ ...mockIssue, id: 'tmp' }), + item: formatIssue({ ...mockIssue, id: 'tmp', isLoading: true }), position: 0, + inProgress: true, }, }, { type: 'removeListItem', payload: { listId: fakeList.id, itemId: 'tmp' } }, |