diff --git a/.gitlab/ci/database.gitlab-ci.yml b/.gitlab/ci/database.gitlab-ci.yml
index 0a86a8888a5..2fe80de47f9 100644
--- a/.gitlab/ci/database.gitlab-ci.yml
+++ b/.gitlab/ci/database.gitlab-ci.yml
@@ -147,7 +147,7 @@ db:backup_and_restore:
script:
- . scripts/prepare_build.sh
- bundle exec rake db:drop db:create db:schema:load db:seed_fu
- - mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,terraform_state,registry,packages,ci_secure_files}
+ - mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,terraform_state,registry,packages,ci_secure_files,external-diffs}
- bundle exec rake gitlab:backup:create
- date
- bundle exec rake gitlab:backup:restore
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
index 78c4cedea12..926e6521d9a 100644
--- a/.gitlab/ci/global.gitlab-ci.yml
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -321,7 +321,7 @@
.ai-gateway-services:
services:
- - name: registry.gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/model-gateway:v1.6.0
+ - name: registry.gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/model-gateway:v1.6.1
alias: ai-gateway
.use-pg13:
diff --git a/.rubocop_todo/gitlab/bounded_contexts.yml b/.rubocop_todo/gitlab/bounded_contexts.yml
index 1bfd6c0e54b..318b5dec371 100644
--- a/.rubocop_todo/gitlab/bounded_contexts.yml
+++ b/.rubocop_todo/gitlab/bounded_contexts.yml
@@ -3923,7 +3923,6 @@ Gitlab/BoundedContexts:
- 'ee/lib/compliance_management/standards_adherence_checks_tracker.rb'
- 'ee/lib/delay.rb'
- 'ee/lib/duo_pro/bulk_user_assignment.rb'
- - 'ee/lib/ee/backup/targets/repositories.rb'
- 'ee/lib/ee/bulk_imports/groups/stage.rb'
- 'ee/lib/ee/bulk_imports/projects/pipelines/issues_pipeline.rb'
- 'ee/lib/ee/bulk_imports/projects/stage.rb'
@@ -4103,35 +4102,6 @@ Gitlab/BoundedContexts:
- 'lib/atlassian/jira_issue_key_extractor.rb'
- 'lib/atlassian/jira_issue_key_extractors/branch.rb'
- 'lib/aws/s3_client.rb'
- - 'lib/backup.rb'
- - 'lib/backup/database_configuration.rb'
- - 'lib/backup/database_connection.rb'
- - 'lib/backup/dump/postgres.rb'
- - 'lib/backup/gitaly_backup.rb'
- - 'lib/backup/helper.rb'
- - 'lib/backup/manager.rb'
- - 'lib/backup/metadata.rb'
- - 'lib/backup/options.rb'
- - 'lib/backup/remote_storage.rb'
- - 'lib/backup/restore/preconditions.rb'
- - 'lib/backup/restore/process.rb'
- - 'lib/backup/restore/unpack.rb'
- - 'lib/backup/targets/database.rb'
- - 'lib/backup/targets/files.rb'
- - 'lib/backup/targets/repositories.rb'
- - 'lib/backup/targets/target.rb'
- - 'lib/backup/tasks/artifacts.rb'
- - 'lib/backup/tasks/builds.rb'
- - 'lib/backup/tasks/ci_secure_files.rb'
- - 'lib/backup/tasks/database.rb'
- - 'lib/backup/tasks/lfs.rb'
- - 'lib/backup/tasks/packages.rb'
- - 'lib/backup/tasks/pages.rb'
- - 'lib/backup/tasks/registry.rb'
- - 'lib/backup/tasks/repositories.rb'
- - 'lib/backup/tasks/task.rb'
- - 'lib/backup/tasks/terraform_state.rb'
- - 'lib/backup/tasks/uploads.rb'
- 'lib/bitbucket/app_password_connection.rb'
- 'lib/bitbucket/client.rb'
- 'lib/bitbucket/collection.rb'
diff --git a/Gemfile.checksum b/Gemfile.checksum
index 1acbfa16efc..df217a86fc6 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -446,7 +446,7 @@
{"name":"openssl-signature_algorithm","version":"1.3.0","platform":"ruby","checksum":"a3b40b5e8276162d4a6e50c7c97cdaf1446f9b2c3946a6fa2c14628e0c957e80"},
{"name":"opentelemetry-api","version":"1.2.5","platform":"ruby","checksum":"ab3d9a0566cd2ee068ade40e840bc973383ab8568e693c0c5712f0c789122cc9"},
{"name":"opentelemetry-common","version":"0.21.0","platform":"ruby","checksum":"fe891a44583a20bc3217b324aec76d066504494951682d391cfd57d40cd01c98"},
-{"name":"opentelemetry-exporter-otlp","version":"0.26.3","platform":"ruby","checksum":"fc1deea7924c74e3536983b02684d1bc7e9737baa5c38f3aff9809a7fd330399"},
+{"name":"opentelemetry-exporter-otlp","version":"0.27.0","platform":"ruby","checksum":"0050cf6ade97186ee3176cd8c44087b70cb739c3c624dbfc7c33097a3a189e4c"},
{"name":"opentelemetry-helpers-sql-obfuscation","version":"0.1.0","platform":"ruby","checksum":"bc6ef1373dbcf979647091b3bfc99d7b6fb9669f74c3ae184f58b48adfc8d432"},
{"name":"opentelemetry-instrumentation-action_pack","version":"0.9.0","platform":"ruby","checksum":"c5df8472afc9cdbfc1425d9af7816b9cfc1a1a69b86621f1fc624974bd9acb9a"},
{"name":"opentelemetry-instrumentation-action_view","version":"0.7.0","platform":"ruby","checksum":"bc7c714be0b4bb76843085c29ecc9465e65cb7fe6722e34c71629e44f8c3cb75"},
diff --git a/Gemfile.lock b/Gemfile.lock
index 122f32efec2..88348e790f1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1226,7 +1226,7 @@ GEM
opentelemetry-api (1.2.5)
opentelemetry-common (0.21.0)
opentelemetry-api (~> 1.0)
- opentelemetry-exporter-otlp (0.26.3)
+ opentelemetry-exporter-otlp (0.27.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.3)
opentelemetry-api (~> 1.1)
diff --git a/app/assets/javascripts/ci/pipeline_details/graphql/queries/get_linked_pipelines.query.graphql b/app/assets/javascripts/ci/pipeline_details/graphql/queries/get_linked_pipelines.query.graphql
index 9257cc7de7b..ba623db5c76 100644
--- a/app/assets/javascripts/ci/pipeline_details/graphql/queries/get_linked_pipelines.query.graphql
+++ b/app/assets/javascripts/ci/pipeline_details/graphql/queries/get_linked_pipelines.query.graphql
@@ -14,6 +14,7 @@ query getLinkedPipelines($fullPath: ID!, $iid: ID!) {
}
detailedStatus {
id
+ detailsPath
group
icon
label
@@ -33,6 +34,7 @@ query getLinkedPipelines($fullPath: ID!, $iid: ID!) {
}
detailedStatus {
id
+ detailsPath
group
icon
label
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/downstream_pipelines.vue b/app/assets/javascripts/ci/pipeline_mini_graph/downstream_pipelines.vue
new file mode 100644
index 00000000000..f73665056b1
--- /dev/null
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/downstream_pipelines.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+ {{ counterLabel }}
+
+
+
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/graphql/queries/get_pipeline_mini_graph.query.graphql b/app/assets/javascripts/ci/pipeline_mini_graph/graphql/queries/get_pipeline_mini_graph.query.graphql
index b77c21dab51..24b4414f598 100644
--- a/app/assets/javascripts/ci/pipeline_mini_graph/graphql/queries/get_pipeline_mini_graph.query.graphql
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/graphql/queries/get_pipeline_mini_graph.query.graphql
@@ -11,20 +11,19 @@ query getPipelineMiniGraph($fullPath: ID!, $iid: ID!) {
detailedStatus {
id
icon
- group
+ label
}
}
}
upstream {
id
- path
project {
id
name
}
detailedStatus {
id
- group
+ detailsPath
icon
label
}
@@ -39,7 +38,7 @@ query getPipelineMiniGraph($fullPath: ID!, $iid: ID!) {
}
detailedStatus {
id
- group
+ detailsPath
icon
label
}
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_mini_graph/legacy_linked_pipelines_mini_list.vue b/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_mini_graph/legacy_linked_pipelines_mini_list.vue
index 09a432e1b47..014a31fb706 100644
--- a/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_mini_graph/legacy_linked_pipelines_mini_list.vue
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/legacy_pipeline_mini_graph/legacy_linked_pipelines_mini_list.vue
@@ -66,7 +66,7 @@ export default {
return `+${this.linkedPipelines.length - this.maxRenderedPipelines}`;
},
counterTooltipText() {
- return sprintf(s__('LinkedPipelines|%{counterLabel} more downstream pipelines'), {
+ return sprintf(s__('Pipelines|%{counterLabel} more downstream pipelines'), {
counterLabel: this.counterLabel,
});
},
@@ -76,6 +76,7 @@ export default {
const { label } = accessValue(pipeline, this.dataMethod, 'detailedStatus');
return `${pipeline.project.name} - ${label}`;
+ // return `${pipeline?.project?.name} - ${pipeline?.details?.status?.label}`;
},
pipelineStatus(pipeline) {
// detailedStatus is graphQL, details.status is REST
@@ -88,10 +89,6 @@ export default {
-import { GlTooltipDirective } from '@gitlab/ui';
-import { sprintf, s__ } from '~/locale';
-import CiIcon from '~/vue_shared/components/ci_icon/ci_icon.vue';
-import { accessValue } from './accessors/linked_pipelines_accessors';
-/**
- * Renders the upstream/downstream portions of the pipeline mini graph.
- */
-export default {
- directives: {
- GlTooltip: GlTooltipDirective,
- },
- components: {
- CiIcon,
- },
- inject: {
- dataMethod: {
- default: 'rest',
- },
- },
- props: {
- triggeredBy: {
- type: Array,
- required: false,
- default: () => [],
- },
- triggered: {
- type: Array,
- required: false,
- default: () => [],
- },
- pipelinePath: {
- type: String,
- required: false,
- default: '',
- },
- },
- data() {
- return {
- maxRenderedPipelines: 3,
- };
- },
- computed: {
- // Exactly one of these (triggeredBy and triggered) must be truthy. Never both. Never neither.
- isUpstream() {
- return Boolean(this.triggeredBy.length) && !this.triggered.length;
- },
- isDownstream() {
- return !this.triggeredBy.length && Boolean(this.triggered.length);
- },
- linkedPipelines() {
- return this.isUpstream ? this.triggeredBy : this.triggered;
- },
- totalPipelineCount() {
- return this.linkedPipelines.length;
- },
- linkedPipelinesTrimmed() {
- return this.totalPipelineCount > this.maxRenderedPipelines
- ? this.linkedPipelines.slice(0, this.maxRenderedPipelines)
- : this.linkedPipelines;
- },
- shouldRenderCounter() {
- return this.isDownstream && this.linkedPipelines.length > this.maxRenderedPipelines;
- },
- counterLabel() {
- return `+${this.linkedPipelines.length - this.maxRenderedPipelines}`;
- },
- counterTooltipText() {
- return sprintf(s__('LinkedPipelines|%{counterLabel} more downstream pipelines'), {
- counterLabel: this.counterLabel,
- });
- },
- },
- methods: {
- pipelineTooltipText(pipeline) {
- const { label } = accessValue(pipeline, this.dataMethod, 'detailedStatus');
-
- return `${pipeline.project.name} - ${label}`;
- },
- pipelineStatus(pipeline) {
- // detailedStatus is graphQL, details.status is REST
- return pipeline?.detailedStatus || pipeline?.details?.status;
- },
- },
-};
-
-
-
-
-
-
-
- {{ counterLabel }}
-
-
-
diff --git a/app/assets/javascripts/ci/pipeline_mini_graph/pipeline_mini_graph.vue b/app/assets/javascripts/ci/pipeline_mini_graph/pipeline_mini_graph.vue
index e03110e3ff5..e330f3eb8de 100644
--- a/app/assets/javascripts/ci/pipeline_mini_graph/pipeline_mini_graph.vue
+++ b/app/assets/javascripts/ci/pipeline_mini_graph/pipeline_mini_graph.vue
@@ -1,12 +1,13 @@