diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index f20f3276867..2fa8c2519f7 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -172,6 +172,8 @@ review-qa-smoke: - .review-qa-base - .review:rules:review-qa-smoke retry: 1 # This is confusing but this means "2 runs at max". + variables: + QA_RUN_TYPE: review-qa-smoke script: - bin/test Test::Instance::Smoke "${CI_ENVIRONMENT_URL}" @@ -180,6 +182,8 @@ review-qa-all: - .review-qa-base - .review:rules:review-qa-all parallel: 5 + variables: + QA_RUN_TYPE: review-qa-all script: - export KNAPSACK_REPORT_PATH=knapsack/master_report.json - export KNAPSACK_TEST_FILE_PATTERN=qa/specs/features/**/*_spec.rb diff --git a/app/assets/javascripts/ci_lint/index.js b/app/assets/javascripts/ci_lint/index.js index 274aab45deb..f97590ec5db 100644 --- a/app/assets/javascripts/ci_lint/index.js +++ b/app/assets/javascripts/ci_lint/index.js @@ -8,7 +8,9 @@ import CiLint from './components/ci_lint.vue'; Vue.use(VueApollo); const apolloProvider = new VueApollo({ - defaultClient: createDefaultClient(resolvers), + defaultClient: createDefaultClient(resolvers, { + assumeImmutableResults: true, + }), }); export default (containerId = '#js-ci-lint') => { diff --git a/app/assets/javascripts/repository/components/table/index.vue b/app/assets/javascripts/repository/components/table/index.vue index 44621fc34d1..0a2ed753e38 100644 --- a/app/assets/javascripts/repository/components/table/index.vue +++ b/app/assets/javascripts/repository/components/table/index.vue @@ -90,17 +90,18 @@ export default { showMore() { this.$emit('showMore'); }, - generateRowNumber(id) { + generateRowNumber(path, id, index) { + const key = `${path}-${id}-${index}`; if (!this.glFeatures.lazyLoadCommits) { return 0; } - if (!this.rowNumbers[id] && this.rowNumbers[id] !== 0) { + if (!this.rowNumbers[key] && this.rowNumbers[key] !== 0) { this.$options.totalRowsLoaded += 1; - this.rowNumbers[id] = this.$options.totalRowsLoaded; + this.rowNumbers[key] = this.$options.totalRowsLoaded; } - return this.rowNumbers[id]; + return this.rowNumbers[key]; }, getCommit(fileName, type) { if (!this.glFeatures.lazyLoadCommits) { @@ -150,7 +151,7 @@ export default { :lfs-oid="entry.lfsOid" :loading-path="loadingPath" :total-entries="totalEntries" - :row-number="generateRowNumber(entry.id)" + :row-number="generateRowNumber(entry.flatPath, entry.id, index)" :commit-info="getCommit(entry.name, entry.type)" v-on="$listeners" /> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_summary.vue b/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_summary.vue index ea73ab416de..0c4a5ee35d9 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_summary.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_summary.vue @@ -35,13 +35,17 @@ export default { } if (!this.rulesLeft.length) { - return n__('Requires approval.', 'Requires %d more approvals.', this.approvalsLeft); + return n__( + 'Requires %d approval from eligible users.', + 'Requires %d approvals from eligible users.', + this.approvalsLeft, + ); } return sprintf( n__( - 'Requires approval from %{names}.', - 'Requires %{count} more approvals from %{names}.', + 'Requires %{count} approval from %{names}.', + 'Requires %{count} approvals from %{names}.', this.approvalsLeft, ), { diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue index ecabe5007e6..5c67b9c7ab5 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue @@ -71,7 +71,7 @@ export default { };