Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-09-27 21:11:32 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-09-27 21:11:32 +0300
commite53dd98899f27b4ba30632b8de062addb62466e8 (patch)
tree3b8b6fedd33d9040526bdd2a0f308cf4b127ea86 /app/assets/javascripts/ci
parent57ae76cdb503afd6c0821de3a03b4387af6b59eb (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/ci')
-rw-r--r--app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue17
-rw-r--r--app/assets/javascripts/ci/admin/jobs_table/graphql/queries/get_all_jobs.query.graphql1
-rw-r--r--app/assets/javascripts/ci/runner/components/runner_type_icon.vue62
3 files changed, 76 insertions, 4 deletions
diff --git a/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue b/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue
index 33b18c35347..e44f756a5c5 100644
--- a/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue
+++ b/app/assets/javascripts/ci/admin/jobs_table/components/cells/runner_cell.vue
@@ -1,5 +1,6 @@
<script>
-import { GlLink } from '@gitlab/ui';
+import { GlLink, GlTooltipDirective } from '@gitlab/ui';
+import RunnerTypeIcon from '~/ci/runner/components/runner_type_icon.vue';
import { RUNNER_EMPTY_TEXT, RUNNER_NO_DESCRIPTION } from '../../constants';
export default {
@@ -9,6 +10,10 @@ export default {
},
components: {
GlLink,
+ RunnerTypeIcon,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
},
props: {
job: {
@@ -25,15 +30,19 @@ export default {
? this.job.runner.description
: this.$options.i18n.noRunnerDescription;
},
+ runnerType() {
+ return this.job.runner?.runnerType;
+ },
},
};
</script>
<template>
<div class="gl-text-truncate">
- <gl-link v-if="adminUrl" :href="adminUrl" data-testid="job-runner-link">
- {{ description }}
- </gl-link>
+ <span v-if="adminUrl">
+ <runner-type-icon :type="runnerType" class="gl-vertical-align-middle" />
+ <gl-link :href="adminUrl" data-testid="job-runner-link"> {{ description }} </gl-link>
+ </span>
<span v-else data-testid="empty-runner-text"> {{ $options.i18n.emptyRunnerText }}</span>
</div>
</template>
diff --git a/app/assets/javascripts/ci/admin/jobs_table/graphql/queries/get_all_jobs.query.graphql b/app/assets/javascripts/ci/admin/jobs_table/graphql/queries/get_all_jobs.query.graphql
index 89fb1782e46..2e77f4db907 100644
--- a/app/assets/javascripts/ci/admin/jobs_table/graphql/queries/get_all_jobs.query.graphql
+++ b/app/assets/javascripts/ci/admin/jobs_table/graphql/queries/get_all_jobs.query.graphql
@@ -16,6 +16,7 @@ query getAllJobs(
id
description
adminUrl
+ runnerType
}
artifacts {
nodes {
diff --git a/app/assets/javascripts/ci/runner/components/runner_type_icon.vue b/app/assets/javascripts/ci/runner/components/runner_type_icon.vue
new file mode 100644
index 00000000000..c56f28e10a3
--- /dev/null
+++ b/app/assets/javascripts/ci/runner/components/runner_type_icon.vue
@@ -0,0 +1,62 @@
+<script>
+import { GlIcon, GlTooltipDirective } from '@gitlab/ui';
+import {
+ INSTANCE_TYPE,
+ GROUP_TYPE,
+ PROJECT_TYPE,
+ I18N_INSTANCE_TYPE,
+ I18N_INSTANCE_RUNNER_DESCRIPTION,
+ I18N_GROUP_TYPE,
+ I18N_GROUP_RUNNER_DESCRIPTION,
+ I18N_PROJECT_TYPE,
+ I18N_PROJECT_RUNNER_DESCRIPTION,
+} from '../constants';
+
+const ICON_DATA = {
+ [INSTANCE_TYPE]: {
+ name: 'users',
+ tooltip: `${I18N_INSTANCE_TYPE}: ${I18N_INSTANCE_RUNNER_DESCRIPTION}`,
+ },
+ [GROUP_TYPE]: {
+ name: 'group',
+ tooltip: `${I18N_GROUP_TYPE}: ${I18N_GROUP_RUNNER_DESCRIPTION}`,
+ },
+ [PROJECT_TYPE]: {
+ name: 'project',
+ tooltip: `${I18N_PROJECT_TYPE}: ${I18N_PROJECT_RUNNER_DESCRIPTION}`,
+ },
+};
+
+export default {
+ components: {
+ GlIcon,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ type: {
+ type: String,
+ required: false,
+ default: null,
+ validator(type) {
+ return Boolean(ICON_DATA[type]);
+ },
+ },
+ },
+ computed: {
+ icon() {
+ return ICON_DATA[this.type];
+ },
+ },
+};
+</script>
+<template>
+ <gl-icon
+ v-if="icon"
+ v-gl-tooltip="icon.tooltip"
+ :aria-label="icon.tooltip"
+ :name="icon.name"
+ v-bind="$attrs"
+ />
+</template>