diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index 6dd0a92d9c4..14ea310fdf0 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -603,7 +603,7 @@ ee:importers: extends: .qa variables: QA_SCENARIO: Test::Integration::Import - QA_MOCK_GITHUB: "false" + QA_MOCK_GITHUB: "true" GITLAB_QA_OPTS: --set-feature-flags bulk_import_projects=enabled rules: - !reference [.rules:test:qa, rules] diff --git a/.rubocop_todo/database/multiple_databases.yml b/.rubocop_todo/database/multiple_databases.yml index be91da8aad4..1e53f102683 100644 --- a/.rubocop_todo/database/multiple_databases.yml +++ b/.rubocop_todo/database/multiple_databases.yml @@ -4,4 +4,3 @@ Database/MultipleDatabases: - 'db/post_migrate/20210317104032_set_iteration_cadence_automatic_to_false.rb' - 'db/post_migrate/20210811122206_update_external_project_bots.rb' - 'db/post_migrate/20210812013042_remove_duplicate_project_authorizations.rb' - - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' diff --git a/app/assets/javascripts/boards/components/board_card_inner.vue b/app/assets/javascripts/boards/components/board_card_inner.vue index 4f919019813..77df111afc1 100644 --- a/app/assets/javascripts/boards/components/board_card_inner.vue +++ b/app/assets/javascripts/boards/components/board_card_inner.vue @@ -8,7 +8,7 @@ import { GlSprintf, } from '@gitlab/ui'; import { sortBy } from 'lodash'; -import { mapActions, mapGetters, mapState } from 'vuex'; +import { mapActions, mapState } from 'vuex'; import boardCardInner from 'ee_else_ce/boards/mixins/board_card_inner'; import { isScopedLabel } from '~/lib/utils/common_utils'; import { updateHistory } from '~/lib/utils/url_utility'; @@ -43,7 +43,7 @@ export default { GlTooltip: GlTooltipDirective, }, mixins: [boardCardInner], - inject: ['rootPath', 'scopedLabelsAvailable', 'isEpicBoard', 'issuableType'], + inject: ['rootPath', 'scopedLabelsAvailable', 'isEpicBoard', 'issuableType', 'isGroupBoard'], props: { item: { type: Object, @@ -78,7 +78,6 @@ export default { }, computed: { ...mapState(['isShowingLabels', 'allowSubEpics']), - ...mapGetters(['isProjectBoard']), cappedAssignees() { // e.g. maxRender is 4, // Render up to all 4 assignees if there are only 4 assigness @@ -158,7 +157,7 @@ export default { return Math.round((this.item.descendantWeightSum.closedIssues / this.totalWeight) * 100); }, showReferencePath() { - return !this.isProjectBoard && this.itemReferencePath; + return this.isGroupBoard && this.itemReferencePath; }, avatarSize() { return { default: 16, lg: 24 }; diff --git a/app/assets/javascripts/boards/components/board_content.vue b/app/assets/javascripts/boards/components/board_content.vue index ca86894ca40..1d585e3407b 100644 --- a/app/assets/javascripts/boards/components/board_content.vue +++ b/app/assets/javascripts/boards/components/board_content.vue @@ -9,7 +9,7 @@ import { s__ } from '~/locale'; import { formatBoardLists } from 'ee_else_ce/boards/boards_util'; import BoardAddNewColumn from 'ee_else_ce/boards/components/board_add_new_column.vue'; import { defaultSortableOptions } from '~/sortable/constants'; -import { DraggableItemTypes, BoardType, listsQuery } from 'ee_else_ce/boards/constants'; +import { DraggableItemTypes, listsQuery } from 'ee_else_ce/boards/constants'; import BoardColumn from './board_column.vue'; export default { @@ -35,6 +35,7 @@ export default { 'issuableType', 'isIssueBoard', 'isEpicBoard', + 'isGroupBoard', 'isApolloBoard', ], props: { @@ -89,8 +90,8 @@ export default { queryVariables() { return { ...(this.isIssueBoard && { - isGroup: this.boardType === BoardType.group, - isProject: this.boardType === BoardType.project, + isGroup: this.isGroupBoard, + isProject: !this.isGroupBoard, }), fullPath: this.fullPath, boardId: this.boardId, diff --git a/app/assets/javascripts/boards/components/board_content_sidebar.vue b/app/assets/javascripts/boards/components/board_content_sidebar.vue index 97b017fea58..e6d1e558c37 100644 --- a/app/assets/javascripts/boards/components/board_content_sidebar.vue +++ b/app/assets/javascripts/boards/components/board_content_sidebar.vue @@ -6,7 +6,7 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow import { __, sprintf } from '~/locale'; import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; -import { ISSUABLE, INCIDENT, issuableTypes } from '~/boards/constants'; +import { BoardType, ISSUABLE, INCIDENT, issuableTypes } from '~/boards/constants'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue'; import SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue'; @@ -68,11 +68,13 @@ export default { issuableType: { default: issuableTypes.issue, }, + isGroupBoard: { + default: false, + }, }, inheritAttrs: false, computed: { ...mapGetters([ - 'isGroupBoard', 'isSidebarOpen', 'activeBoardItem', 'groupPathForActiveIssue', @@ -94,14 +96,17 @@ export default { fullPath() { return this.activeBoardItem?.referencePath?.split('#')[0] || ''; }, + parentType() { + return this.isGroupBoard ? BoardType.group : BoardType.project; + }, createLabelTitle() { return sprintf(__('Create %{workspace} label'), { - workspace: this.isGroupBoard ? 'group' : 'project', + workspace: this.parentType, }); }, manageLabelTitle() { return sprintf(__('Manage %{workspace} labels'), { - workspace: this.isGroupBoard ? 'group' : 'project', + workspace: this.parentType, }); }, attrWorkspacePath() { diff --git a/app/assets/javascripts/boards/components/board_form.vue b/app/assets/javascripts/boards/components/board_form.vue index fcf026bbe00..a71bde54a8f 100644 --- a/app/assets/javascripts/boards/components/board_form.vue +++ b/app/assets/javascripts/boards/components/board_form.vue @@ -1,6 +1,6 @@