Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
		
							parent
							
								
									179a30a49d
								
							
						
					
					
						commit
						d8f61f6383
					
				|  | @ -34,7 +34,7 @@ build-gdk-image: | |||
|     - .base-image-build-buildx | ||||
|     - .build-images:rules:build-gdk-image | ||||
|   tags: | ||||
|     - high-cpu | ||||
|     - saas-linux-xlarge-amd64 | ||||
|   stage: build-images | ||||
|   needs: [] | ||||
|   script: | ||||
|  |  | |||
|  | @ -43,6 +43,10 @@ | |||
| .not-canonical-project: ¬-canonical-project | ||||
|   if: '$CI_PROJECT_PATH != "gitlab-org/gitlab" && $CI_PROJECT_PATH != "gitlab-cn/gitlab"' | ||||
| 
 | ||||
| # If Schedule pipeline | ||||
| .if-schedule-pipeline: &if-schedule-pipeline | ||||
|   if: '$CI_PIPELINE_SOURCE == "schedule"' | ||||
| 
 | ||||
| # Selective test execution against omnibus instance have following execution scenarios: | ||||
| #   * only e2e spec files changed - runs only changed specs | ||||
| #   * qa framework changes - runs full test suite | ||||
|  | @ -149,6 +153,17 @@ | |||
|       when: never | ||||
|     - !reference [.rules:test:qa, rules] | ||||
| 
 | ||||
| .rules:test:never-schedule-pipeline: | ||||
|   rules: | ||||
|     - <<: *if-schedule-pipeline | ||||
|       when: never | ||||
| 
 | ||||
| .rules:test:gdk-load-balancer-changes: | ||||
|   rules: | ||||
|     - changes: | ||||
|         - ".gitlab/ci/test-on-gdk/**" | ||||
|         - "lib/gitlab/database/load_balancing/**/*" | ||||
| 
 | ||||
| .rules:test:qa-default-branch: | ||||
|   rules: | ||||
|     - *qa-run-all-e2e-label | ||||
|  |  | |||
|  | @ -923,16 +923,9 @@ | |||
|     - !reference [".qa:rules:package-and-test-never-run", rules] | ||||
|     - <<: *if-default-branch-schedule-nightly # already executed in the 2-hourly schedule | ||||
|       when: never | ||||
|     # Rebuild base only when relevant components change | ||||
|     - <<: *if-default-branch-refs | ||||
|       changes: *gdk-component-patterns | ||||
|       variables: | ||||
|         BUILD_GDK_BASE: "true" | ||||
|     - <<: *if-default-branch-refs | ||||
|     - <<: *if-merge-request | ||||
|       changes: *gdk-component-patterns | ||||
|       variables: | ||||
|         BUILD_GDK_BASE: "true" | ||||
|     # The rest are included to be consistent with .qa:rules:e2e:test-on-gdk | ||||
|     - <<: *if-merge-request-targeting-stable-branch | ||||
|       changes: *setup-test-env-patterns | ||||
|  |  | |||
|  | @ -146,9 +146,8 @@ gdk-qa-smoke-with-load-balancer: | |||
|     reports: | ||||
|       dotenv: "" | ||||
|   rules: | ||||
|     - changes: | ||||
|         - ".gitlab/ci/test-on-gdk/**" | ||||
|         - "lib/gitlab/database/load_balancing/**/*" | ||||
|     - !reference [".rules:test:never-schedule-pipeline", rules] | ||||
|     - !reference [".rules:test:gdk-load-balancer-changes", rules] | ||||
|   allow_failure: true | ||||
| 
 | ||||
| gdk-qa-reliable: | ||||
|  | @ -177,9 +176,8 @@ gdk-qa-reliable-with-load-balancer: | |||
|     reports: | ||||
|       dotenv: "" | ||||
|   rules: | ||||
|     - changes: | ||||
|         - ".gitlab/ci/test-on-gdk/**" | ||||
|         - "lib/gitlab/database/load_balancing/**/*" | ||||
|     - !reference [".rules:test:never-schedule-pipeline", rules] | ||||
|     - !reference [".rules:test:gdk-load-balancer-changes", rules] | ||||
|   allow_failure: true | ||||
| 
 | ||||
| gdk-qa-non-blocking: | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ import axios from '~/lib/utils/axios_utils'; | |||
| import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants'; | ||||
| import { dasherize } from '~/lib/utils/text_utility'; | ||||
| import { __ } from '~/locale'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| 
 | ||||
| /** | ||||
|  * Renders either a cancel, retry or play icon button and handles the post request | ||||
|  | @ -1,8 +1,8 @@ | |||
| <script> | ||||
| import { memoize } from 'lodash'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { parseData } from '../parsing_utils'; | ||||
| import LinksInner from './links_inner.vue'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { parseData } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import LinksInner from '~/ci/pipeline_details/graph/components/links_inner.vue'; | ||||
| 
 | ||||
| const parseForLinksBare = (pipeline) => { | ||||
|   const arrayOfJobs = pipeline.flatMap(({ groups }) => groups); | ||||
|  | @ -1,10 +1,10 @@ | |||
| <script> | ||||
| import * as d3 from 'd3'; | ||||
| import { uniqueId } from 'lodash'; | ||||
| import { getMaxNodes, removeOrphanNodes } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import { PARSE_FAILURE } from '../../constants'; | ||||
| import { getMaxNodes, removeOrphanNodes } from '../parsing_utils'; | ||||
| import { LINK_SELECTOR, NODE_SELECTOR, ADD_NOTE, REMOVE_NOTE, REPLACE_NOTES } from './constants'; | ||||
| import { calculateClip, createLinkPath, createSankey, labelPosition } from './drawing_utils'; | ||||
| import { LINK_SELECTOR, NODE_SELECTOR, ADD_NOTE, REMOVE_NOTE, REPLACE_NOTES } from '../constants'; | ||||
| import { calculateClip, createLinkPath, createSankey, labelPosition } from '../drawing_utils'; | ||||
| import { | ||||
|   currentIsLive, | ||||
|   getLiveLinksAsDict, | ||||
|  | @ -12,7 +12,7 @@ import { | |||
|   restoreLinks, | ||||
|   toggleLinkHighlight, | ||||
|   togglePathHighlights, | ||||
| } from './interactions'; | ||||
| } from '../interactions'; | ||||
| 
 | ||||
| export default { | ||||
|   viewOptions: { | ||||
|  | @ -4,12 +4,17 @@ import { GlAlert, GlButton, GlEmptyState, GlLink, GlSprintf } from '@gitlab/ui'; | |||
| import { isEmpty } from 'lodash'; | ||||
| import { fetchPolicies } from '~/lib/graphql'; | ||||
| import { __ } from '~/locale'; | ||||
| import { DEFAULT, PARSE_FAILURE, LOAD_FAILURE, UNSUPPORTED_DATA } from '../../constants'; | ||||
| import getDagVisData from '../../graphql/queries/get_dag_vis_data.query.graphql'; | ||||
| import { parseData } from '../parsing_utils'; | ||||
| import { | ||||
|   DEFAULT, | ||||
|   PARSE_FAILURE, | ||||
|   LOAD_FAILURE, | ||||
|   UNSUPPORTED_DATA, | ||||
| } from '~/ci/pipeline_details/constants'; | ||||
| import { parseData } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import getDagVisData from './graphql/queries/get_dag_vis_data.query.graphql'; | ||||
| import { ADD_NOTE, REMOVE_NOTE, REPLACE_NOTES } from './constants'; | ||||
| import DagAnnotations from './dag_annotations.vue'; | ||||
| import DagGraph from './dag_graph.vue'; | ||||
| import DagAnnotations from './components/dag_annotations.vue'; | ||||
| import DagGraph from './components/dag_graph.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   // eslint-disable-next-line @gitlab/require-i18n-strings | ||||
|  | @ -1,5 +1,5 @@ | |||
| import axios from '~/lib/utils/axios_utils'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| 
 | ||||
| export const reportPerformance = (path, stats) => { | ||||
|   // FIXME: https://gitlab.com/gitlab-org/gitlab/-/issues/330245
 | ||||
|  | @ -1,15 +1,15 @@ | |||
| <script> | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import LinkedGraphWrapper from '../graph_shared/linked_graph_wrapper.vue'; | ||||
| import LinksLayer from '../graph_shared/links_layer.vue'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { | ||||
|   generateColumnsFromLayersListMemoized, | ||||
|   keepLatestDownstreamPipelines, | ||||
| } from '../parsing_utils'; | ||||
| import { DOWNSTREAM, MAIN, UPSTREAM, ONE_COL_WIDTH, STAGE_VIEW } from './constants'; | ||||
| } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import LinksLayer from '../../../common/private/job_links_layer.vue'; | ||||
| import { DOWNSTREAM, MAIN, UPSTREAM, ONE_COL_WIDTH, STAGE_VIEW } from '../constants'; | ||||
| import { validateConfigPaths } from '../utils'; | ||||
| import LinkedGraphWrapper from './linked_graph_wrapper.vue'; | ||||
| import LinkedPipelinesColumn from './linked_pipelines_column.vue'; | ||||
| import StageColumnComponent from './stage_column_component.vue'; | ||||
| import { validateConfigPaths } from './utils'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'PipelineGraph', | ||||
|  | @ -1,7 +1,7 @@ | |||
| <script> | ||||
| import { GlAlert, GlButton, GlButtonGroup, GlLoadingIcon, GlToggle } from '@gitlab/ui'; | ||||
| import { __, s__ } from '~/locale'; | ||||
| import { STAGE_VIEW, LAYER_VIEW } from './constants'; | ||||
| import { STAGE_VIEW, LAYER_VIEW } from '../constants'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'GraphViewSelector', | ||||
|  | @ -1,6 +1,6 @@ | |||
| <script> | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { JOB_DROPDOWN, SINGLE_JOB } from './constants'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { JOB_DROPDOWN, SINGLE_JOB } from '../constants'; | ||||
| import JobItem from './job_item.vue'; | ||||
| 
 | ||||
| /** | ||||
|  | @ -1,14 +1,14 @@ | |||
| <script> | ||||
| import { GlBadge, GlForm, GlFormCheckbox, GlLink, GlModal, GlTooltipDirective } from '@gitlab/ui'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import delayedJobMixin from '~/jobs/mixins/delayed_job_mixin'; | ||||
| import { helpPagePath } from '~/helpers/help_page_helper'; | ||||
| import { BV_HIDE_TOOLTIP } from '~/lib/utils/constants'; | ||||
| import { __, s__, sprintf } from '~/locale'; | ||||
| import CiIcon from '~/vue_shared/components/ci_icon.vue'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import ActionComponent from '../jobs_shared/action_component.vue'; | ||||
| import JobNameComponent from '../jobs_shared/job_name_component.vue'; | ||||
| import { BRIDGE_KIND, RETRY_ACTION_TITLE, SINGLE_JOB, SKIP_RETRY_MODAL_KEY } from './constants'; | ||||
| import ActionComponent from '../../../common/private/job_action_component.vue'; | ||||
| import JobNameComponent from '../../../common/private/job_name_component.vue'; | ||||
| import { BRIDGE_KIND, RETRY_ACTION_TITLE, SINGLE_JOB, SKIP_RETRY_MODAL_KEY } from '../constants'; | ||||
| 
 | ||||
| /** | ||||
|  * Renders the badge for the pipeline graph and the job's dropdown. | ||||
|  | @ -14,8 +14,8 @@ import { __, sprintf } from '~/locale'; | |||
| import CancelPipelineMutation from '~/ci/pipeline_details/graphql/mutations/cancel_pipeline.mutation.graphql'; | ||||
| import RetryPipelineMutation from '~/ci/pipeline_details/graphql/mutations/retry_pipeline.mutation.graphql'; | ||||
| import CiIcon from '~/vue_shared/components/ci_icon.vue'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { ACTION_FAILURE, DOWNSTREAM, UPSTREAM } from './constants'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { ACTION_FAILURE, DOWNSTREAM, UPSTREAM } from '../constants'; | ||||
| 
 | ||||
| export default { | ||||
|   directives: { | ||||
|  | @ -1,9 +1,8 @@ | |||
| <script> | ||||
| import getPipelineDetails from 'shared_queries/pipelines/get_pipeline_details.query.graphql'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { LOAD_FAILURE } from '../../constants'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { ONE_COL_WIDTH, UPSTREAM, LAYER_VIEW, STAGE_VIEW } from './constants'; | ||||
| import LinkedPipeline from './linked_pipeline.vue'; | ||||
| import { ONE_COL_WIDTH, UPSTREAM, LAYER_VIEW, STAGE_VIEW } from '../constants'; | ||||
| import { | ||||
|   calculatePipelineLayersInfo, | ||||
|   getQueryHeaders, | ||||
|  | @ -11,7 +10,8 @@ import { | |||
|   toggleQueryPollingByVisibility, | ||||
|   unwrapPipelineData, | ||||
|   validateConfigPaths, | ||||
| } from './utils'; | ||||
| } from '../utils'; | ||||
| import LinkedPipeline from './linked_pipeline.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -1,9 +1,10 @@ | |||
| <script> | ||||
| import { isEmpty } from 'lodash'; | ||||
| import { STAGE_VIEW } from '~/ci/pipeline_details/graph/constants'; | ||||
| import { createJobsHash, generateJobNeedsDict } from '~/ci/pipeline_details/utils'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { DRAW_FAILURE } from '../../constants'; | ||||
| import { createJobsHash, generateJobNeedsDict, reportToSentry } from '../../utils'; | ||||
| import { STAGE_VIEW } from '../graph/constants'; | ||||
| import { generateLinksData } from './drawing_utils'; | ||||
| import { generateLinksData } from '../../utils/drawing_utils'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'LinksInner', | ||||
|  | @ -1,9 +1,9 @@ | |||
| <script> | ||||
| import { escape, isEmpty } from 'lodash'; | ||||
| import ActionComponent from '~/ci/common/private/job_action_component.vue'; | ||||
| import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import MainGraphWrapper from '../graph_shared/main_graph_wrapper.vue'; | ||||
| import ActionComponent from '../jobs_shared/action_component.vue'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import RootGraphLayout from './root_graph_layout.vue'; | ||||
| import JobGroupDropdown from './job_group_dropdown.vue'; | ||||
| import JobItem from './job_item.vue'; | ||||
| 
 | ||||
|  | @ -12,7 +12,7 @@ export default { | |||
|     ActionComponent, | ||||
|     JobGroupDropdown, | ||||
|     JobItem, | ||||
|     MainGraphWrapper, | ||||
|     RootGraphLayout, | ||||
|   }, | ||||
|   mixins: [glFeatureFlagMixin()], | ||||
|   props: { | ||||
|  | @ -135,7 +135,7 @@ export default { | |||
| }; | ||||
| </script> | ||||
| <template> | ||||
|   <main-graph-wrapper :class="columnSpacingClass" data-testid="stage-column"> | ||||
|   <root-graph-layout :class="columnSpacingClass" data-testid="stage-column"> | ||||
|     <template #stages> | ||||
|       <div | ||||
|         data-testid="stage-column-title" | ||||
|  | @ -192,5 +192,5 @@ export default { | |||
|         </div> | ||||
|       </div> | ||||
|     </template> | ||||
|   </main-graph-wrapper> | ||||
|   </root-graph-layout> | ||||
| </template> | ||||
|  | @ -4,10 +4,10 @@ import getPipelineDetails from 'shared_queries/pipelines/get_pipeline_details.qu | |||
| import getUserCallouts from '~/graphql_shared/queries/get_user_callouts.query.graphql'; | ||||
| import { __, s__ } from '~/locale'; | ||||
| import LocalStorageSync from '~/vue_shared/components/local_storage_sync.vue'; | ||||
| import { DEFAULT, DRAW_FAILURE, LOAD_FAILURE } from '../../constants'; | ||||
| import DismissPipelineGraphCallout from '../../graphql/mutations/dismiss_pipeline_notification.graphql'; | ||||
| import getPipelineQuery from '../../graphql/queries/get_pipeline_header_data.query.graphql'; | ||||
| import { reportToSentry, reportMessageToSentry } from '../../utils'; | ||||
| import { DEFAULT, DRAW_FAILURE, LOAD_FAILURE } from '~/ci/pipeline_details/constants'; | ||||
| import getPipelineQuery from '~/ci/pipeline_details/header/graphql/queries/get_pipeline_header_data.query.graphql'; | ||||
| import { reportToSentry, reportMessageToSentry } from '~/ci/utils'; | ||||
| import DismissPipelineGraphCallout from './graphql/mutations/dismiss_pipeline_notification.graphql'; | ||||
| import { | ||||
|   ACTION_FAILURE, | ||||
|   IID_FAILURE, | ||||
|  | @ -16,8 +16,8 @@ import { | |||
|   STAGE_VIEW, | ||||
|   VIEW_TYPE_KEY, | ||||
| } from './constants'; | ||||
| import PipelineGraph from './graph_component.vue'; | ||||
| import GraphViewSelector from './graph_view_selector.vue'; | ||||
| import PipelineGraph from './components/graph_component.vue'; | ||||
| import GraphViewSelector from './components/graph_view_selector.vue'; | ||||
| import { | ||||
|   calculatePipelineLayersInfo, | ||||
|   getQueryHeaders, | ||||
|  | @ -8,7 +8,7 @@ import { | |||
| } from '~/performance/constants'; | ||||
| 
 | ||||
| import { performanceMarkAndMeasure } from '~/performance/utils'; | ||||
| import { reportPerformance } from '../graph_shared/api'; | ||||
| import { reportPerformance } from './api_utils'; | ||||
| 
 | ||||
| export const beginPerfMeasure = () => { | ||||
|   performanceMarkAndMeasure({ mark: PIPELINES_DETAIL_LINKS_MARK_CALCULATE_START }); | ||||
|  | @ -1,8 +1,9 @@ | |||
| import { isEmpty } from 'lodash'; | ||||
| import { getIdFromGraphQLId, etagQueryHeaders } from '~/graphql_shared/utils'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import { listByLayers } from '../parsing_utils'; | ||||
| import { unwrapStagesWithNeedsAndLookup } from '../unwrapping_utils'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| 
 | ||||
| import { listByLayers } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import { unwrapStagesWithNeedsAndLookup } from '~/ci/pipeline_details/utils/unwrapping_utils'; | ||||
| import { beginPerfMeasure, finishPerfMeasureAndSend } from './perf_utils'; | ||||
| 
 | ||||
| export { toggleQueryPollingByVisibility } from '~/graphql_shared/utils'; | ||||
|  | @ -30,8 +30,8 @@ import { | |||
| import cancelPipelineMutation from '../graphql/mutations/cancel_pipeline.mutation.graphql'; | ||||
| import deletePipelineMutation from '../graphql/mutations/delete_pipeline.mutation.graphql'; | ||||
| import retryPipelineMutation from '../graphql/mutations/retry_pipeline.mutation.graphql'; | ||||
| import getPipelineQuery from '../graphql/queries/get_pipeline_header_data.query.graphql'; | ||||
| import { getQueryHeaders } from './graph/utils'; | ||||
| import { getQueryHeaders } from '../graph/utils'; | ||||
| import getPipelineQuery from './graphql/queries/get_pipeline_header_data.query.graphql'; | ||||
| 
 | ||||
| const DELETE_MODAL_ID = 'pipeline-delete-modal'; | ||||
| const POLL_INTERVAL = 10000; | ||||
|  | @ -6,7 +6,7 @@ import { createAlert } from '~/alert'; | |||
| import Tracking from '~/tracking'; | ||||
| import { redirectTo } from '~/lib/utils/url_utility'; // eslint-disable-line import/no-deprecated | ||||
| import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue'; | ||||
| import RetryFailedJobMutation from '../../graphql/mutations/retry_failed_job.mutation.graphql'; | ||||
| import RetryFailedJobMutation from '../graphql/mutations/retry_failed_job.mutation.graphql'; | ||||
| import { DEFAULT_FIELDS, TRACKING_CATEGORIES } from '../../constants'; | ||||
| 
 | ||||
| export default { | ||||
|  | @ -2,8 +2,8 @@ | |||
| import { GlLoadingIcon } from '@gitlab/ui'; | ||||
| import { s__ } from '~/locale'; | ||||
| import { createAlert } from '~/alert'; | ||||
| import GetFailedJobsQuery from '../../graphql/queries/get_failed_jobs.query.graphql'; | ||||
| import FailedJobsTable from './failed_jobs_table.vue'; | ||||
| import GetFailedJobsQuery from './graphql/queries/get_failed_jobs.query.graphql'; | ||||
| import FailedJobsTable from './components/failed_jobs_table.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -6,7 +6,7 @@ import { __ } from '~/locale'; | |||
| import eventHub from '~/jobs/components/table/event_hub'; | ||||
| import JobsTable from '~/jobs/components/table/jobs_table.vue'; | ||||
| import { JOBS_TAB_FIELDS } from '~/jobs/components/table/constants'; | ||||
| import getPipelineJobs from '../../graphql/queries/get_pipeline_jobs.query.graphql'; | ||||
| import getPipelineJobs from './graphql/queries/get_pipeline_jobs.query.graphql'; | ||||
| 
 | ||||
| export default { | ||||
|   fields: JOBS_TAB_FIELDS, | ||||
|  | @ -1,14 +0,0 @@ | |||
| export default { | ||||
|   props: { | ||||
|     hasUpstream: { | ||||
|       type: Boolean, | ||||
|       required: false, | ||||
|       default: false, | ||||
|     }, | ||||
|   }, | ||||
|   methods: { | ||||
|     buildConnnectorClass(index) { | ||||
|       return index === 0 && (!this.isFirstColumn || this.hasUpstream) ? 'left-connector' : ''; | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
|  | @ -1,7 +1,7 @@ | |||
| import Vue from 'vue'; | ||||
| import VueApollo from 'vue-apollo'; | ||||
| import { parseBoolean } from '~/lib/utils/common_utils'; | ||||
| import PipelineDetailsHeader from './components/pipeline_details_header.vue'; | ||||
| import PipelineDetailsHeader from './header/pipeline_details_header.vue'; | ||||
| 
 | ||||
| Vue.use(VueApollo); | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,10 +4,11 @@ import VueRouter from 'vue-router'; | |||
| import Vuex from 'vuex'; | ||||
| import VueApollo from 'vue-apollo'; | ||||
| import { GlToast } from '@gitlab/ui'; | ||||
| import PipelineTabs from 'ee_else_ce/ci/pipeline_details/components/pipeline_tabs.vue'; | ||||
| import PipelineTabs from 'ee_else_ce/ci/pipeline_details/tabs/pipeline_tabs.vue'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { parseBoolean } from '~/lib/utils/common_utils'; | ||||
| import createTestReportsStore from './stores/test_reports'; | ||||
| import { getPipelineDefaultTab, reportToSentry } from './utils'; | ||||
| import { getPipelineDefaultTab } from './utils'; | ||||
| 
 | ||||
| Vue.use(GlToast); | ||||
| Vue.use(VueApollo); | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ import { | |||
| import { doesHashExistInUrl } from '~/lib/utils/url_utility'; | ||||
| import { __ } from '~/locale'; | ||||
| import Translate from '~/vue_shared/translate'; | ||||
| import Pipelines from './components/pipelines_list/pipelines.vue'; | ||||
| import Pipelines from './pipelines_list/pipelines.vue'; | ||||
| import PipelinesStore from './stores/pipelines_store'; | ||||
| 
 | ||||
| Vue.use(Translate); | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <script> | ||||
| import { GlLink, GlPopover, GlSprintf, GlTooltipDirective, GlBadge } from '@gitlab/ui'; | ||||
| import { helpPagePath } from '~/helpers/help_page_helper'; | ||||
| import { SCHEDULE_ORIGIN } from '../../constants'; | ||||
| import { SCHEDULE_ORIGIN } from '~/ci/pipeline_details/constants'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -1,8 +1,8 @@ | |||
| <script> | ||||
| import { GlButton, GlTooltipDirective, GlModalDirective } from '@gitlab/ui'; | ||||
| import Tracking from '~/tracking'; | ||||
| import eventHub from '../../event_hub'; | ||||
| import { BUTTON_TOOLTIP_RETRY, BUTTON_TOOLTIP_CANCEL, TRACKING_CATEGORIES } from '../../constants'; | ||||
| import eventHub from '../../event_hub'; | ||||
| import PipelineMultiActions from './pipeline_multi_actions.vue'; | ||||
| import PipelinesManualActions from './pipelines_manual_actions.vue'; | ||||
| 
 | ||||
|  | @ -5,11 +5,11 @@ import { s__ } from '~/locale'; | |||
| import Tracking from '~/tracking'; | ||||
| import { OPERATORS_IS } from '~/vue_shared/components/filtered_search_bar/constants'; | ||||
| import { TRACKING_CATEGORIES } from '../../constants'; | ||||
| import PipelineBranchNameToken from './tokens/pipeline_branch_name_token.vue'; | ||||
| import PipelineSourceToken from './tokens/pipeline_source_token.vue'; | ||||
| import PipelineStatusToken from './tokens/pipeline_status_token.vue'; | ||||
| import PipelineTagNameToken from './tokens/pipeline_tag_name_token.vue'; | ||||
| import PipelineTriggerAuthorToken from './tokens/pipeline_trigger_author_token.vue'; | ||||
| import PipelineBranchNameToken from '../tokens/pipeline_branch_name_token.vue'; | ||||
| import PipelineSourceToken from '../tokens/pipeline_source_token.vue'; | ||||
| import PipelineStatusToken from '../tokens/pipeline_status_token.vue'; | ||||
| import PipelineTagNameToken from '../tokens/pipeline_tag_name_token.vue'; | ||||
| import PipelineTriggerAuthorToken from '../tokens/pipeline_trigger_author_token.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   userType: 'username', | ||||
|  | @ -8,7 +8,7 @@ import Tracking from '~/tracking'; | |||
| import GlCountdown from '~/vue_shared/components/gl_countdown.vue'; | ||||
| import eventHub from '../../event_hub'; | ||||
| import { TRACKING_CATEGORIES } from '../../constants'; | ||||
| import getPipelineActionsQuery from '../../graphql/queries/get_pipeline_actions.query.graphql'; | ||||
| import getPipelineActionsQuery from '../graphql/queries/get_pipeline_actions.query.graphql'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'PipelinesManualActions', | ||||
|  | @ -4,9 +4,9 @@ import { cleanLeadingSeparator } from '~/lib/utils/url_utility'; | |||
| import { s__, __ } from '~/locale'; | ||||
| import Tracking from '~/tracking'; | ||||
| import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; | ||||
| import { keepLatestDownstreamPipelines } from '~/ci/pipeline_details/components/parsing_utils'; | ||||
| import LegacyPipelineMiniGraph from '~/ci/pipeline_details/components/pipeline_mini_graph/legacy_pipeline_mini_graph.vue'; | ||||
| import PipelineFailedJobsWidget from '~/ci/pipeline_details/components/pipelines_list/failure_widget/pipeline_failed_jobs_widget.vue'; | ||||
| import { keepLatestDownstreamPipelines } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import LegacyPipelineMiniGraph from '~/ci/pipeline_mini_graph/legacy_pipeline_mini_graph.vue'; | ||||
| import PipelineFailedJobsWidget from '~/ci/pipeline_details/pipelines_list/failure_widget/pipeline_failed_jobs_widget.vue'; | ||||
| import eventHub from '../../event_hub'; | ||||
| import { TRACKING_CATEGORIES } from '../../constants'; | ||||
| import PipelineOperations from './pipeline_operations.vue'; | ||||
|  | @ -2,8 +2,8 @@ | |||
| import { GlEmptyState } from '@gitlab/ui'; | ||||
| import { s__ } from '~/locale'; | ||||
| import GitlabExperiment from '~/experimentation/components/gitlab_experiment.vue'; | ||||
| import PipelinesCiTemplates from './empty_state/pipelines_ci_templates.vue'; | ||||
| import IosTemplates from './empty_state/ios_templates.vue'; | ||||
| import PipelinesCiTemplates from './pipelines_ci_templates.vue'; | ||||
| import IosTemplates from './ios_templates.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   i18n: { | ||||
|  | @ -5,8 +5,8 @@ import { __, s__, sprintf } from '~/locale'; | |||
| import { getIdFromGraphQLId } from '~/graphql_shared/utils'; | ||||
| import CiIcon from '~/vue_shared/components/ci_icon.vue'; | ||||
| import SafeHtml from '~/vue_shared/directives/safe_html'; | ||||
| import { BRIDGE_KIND } from '~/ci/pipeline_details/components/graph/constants'; | ||||
| import RetryMrFailedJobMutation from '../../../graphql/mutations/retry_mr_failed_job.mutation.graphql'; | ||||
| import { BRIDGE_KIND } from '~/ci/pipeline_details/graph/constants'; | ||||
| import RetryMrFailedJobMutation from '~/ci/merge_requests/graphql/mutations/retry_mr_failed_job.mutation.graphql'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -2,9 +2,9 @@ | |||
| import { GlLoadingIcon } from '@gitlab/ui'; | ||||
| import { createAlert } from '~/alert'; | ||||
| import { __, s__, sprintf } from '~/locale'; | ||||
| import { getQueryHeaders } from '~/ci/pipeline_details/components/graph/utils'; | ||||
| import { getQueryHeaders } from '~/ci/pipeline_details/graph/utils'; | ||||
| import { graphqlEtagPipelinePath } from '~/ci/pipeline_details/utils'; | ||||
| import getPipelineFailedJobs from '../../../graphql/queries/get_pipeline_failed_jobs.query.graphql'; | ||||
| import getPipelineFailedJobs from '~/ci/pipeline_details/pipelines_list/graphql/queries/get_pipeline_failed_jobs.query.graphql'; | ||||
| import { sortJobsByStatus } from './utils'; | ||||
| import FailedJobDetails from './failed_job_details.vue'; | ||||
| 
 | ||||
|  | @ -17,19 +17,19 @@ import { | |||
|   FILTER_TAG_IDENTIFIER, | ||||
|   PipelineKeyOptions, | ||||
|   TRACKING_CATEGORIES, | ||||
| } from '../../constants'; | ||||
| import PipelinesMixin from '../../mixins/pipelines_mixin'; | ||||
| import PipelinesService from '../../services/pipelines_service'; | ||||
| import { validateParams } from '../../utils'; | ||||
| import EmptyState from './empty_state.vue'; | ||||
| import NavigationControls from './nav_controls.vue'; | ||||
| import PipelinesFilteredSearch from './pipelines_filtered_search.vue'; | ||||
| import PipelinesTableComponent from './pipelines_table.vue'; | ||||
| } from '../constants'; | ||||
| import PipelinesMixin from '../mixins/pipelines_mixin'; | ||||
| import PipelinesService from '../services/pipelines_service'; | ||||
| import { validateParams } from '../utils'; | ||||
| import NoCiEmptyState from './empty_state/no_ci_empty_state.vue'; | ||||
| import NavigationControls from './components/nav_controls.vue'; | ||||
| import PipelinesFilteredSearch from './components/pipelines_filtered_search.vue'; | ||||
| import PipelinesTableComponent from './components/pipelines_table.vue'; | ||||
| 
 | ||||
| export default { | ||||
|   PipelineKeyOptions, | ||||
|   components: { | ||||
|     EmptyState, | ||||
|     NoCiEmptyState, | ||||
|     GlCollapsibleListbox, | ||||
|     GlEmptyState, | ||||
|     GlIcon, | ||||
|  | @ -409,7 +409,7 @@ export default { | |||
|         class="prepend-top-20" | ||||
|       /> | ||||
| 
 | ||||
|       <empty-state | ||||
|       <no-ci-empty-state | ||||
|         v-else-if="stateToRender === $options.stateMap.emptyState" | ||||
|         :empty-state-svg-path="emptyStateSvgPath" | ||||
|         :can-set-ci="canCreatePipeline" | ||||
|  | @ -3,7 +3,7 @@ import { GlFilteredSearchToken, GlFilteredSearchSuggestion, GlLoadingIcon } from | |||
| import { debounce } from 'lodash'; | ||||
| import Api from '~/api'; | ||||
| import { createAlert } from '~/alert'; | ||||
| import { FETCH_BRANCH_ERROR_MESSAGE, FILTER_PIPELINES_SEARCH_DELAY } from '../../../constants'; | ||||
| import { FETCH_BRANCH_ERROR_MESSAGE, FILTER_PIPELINES_SEARCH_DELAY } from '../../constants'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -1,6 +1,6 @@ | |||
| <script> | ||||
| import { GlFilteredSearchToken, GlFilteredSearchSuggestion } from '@gitlab/ui'; | ||||
| import { PIPELINE_SOURCES } from 'ee_else_ce/ci/pipeline_details/components/pipelines_list/tokens/constants'; | ||||
| import { PIPELINE_SOURCES } from 'ee_else_ce/ci/pipeline_details/pipelines_list/tokens/constants'; | ||||
| 
 | ||||
| export default { | ||||
|   PIPELINE_SOURCES, | ||||
|  | @ -3,7 +3,7 @@ import { GlFilteredSearchToken, GlFilteredSearchSuggestion, GlLoadingIcon } from | |||
| import { debounce } from 'lodash'; | ||||
| import Api from '~/api'; | ||||
| import { createAlert } from '~/alert'; | ||||
| import { FETCH_TAG_ERROR_MESSAGE, FILTER_PIPELINES_SEARCH_DELAY } from '../../../constants'; | ||||
| import { FETCH_TAG_ERROR_MESSAGE, FILTER_PIPELINES_SEARCH_DELAY } from '../../constants'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -13,7 +13,7 @@ import { | |||
|   ANY_TRIGGER_AUTHOR, | ||||
|   FETCH_AUTHOR_ERROR_MESSAGE, | ||||
|   FILTER_PIPELINES_SEARCH_DELAY, | ||||
| } from '../../../constants'; | ||||
| } from '../../constants'; | ||||
| 
 | ||||
| export default { | ||||
|   anyTriggerAuthor: ANY_TRIGGER_AUTHOR, | ||||
|  | @ -1,8 +1,8 @@ | |||
| import PipelineGraphWrapper from './components/graph/graph_component_wrapper.vue'; | ||||
| import Dag from './components/dag/dag.vue'; | ||||
| import FailedJobsApp from './components/jobs/failed_jobs_app.vue'; | ||||
| import JobsApp from './components/jobs/jobs_app.vue'; | ||||
| import TestReports from './components/test_reports/test_reports.vue'; | ||||
| import PipelineGraphWrapper from './graph/graph_component_wrapper.vue'; | ||||
| import Dag from './dag/dag.vue'; | ||||
| import FailedJobsApp from './jobs/failed_jobs_app.vue'; | ||||
| import JobsApp from './jobs/jobs_app.vue'; | ||||
| import TestReports from './test_reports/test_reports.vue'; | ||||
| import { | ||||
|   pipelineTabName, | ||||
|   needsTabName, | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| <script> | ||||
| import { GlButton, GlProgressBar } from '@gitlab/ui'; | ||||
| import { __ } from '~/locale'; | ||||
| import { formattedTime } from '../../stores/test_reports/utils'; | ||||
| import { formattedTime } from '../stores/test_reports/utils'; | ||||
| 
 | ||||
| export default { | ||||
|   name: 'TestSummary', | ||||
|  | @ -1,4 +1,3 @@ | |||
| import * as Sentry from '@sentry/browser'; | ||||
| import { pickBy } from 'lodash'; | ||||
| import { parseUrlPathname } from '~/lib/utils/url_utility'; | ||||
| import { | ||||
|  | @ -6,7 +5,7 @@ import { | |||
|   SUPPORTED_FILTER_PARAMETERS, | ||||
|   validPipelineTabNames, | ||||
|   pipelineTabName, | ||||
| } from './constants'; | ||||
| } from '../constants'; | ||||
| /* | ||||
|     The following functions are the main engine in transforming the data as | ||||
|     received from the endpoint into the format the d3 graph expects. | ||||
|  | @ -128,22 +127,6 @@ export const generateJobNeedsDict = (jobs = {}) => { | |||
|   }, {}); | ||||
| }; | ||||
| 
 | ||||
| export const reportToSentry = (component, failureType) => { | ||||
|   Sentry.withScope((scope) => { | ||||
|     scope.setTag('component', component); | ||||
|     Sentry.captureException(failureType); | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| export const reportMessageToSentry = (component, message, context) => { | ||||
|   Sentry.withScope((scope) => { | ||||
|     // eslint-disable-next-line @gitlab/require-i18n-strings
 | ||||
|     scope.setContext('Vue data', context); | ||||
|     scope.setTag('component', component); | ||||
|     Sentry.captureMessage(message); | ||||
|   }); | ||||
| }; | ||||
| 
 | ||||
| export const getPipelineDefaultTab = (url) => { | ||||
|   const strippedUrl = parseUrlPathname(url); | ||||
|   const regexp = /\w*$/; | ||||
|  | @ -1,7 +1,7 @@ | |||
| import { memoize } from 'lodash'; | ||||
| import { createNodeDict } from '../utils'; | ||||
| import { EXPLICIT_NEEDS_PROPERTY, NEEDS_PROPERTY } from '../constants'; | ||||
| import { createSankey } from './dag/drawing_utils'; | ||||
| import { createSankey } from '../dag/drawing_utils'; | ||||
| import { createNodeDict } from './index'; | ||||
| 
 | ||||
| /* | ||||
|   A peformant alternative to lodash's isEqual. Because findIndex always finds | ||||
|  | @ -1,4 +1,4 @@ | |||
| import { reportToSentry } from '../utils'; | ||||
| import { reportToSentry } from '~/ci/utils'; | ||||
| import { EXPLICIT_NEEDS_PROPERTY, NEEDS_PROPERTY } from '../constants'; | ||||
| 
 | ||||
| const unwrapGroups = (stages) => { | ||||
|  | @ -1,8 +1,8 @@ | |||
| <script> | ||||
| import { GlAlert } from '@gitlab/ui'; | ||||
| import { __ } from '~/locale'; | ||||
| import { DRAW_FAILURE, DEFAULT } from '../../constants'; | ||||
| import LinksLayer from '../graph_shared/links_layer.vue'; | ||||
| import { DRAW_FAILURE, DEFAULT } from '~/ci/pipeline_details/constants'; | ||||
| import LinksLayer from '~/ci/common/private/job_links_layer.vue'; | ||||
| import JobPill from './job_pill.vue'; | ||||
| import StageName from './stage_name.vue'; | ||||
| 
 | ||||
|  | @ -1,7 +1,7 @@ | |||
| <script> | ||||
| import { __ } from '~/locale'; | ||||
| import { keepLatestDownstreamPipelines } from '~/ci/pipeline_details/components/parsing_utils'; | ||||
| import LegacyPipelineMiniGraph from '~/ci/pipeline_details/components/pipeline_mini_graph/legacy_pipeline_mini_graph.vue'; | ||||
| import { keepLatestDownstreamPipelines } from '~/ci/pipeline_details/utils/parsing_utils'; | ||||
| import LegacyPipelineMiniGraph from '~/ci/pipeline_mini_graph/legacy_pipeline_mini_graph.vue'; | ||||
| import getLinkedPipelinesQuery from '~/ci/pipeline_details/graphql/queries/get_linked_pipelines.query.graphql'; | ||||
| import { PIPELINE_FAILURE } from '../../constants'; | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,13 +5,10 @@ import { truncateSha } from '~/lib/utils/text_utility'; | |||
| import { s__ } from '~/locale'; | ||||
| import getPipelineQuery from '~/ci/pipeline_editor/graphql/queries/pipeline.query.graphql'; | ||||
| import getPipelineEtag from '~/ci/pipeline_editor/graphql/queries/client/pipeline_etag.query.graphql'; | ||||
| import { | ||||
|   getQueryHeaders, | ||||
|   toggleQueryPollingByVisibility, | ||||
| } from '~/ci/pipeline_details/components/graph/utils'; | ||||
| import { getQueryHeaders, toggleQueryPollingByVisibility } from '~/ci/pipeline_details/graph/utils'; | ||||
| import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; | ||||
| import CiIcon from '~/vue_shared/components/ci_icon.vue'; | ||||
| import PipelineMiniGraph from '~/ci/pipeline_details/components/pipeline_mini_graph/pipeline_mini_graph.vue'; | ||||
| import PipelineMiniGraph from '~/ci/pipeline_mini_graph/pipeline_mini_graph.vue'; | ||||
| import PipelineEditorMiniGraph from './pipeline_editor_mini_graph.vue'; | ||||
| 
 | ||||
| const POLL_INTERVAL = 10000; | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| import { GlAlert, GlLoadingIcon, GlTabs } from '@gitlab/ui'; | ||||
| import CiEditorHeader from 'ee_else_ce/ci/pipeline_editor/components/editor/ci_editor_header.vue'; | ||||
| import { s__, __ } from '~/locale'; | ||||
| import PipelineGraph from '~/ci/pipeline_details/components/pipeline_graph/pipeline_graph.vue'; | ||||
| import PipelineGraph from '~/ci/pipeline_editor/components/graph/pipeline_graph.vue'; | ||||
| import { getParameterValues, setUrlParams, updateHistory } from '~/lib/utils/url_utility'; | ||||
| import { | ||||
|   CREATE_TAB, | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ import { fetchPolicies } from '~/lib/graphql'; | |||
| import { mergeUrlParams, queryToObject, redirectTo } from '~/lib/utils/url_utility'; // eslint-disable-line import/no-deprecated | ||||
| import { __, s__ } from '~/locale'; | ||||
| 
 | ||||
| import { unwrapStagesWithNeeds } from '~/ci/pipeline_details/components/unwrapping_utils'; | ||||
| import { unwrapStagesWithNeeds } from '~/ci/pipeline_details/utils/unwrapping_utils'; | ||||
| 
 | ||||
| import ConfirmUnsavedChangesDialog from './components/ui/confirm_unsaved_changes_dialog.vue'; | ||||
| import PipelineEditorEmptyState from './components/ui/pipeline_editor_empty_state.vue'; | ||||
|  |  | |||
|  | @ -1,11 +1,11 @@ | |||
| <script> | ||||
| import { GlTooltipDirective, GlLink } from '@gitlab/ui'; | ||||
| import ActionComponent from '~/ci/common/private/job_action_component.vue'; | ||||
| import JobNameComponent from '~/ci/common/private/job_name_component.vue'; | ||||
| import { ICONS } from '~/ci/pipeline_details/constants'; | ||||
| import delayedJobMixin from '~/jobs/mixins/delayed_job_mixin'; | ||||
| import { s__, sprintf } from '~/locale'; | ||||
| import { reportToSentry } from '../../utils'; | ||||
| import ActionComponent from '../jobs_shared/action_component.vue'; | ||||
| import JobNameComponent from '../jobs_shared/job_name_component.vue'; | ||||
| import { ICONS } from '../../constants'; | ||||
| import { reportToSentry } from '../utils'; | ||||
| 
 | ||||
| /** | ||||
|  * Renders the badge for the pipeline graph and the job's dropdown. | ||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue