From b76ae638462ab0f673e5915986070518dd3f9ad3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Aug 2021 09:08:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-2-stable-ee --- .../codequality_report/grouped_codequality_reports_app.vue | 11 ----------- .../javascripts/reports/codequality_report/store/actions.js | 12 ++++++------ .../javascripts/reports/codequality_report/store/getters.js | 4 ++-- .../reports/codequality_report/store/mutations.js | 4 ++-- .../javascripts/reports/codequality_report/store/state.js | 3 +-- app/assets/javascripts/reports/constants.js | 1 + .../reports/grouped_test_report/components/modal.vue | 2 +- 7 files changed, 13 insertions(+), 24 deletions(-) (limited to 'app/assets/javascripts/reports') diff --git a/app/assets/javascripts/reports/codequality_report/grouped_codequality_reports_app.vue b/app/assets/javascripts/reports/codequality_report/grouped_codequality_reports_app.vue index e568950380e..0e18d0992cd 100644 --- a/app/assets/javascripts/reports/codequality_report/grouped_codequality_reports_app.vue +++ b/app/assets/javascripts/reports/codequality_report/grouped_codequality_reports_app.vue @@ -12,19 +12,10 @@ export default { ReportSection, }, props: { - headPath: { - type: String, - required: true, - }, headBlobPath: { type: String, required: true, }, - basePath: { - type: String, - required: false, - default: null, - }, baseBlobPath: { type: String, required: false, @@ -52,8 +43,6 @@ export default { }, created() { this.setPaths({ - basePath: this.basePath, - headPath: this.headPath, baseBlobPath: this.baseBlobPath, headBlobPath: this.headBlobPath, reportsPath: this.codequalityReportsPath, diff --git a/app/assets/javascripts/reports/codequality_report/store/actions.js b/app/assets/javascripts/reports/codequality_report/store/actions.js index e3238207af2..04aca11b945 100644 --- a/app/assets/javascripts/reports/codequality_report/store/actions.js +++ b/app/assets/javascripts/reports/codequality_report/store/actions.js @@ -1,4 +1,5 @@ -import axios from '~/lib/utils/axios_utils'; +import pollUntilComplete from '~/lib/utils/poll_until_complete'; +import { STATUS_NOT_FOUND } from '../../constants'; import * as types from './mutation_types'; import { parseCodeclimateMetrics } from './utils/codequality_parser'; @@ -7,12 +8,11 @@ export const setPaths = ({ commit }, paths) => commit(types.SET_PATHS, paths); export const fetchReports = ({ state, dispatch, commit }) => { commit(types.REQUEST_REPORTS); - if (!state.basePath) { - return dispatch('receiveReportsError'); - } - return axios - .get(state.reportsPath) + return pollUntilComplete(state.reportsPath) .then(({ data }) => { + if (data.status === STATUS_NOT_FOUND) { + return dispatch('receiveReportsError', data); + } return dispatch('receiveReportsSuccess', { newIssues: parseCodeclimateMetrics(data.new_errors, state.headBlobPath), resolvedIssues: parseCodeclimateMetrics(data.resolved_errors, state.baseBlobPath), diff --git a/app/assets/javascripts/reports/codequality_report/store/getters.js b/app/assets/javascripts/reports/codequality_report/store/getters.js index c6935291af2..3fb8c5be351 100644 --- a/app/assets/javascripts/reports/codequality_report/store/getters.js +++ b/app/assets/javascripts/reports/codequality_report/store/getters.js @@ -1,6 +1,6 @@ import { spriteIcon } from '~/lib/utils/common_utils'; import { sprintf, __, s__, n__ } from '~/locale'; -import { LOADING, ERROR, SUCCESS } from '../../constants'; +import { LOADING, ERROR, SUCCESS, STATUS_NOT_FOUND } from '../../constants'; export const hasCodequalityIssues = (state) => Boolean(state.newIssues?.length || state.resolvedIssues?.length); @@ -42,7 +42,7 @@ export const codequalityText = (state) => { }; export const codequalityPopover = (state) => { - if (state.headPath && !state.basePath) { + if (state.status === STATUS_NOT_FOUND) { return { title: s__('ciReport|Base pipeline codequality artifact not found'), content: sprintf( diff --git a/app/assets/javascripts/reports/codequality_report/store/mutations.js b/app/assets/javascripts/reports/codequality_report/store/mutations.js index 095e6637966..249c2f35c0b 100644 --- a/app/assets/javascripts/reports/codequality_report/store/mutations.js +++ b/app/assets/javascripts/reports/codequality_report/store/mutations.js @@ -2,8 +2,6 @@ import * as types from './mutation_types'; export default { [types.SET_PATHS](state, paths) { - state.basePath = paths.basePath; - state.headPath = paths.headPath; state.baseBlobPath = paths.baseBlobPath; state.headBlobPath = paths.headBlobPath; state.reportsPath = paths.reportsPath; @@ -14,6 +12,7 @@ export default { }, [types.RECEIVE_REPORTS_SUCCESS](state, data) { state.hasError = false; + state.status = ''; state.statusReason = ''; state.isLoading = false; state.newIssues = data.newIssues; @@ -22,6 +21,7 @@ export default { [types.RECEIVE_REPORTS_ERROR](state, error) { state.isLoading = false; state.hasError = true; + state.status = error?.status || ''; state.statusReason = error?.response?.data?.status_reason; }, }; diff --git a/app/assets/javascripts/reports/codequality_report/store/state.js b/app/assets/javascripts/reports/codequality_report/store/state.js index b39ff4f9d66..f68dbc2a5fa 100644 --- a/app/assets/javascripts/reports/codequality_report/store/state.js +++ b/app/assets/javascripts/reports/codequality_report/store/state.js @@ -1,6 +1,4 @@ export default () => ({ - basePath: null, - headPath: null, reportsPath: null, baseBlobPath: null, @@ -8,6 +6,7 @@ export default () => ({ isLoading: false, hasError: false, + status: '', statusReason: '', newIssues: [], diff --git a/app/assets/javascripts/reports/constants.js b/app/assets/javascripts/reports/constants.js index 7f7ea2adc0e..53273aeff33 100644 --- a/app/assets/javascripts/reports/constants.js +++ b/app/assets/javascripts/reports/constants.js @@ -12,6 +12,7 @@ export const SUCCESS = 'SUCCESS'; export const STATUS_FAILED = 'failed'; export const STATUS_SUCCESS = 'success'; export const STATUS_NEUTRAL = 'neutral'; +export const STATUS_NOT_FOUND = 'not_found'; export const ICON_WARNING = 'warning'; export const ICON_SUCCESS = 'success'; diff --git a/app/assets/javascripts/reports/grouped_test_report/components/modal.vue b/app/assets/javascripts/reports/grouped_test_report/components/modal.vue index af93e5bc639..ca518aea743 100644 --- a/app/assets/javascripts/reports/grouped_test_report/components/modal.vue +++ b/app/assets/javascripts/reports/grouped_test_report/components/modal.vue @@ -47,7 +47,7 @@ export default {
{{ field.text }}: -
+