diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 905ea2b62ed..a05da921509 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -93e52c3e17edd6629674f0f26b1a8312f65a6856 +9222c46d0ca6133b8f80008401c7cf946cb7d175 diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index ea3b039a7a5..f800d723c7b 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -b18d3540343f5e940021447b0744934cb3b03517 +bfadfe3465e1124adeae8afa74e06c43c1201ea1 diff --git a/app/assets/javascripts/ci/job_details/components/job_log_top_bar.vue b/app/assets/javascripts/ci/job_details/components/job_log_top_bar.vue index 2b9c7ca5202..eb3dcdacf1f 100644 --- a/app/assets/javascripts/ci/job_details/components/job_log_top_bar.vue +++ b/app/assets/javascripts/ci/job_details/components/job_log_top_bar.vue @@ -2,7 +2,7 @@ import { GlTooltipDirective, GlLink, GlButton, GlSearchBoxByClick, GlSprintf } from '@gitlab/ui'; import { scrollToElement, backOff } from '~/lib/utils/common_utils'; import { numberToHumanSize } from '~/lib/utils/number_utils'; -import { s__, sprintf } from '~/locale'; +import { s__, n__, sprintf } from '~/locale'; import { compactJobLog } from '~/ci/job_details/utils'; export default { @@ -169,10 +169,17 @@ export default { if (logLine) { setTimeout(() => scrollToElement(logLine)); - const message = sprintf(s__('Job|%{searchLength} results found for %{searchTerm}'), { - searchLength: this.searchResults.length, - searchTerm: this.searchTerm, - }); + const message = sprintf( + n__( + 'Job|%{searchLength} result found for %{searchTerm}', + 'Job|%{searchLength} results found for %{searchTerm}', + this.searchResults.length, + ), + { + searchLength: this.searchResults.length, + searchTerm: this.searchTerm, + }, + ); this.$toast.show(message); } else { diff --git a/app/assets/javascripts/projects/pipelines/charts/components/pipelines_dashboard_clickhouse.vue b/app/assets/javascripts/projects/pipelines/charts/components/pipelines_dashboard_clickhouse.vue index b28e72e2b1b..eca514a5eb7 100644 --- a/app/assets/javascripts/projects/pipelines/charts/components/pipelines_dashboard_clickhouse.vue +++ b/app/assets/javascripts/projects/pipelines/charts/components/pipelines_dashboard_clickhouse.vue @@ -8,7 +8,27 @@ import { DATE_RANGE_LAST_30_DAYS, DATE_RANGE_LAST_90_DAYS, DATE_RANGE_LAST_180_DAYS, + SOURCE_PUSH, + SOURCE_SCHEDULE, + SOURCE_MERGE_REQUEST_EVENT, + SOURCE_WEB, + SOURCE_TRIGGER, + SOURCE_API, + SOURCE_EXTERNAL, + SOURCE_PIPELINE, + SOURCE_CHAT, + SOURCE_WEBIDE, + SOURCE_EXTERNAL_PULL_REQUEST_EVENT, + SOURCE_PARENT_PIPELINE, + SOURCE_ONDEMAND_DAST_SCAN, + SOURCE_ONDEMAND_DAST_VALIDATION, + SOURCE_SECURITY_ORCHESTRATION_POLICY, + SOURCE_CONTAINER_REGISTRY_PUSH, + SOURCE_DUO_WORKFLOW, + SOURCE_PIPELINE_EXECUTION_POLICY_SCHEDULE, + SOURCE_UNKNOWN, } from '../constants'; + import getPipelineAnalytics from '../graphql/queries/get_pipeline_analytics.query.graphql'; import DashboardHeader from './dashboard_header.vue'; @@ -17,19 +37,7 @@ import StatisticsList from './statistics_list.vue'; import PipelineDurationChart from './pipeline_duration_chart.vue'; import PipelineStatusChart from './pipeline_status_chart.vue'; -// CiPipelineSources values from GraphQL schema. const SOURCE_ANY = 'ANY'; -const SOURCE_PUSH = 'PUSH'; -const SOURCE_WEB = 'WEB'; -const SOURCE_TRIGGER = 'TRIGGER'; -const SOURCE_SCHEDULE = 'SCHEDULE'; -const SOURCE_API = 'API'; -const SOURCE_EXTERNAL = 'EXTERNAL'; -const SOURCE_PIPELINE = 'PIPELINE'; -const SOURCE_CHAT = 'CHAT'; -const SOURCE_MERGE_REQUEST_EVENT = 'MERGE_REQUEST_EVENT'; -const SOURCE_EXTERNAL_PULL_REQUEST_EVENT = 'EXTERNAL_PULL_REQUEST_EVENT'; -const SOURCE_UNKNOWN = 'UNKNOWN'; export default { name: 'PipelinesDashboardClickhouse', @@ -122,37 +130,42 @@ export default { pipelineSources: [ { value: SOURCE_ANY, text: s__('PipelineSource|Any source') }, { value: SOURCE_PUSH, text: s__('PipelineSource|Push') }, + { value: SOURCE_SCHEDULE, text: s__('PipelineSource|Schedule') }, + { value: SOURCE_MERGE_REQUEST_EVENT, text: s__('PipelineSource|Merge Request Event') }, { value: SOURCE_WEB, text: s__('PipelineSource|Web') }, { value: SOURCE_TRIGGER, text: s__('PipelineSource|Trigger') }, - { value: SOURCE_SCHEDULE, text: s__('PipelineSource|Schedule') }, { value: SOURCE_API, text: s__('PipelineSource|API') }, - { value: SOURCE_EXTERNAL, text: s__('PipelineSource|External event') }, + { value: SOURCE_EXTERNAL, text: s__('PipelineSource|External') }, { value: SOURCE_PIPELINE, text: s__('PipelineSource|Pipeline') }, { value: SOURCE_CHAT, text: s__('PipelineSource|Chat') }, - { value: SOURCE_MERGE_REQUEST_EVENT, text: s__('PipelineSource|Merge request') }, + { value: SOURCE_WEBIDE, text: s__('PipelineSource|Web IDE') }, { value: SOURCE_EXTERNAL_PULL_REQUEST_EVENT, - text: s__('PipelineSource|External Pull Request'), + text: s__('PipelineSource|External Pull Request Event'), + }, + { value: SOURCE_PARENT_PIPELINE, text: s__('PipelineSource|Parent Pipeline') }, + { value: SOURCE_ONDEMAND_DAST_SCAN, text: s__('PipelineSource|On-Demand DAST Scan') }, + { + value: SOURCE_ONDEMAND_DAST_VALIDATION, + text: s__('PipelineSource|On-Demand DAST Validation'), + }, + { + value: SOURCE_SECURITY_ORCHESTRATION_POLICY, + text: s__('PipelineSource|Security Orchestration Policy'), + }, + { value: SOURCE_CONTAINER_REGISTRY_PUSH, text: s__('PipelineSource|Container Registry Push') }, + { value: SOURCE_DUO_WORKFLOW, text: s__('PipelineSource|Duo Workflow') }, + { + value: SOURCE_PIPELINE_EXECUTION_POLICY_SCHEDULE, + text: s__('PipelineSource|Pipeline Execution Policy Schedule'), }, { value: SOURCE_UNKNOWN, text: s__('PipelineSource|Unknown') }, ], dateRangeItems: [ - { - value: DATE_RANGE_LAST_WEEK, - text: s__('PipelineCharts|Last week'), - }, - { - value: DATE_RANGE_LAST_30_DAYS, - text: s__('PipelineCharts|Last 30 days'), - }, - { - value: DATE_RANGE_LAST_90_DAYS, - text: s__('PipelineCharts|Last 90 days'), - }, - { - value: DATE_RANGE_LAST_180_DAYS, - text: s__('PipelineCharts|Last 180 days'), - }, + { value: DATE_RANGE_LAST_WEEK, text: s__('PipelineCharts|Last week') }, + { value: DATE_RANGE_LAST_30_DAYS, text: s__('PipelineCharts|Last 30 days') }, + { value: DATE_RANGE_LAST_90_DAYS, text: s__('PipelineCharts|Last 90 days') }, + { value: DATE_RANGE_LAST_180_DAYS, text: s__('PipelineCharts|Last 180 days') }, ], }; diff --git a/app/assets/javascripts/projects/pipelines/charts/constants.js b/app/assets/javascripts/projects/pipelines/charts/constants.js index 9876b025efe..4f689a0b79b 100644 --- a/app/assets/javascripts/projects/pipelines/charts/constants.js +++ b/app/assets/javascripts/projects/pipelines/charts/constants.js @@ -24,3 +24,26 @@ export const UNSUPPORTED_DATA = 'unsupported_data'; export const SNOWPLOW_LABEL = 'redis_hll_counters.analytics.analytics_total_unique_counts_monthly'; export const SNOWPLOW_SCHEMA = 'iglu:com.gitlab/gitlab_service_ping/jsonschema/1-0-1'; export const SNOWPLOW_DATA_SOURCE = 'redis_hll'; + +// CiPipelineSources values from GraphQL schema. +export const SOURCE_PUSH = 'PUSH'; +export const SOURCE_SCHEDULE = 'SCHEDULE'; +export const SOURCE_MERGE_REQUEST_EVENT = 'MERGE_REQUEST_EVENT'; +export const SOURCE_WEB = 'WEB'; +export const SOURCE_TRIGGER = 'TRIGGER'; +export const SOURCE_API = 'API'; +export const SOURCE_EXTERNAL = 'EXTERNAL'; +export const SOURCE_PIPELINE = 'PIPELINE'; +export const SOURCE_CHAT = 'CHAT'; +export const SOURCE_WEBIDE = 'WEBIDE'; +export const SOURCE_EXTERNAL_PULL_REQUEST_EVENT = 'EXTERNAL_PULL_REQUEST_EVENT'; + +export const SOURCE_PARENT_PIPELINE = 'PARENT_PIPELINE'; +export const SOURCE_ONDEMAND_DAST_SCAN = 'ONDEMAND_DAST_SCAN'; +export const SOURCE_ONDEMAND_DAST_VALIDATION = 'ONDEMAND_DAST_VALIDATION'; +export const SOURCE_SECURITY_ORCHESTRATION_POLICY = 'SECURITY_ORCHESTRATION_POLICY'; +export const SOURCE_CONTAINER_REGISTRY_PUSH = 'CONTAINER_REGISTRY_PUSH'; +export const SOURCE_DUO_WORKFLOW = 'DUO_WORKFLOW'; +export const SOURCE_PIPELINE_EXECUTION_POLICY_SCHEDULE = 'PIPELINE_EXECUTION_POLICY_SCHEDULE'; + +export const SOURCE_UNKNOWN = 'UNKNOWN'; diff --git a/app/assets/javascripts/vue_shared/constants.js b/app/assets/javascripts/vue_shared/constants.js index 99470991055..81e179630ba 100644 --- a/app/assets/javascripts/vue_shared/constants.js +++ b/app/assets/javascripts/vue_shared/constants.js @@ -1,4 +1,4 @@ -import { __, n__, sprintf } from '~/locale'; +import { __, n__, s__, sprintf } from '~/locale'; import { TYPE_ISSUE, WORKSPACE_PROJECT } from '~/issues/constants'; const INTERVALS = { @@ -109,3 +109,19 @@ export const CLEAR_AUTOSAVE_ENTRY_EVENT = 'markdown_clear_autosave_entry'; export const CONTENT_EDITOR_READY_EVENT = 'content_editor_ready'; export const CONTENT_EDITOR_PASTE = 'content_editor_paste'; export const MARKDOWN_EDITOR_READY_EVENT = 'markdown_editor_ready'; + +export const SEVERITY_LEVEL_CRITICAL = 'critical'; +export const SEVERITY_LEVEL_HIGH = 'high'; +export const SEVERITY_LEVEL_UNKNOWN = 'unknown'; +export const SEVERITY_LEVEL_MEDIUM = 'medium'; +export const SEVERITY_LEVEL_LOW = 'low'; +export const SEVERITY_LEVEL_INFO = 'info'; + +export const SEVERITY_LEVELS = { + [SEVERITY_LEVEL_CRITICAL]: s__('severity|Critical'), + [SEVERITY_LEVEL_HIGH]: s__('severity|High'), + [SEVERITY_LEVEL_MEDIUM]: s__('severity|Medium'), + [SEVERITY_LEVEL_LOW]: s__('severity|Low'), + [SEVERITY_LEVEL_INFO]: s__('severity|Info'), + [SEVERITY_LEVEL_UNKNOWN]: s__('severity|Unknown'), +}; diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md index 328a2d7ab73..65fc65a6119 100644 --- a/doc/api/graphql/reference/_index.md +++ b/doc/api/graphql/reference/_index.md @@ -17916,6 +17916,29 @@ The edge type for [`PipelineTrigger`](#pipelinetrigger). | `cursor` | [`String!`](#string) | A cursor for use in pagination. | | `node` | [`PipelineTrigger`](#pipelinetrigger) | The item at the end of the edge. | +#### `ProjectComplianceControlStatusTypeConnection` + +The connection type for [`ProjectComplianceControlStatusType`](#projectcompliancecontrolstatustype). + +##### Fields + +| Name | Type | Description | +| ---- | ---- | ----------- | +| `edges` | [`[ProjectComplianceControlStatusTypeEdge]`](#projectcompliancecontrolstatustypeedge) | A list of edges. | +| `nodes` | [`[ProjectComplianceControlStatusType]`](#projectcompliancecontrolstatustype) | A list of nodes. | +| `pageInfo` | [`PageInfo!`](#pageinfo) | Information to aid in pagination. | + +#### `ProjectComplianceControlStatusTypeEdge` + +The edge type for [`ProjectComplianceControlStatusType`](#projectcompliancecontrolstatustype). + +##### Fields + +| Name | Type | Description | +| ---- | ---- | ----------- | +| `cursor` | [`String!`](#string) | A cursor for use in pagination. | +| `node` | [`ProjectComplianceControlStatusType`](#projectcompliancecontrolstatustype) | The item at the end of the edge. | + #### `ProjectComplianceRequirementStatusConnection` The connection type for [`ProjectComplianceRequirementStatus`](#projectcompliancerequirementstatus). @@ -34610,6 +34633,27 @@ Returns [`CommitReferences`](#commitreferences). | ---- | ---- | ----------- | | `commitSha` | [`String!`](#string) | Project commit SHA identifier. For example, `287774414568010855642518513f085491644061`. | +##### `Project.complianceControlStatus` + +Compliance control statuses for a project. + +{{< details >}} +**Introduced** in GitLab 17.11. +**Status**: Experiment. +{{< /details >}} + +Returns [`ProjectComplianceControlStatusTypeConnection`](#projectcompliancecontrolstatustypeconnection). + +This field returns a [connection](#connections). It accepts the +four standard [pagination arguments](#pagination-arguments): +`before: String`, `after: String`, `first: Int`, and `last: Int`. + +###### Arguments + +| Name | Type | Description | +| ---- | ---- | ----------- | +| `filters` | [`ProjectComplianceControlStatusInput`](#projectcompliancecontrolstatusinput) | Filters applied when retrieving compliance control statuses for the project. | + ##### `Project.complianceStandardsAdherence` Compliance standards adherence for the project. @@ -36405,6 +36449,19 @@ four standard [pagination arguments](#pagination-arguments): | `project` | [`Project`](#project) | Project the CI/CD settings belong to. | | `pushRepositoryForJobTokenAllowed` | [`Boolean`](#boolean) | Indicates the ability to push to the original project repository using a job token. | +### `ProjectComplianceControlStatusType` + +Compliance control status for a project. + +#### Fields + +| Name | Type | Description | +| ---- | ---- | ----------- | +| `complianceRequirementsControl` | [`ComplianceRequirementsControl!`](#compliancerequirementscontrol) | Control of the compliance status. | +| `id` | [`ID!`](#id) | Compliance control status ID. | +| `status` | [`ProjectComplianceControlStatus!`](#projectcompliancecontrolstatus) | Compliance status of the project for the control. | +| `updatedAt` | [`Time!`](#time) | Timestamp when the control status was last updated. | + ### `ProjectComplianceRequirementStatus` Compliance requirement status for a project. @@ -43861,6 +43918,16 @@ Values for the archived argument. | `INCLUDE` | Include archvied projects. | | `ONLY` | Only archived projects. | +### `ProjectComplianceControlStatus` + +Compliance status of the project control. + +| Value | Description | +| ----- | ----------- | +| `FAIL` | Fail. | +| `PASS` | Pass. | +| `PENDING` | Pending. | + ### `ProjectFeatureAccessLevel` Access level of a project feature. @@ -48105,6 +48172,14 @@ Attributes for the pipeline schedule variable. | `value` | [`String!`](#string) | Value of the variable. | | `variableType` | [`CiVariableType!`](#civariabletype) | Type of the variable. | +### `ProjectComplianceControlStatusInput` + +#### Arguments + +| Name | Type | Description | +| ---- | ---- | ----------- | +| `complianceRequirementId` | [`ComplianceManagementComplianceFrameworkComplianceRequirementID`](#compliancemanagementcomplianceframeworkcompliancerequirementid) | Compliance requirement id of the statuses. | + ### `PushAccessLevelInput` Defines which user roles, users, deploy keys, or groups can push to a protected branch. diff --git a/doc/development/database/avoiding_downtime_in_migrations.md b/doc/development/database/avoiding_downtime_in_migrations.md index 6a4eb73bbad..b68f3386778 100644 --- a/doc/development/database/avoiding_downtime_in_migrations.md +++ b/doc/development/database/avoiding_downtime_in_migrations.md @@ -164,7 +164,7 @@ for more information about database migrations. #### The removed column is referenced by a database view When a column is referenced by a database view, it behaves as if the column had a constraint attached to it -so the view needs to be updated first before dropping he column: +so the view needs to be updated first before dropping the column: 1. Recreate the view excluding the column 1. Drop the column from the original table @@ -812,8 +812,8 @@ migrations. There are currently two situations where views are used: -- To expose Postgres internal metrics --To expose limited read-only data for the Unified Backup CLI +- To [expose Postgres internal metrics](virtual_tables.md) +- To expose limited read-only data for the Unified Backup CLI ### Postgres internal metrics diff --git a/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb b/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb index b57e8bdda59..ccd8d01c7f5 100644 --- a/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb +++ b/lib/gitlab/database/health_status/indicators/prometheus_alert_indicator.rb @@ -99,32 +99,30 @@ module Gitlab def sli_query # TODO: temporary until CRs can be rolled out with https://gitlab.com/gitlab-org/gitlab/-/issues/501105 - gitlab_sec_query = prometheus_alert_db_indicators_settings[sli_query_key][:sec] || - prometheus_alert_db_indicators_settings[sli_query_key][:main] + return gitlab_sec_sli_query if connection.load_balancer.name.to_sym == :sec - { - gitlab_main: prometheus_alert_db_indicators_settings[sli_query_key][:main], - gitlab_main_cell: prometheus_alert_db_indicators_settings[sli_query_key][:main_cell], - gitlab_ci: prometheus_alert_db_indicators_settings[sli_query_key][:ci], - gitlab_sec: gitlab_sec_query - }.fetch(:"gitlab_#{connection.load_balancer.name}", nil) + prometheus_alert_db_indicators_settings[sli_query_key][connection.load_balancer.name.to_sym] end strong_memoize_attr :sli_query + def gitlab_sec_sli_query + prometheus_alert_db_indicators_settings[sli_query_key][:sec] || + prometheus_alert_db_indicators_settings[sli_query_key][:main] + end + def slo # TODO: temporary until CRs can be rolled out with https://gitlab.com/gitlab-org/gitlab/-/issues/501105 - gitlab_sec_query = prometheus_alert_db_indicators_settings[slo_key][:sec] || - prometheus_alert_db_indicators_settings[slo_key][:main] + return gitlab_sec_slo_query if connection.load_balancer.name.to_sym == :sec - { - gitlab_main: prometheus_alert_db_indicators_settings[slo_key][:main], - gitlab_main_cell: prometheus_alert_db_indicators_settings[slo_key][:main_cell], - gitlab_ci: prometheus_alert_db_indicators_settings[slo_key][:ci], - gitlab_sec: gitlab_sec_query - }.fetch(:"gitlab_#{connection.load_balancer.name}", nil) + prometheus_alert_db_indicators_settings[slo_key][connection.load_balancer.name.to_sym] end strong_memoize_attr :slo + def gitlab_sec_slo_query + prometheus_alert_db_indicators_settings[slo_key][:sec] || + prometheus_alert_db_indicators_settings[slo_key][:main] + end + def fetch_sli(query) response = client.query(query) metric = response&.first || {} diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 9fc5935ec2d..729f99d7051 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -33529,8 +33529,10 @@ msgstr "" msgid "Job|%{rawLinkStart}View raw%{rawLinkEnd} or %{fullLinkStart}full log%{fullLinkEnd}." msgstr "" -msgid "Job|%{searchLength} results found for %{searchTerm}" -msgstr "" +msgid "Job|%{searchLength} result found for %{searchTerm}" +msgid_plural "Job|%{searchLength} results found for %{searchTerm}" +msgstr[0] "" +msgstr[1] "" msgid "Job|Are you sure you want to erase this job log and artifacts?" msgstr "" @@ -35924,6 +35926,9 @@ msgstr "" msgid "MemberRole|Could not update role." msgstr "" +msgid "MemberRole|Create member role" +msgstr "" + msgid "MemberRole|Create role" msgstr "" @@ -35966,6 +35971,9 @@ msgstr "" msgid "MemberRole|Dismiss Planner role promotion" msgstr "" +msgid "MemberRole|Edit member role" +msgstr "" + msgid "MemberRole|Edit role" msgstr "" @@ -43211,19 +43219,25 @@ msgstr "" msgid "PipelineSource|Chat" msgstr "" +msgid "PipelineSource|Container Registry Push" +msgstr "" + +msgid "PipelineSource|Duo Workflow" +msgstr "" + msgid "PipelineSource|External" msgstr "" msgid "PipelineSource|External Pull Request" msgstr "" -msgid "PipelineSource|External event" +msgid "PipelineSource|External Pull Request Event" msgstr "" msgid "PipelineSource|Merge Request" msgstr "" -msgid "PipelineSource|Merge request" +msgid "PipelineSource|Merge Request Event" msgstr "" msgid "PipelineSource|On-Demand DAST Scan" @@ -43238,12 +43252,18 @@ msgstr "" msgid "PipelineSource|Pipeline" msgstr "" +msgid "PipelineSource|Pipeline Execution Policy Schedule" +msgstr "" + msgid "PipelineSource|Push" msgstr "" msgid "PipelineSource|Schedule" msgstr "" +msgid "PipelineSource|Security Orchestration Policy" +msgstr "" + msgid "PipelineSource|Trigger" msgstr "" @@ -52911,6 +52931,9 @@ msgstr "" msgid "SecurityInventory|View security coverage and vulnerabilities for all the projects in this group. Data is refreshed and may be upto 24 hours behind." msgstr "" +msgid "SecurityInventory|View vulnerability report" +msgstr "" + msgid "SecurityInventory||An error occurred while fetching subgroups and projects. Please try again." msgstr "" diff --git a/scripts/frontend/quarantined_vue3_specs.txt b/scripts/frontend/quarantined_vue3_specs.txt index 55fdbb05689..80ba576c04e 100644 --- a/scripts/frontend/quarantined_vue3_specs.txt +++ b/scripts/frontend/quarantined_vue3_specs.txt @@ -57,7 +57,6 @@ ee/spec/frontend/related_items_tree/components/tree_root_spec.js ee/spec/frontend/requirements/components/requirement_item_spec.js ee/spec/frontend/requirements/components/requirements_root_spec.js ee/spec/frontend/roadmap/components/roadmap_shell_spec.js -ee/spec/frontend/roles_and_permissions/components/create_member_role_spec.js ee/spec/frontend/roles_and_permissions/components/role_selector_spec.js ee/spec/frontend/security_configuration/components/app_spec.js ee/spec/frontend/security_configuration/components/dynamic_fields_spec.js diff --git a/spec/frontend/projects/pipelines/charts/components/pipelines_dashboard_clickhouse_spec.js b/spec/frontend/projects/pipelines/charts/components/pipelines_dashboard_clickhouse_spec.js index a79fdfd25af..c818225f184 100644 --- a/spec/frontend/projects/pipelines/charts/components/pipelines_dashboard_clickhouse_spec.js +++ b/spec/frontend/projects/pipelines/charts/components/pipelines_dashboard_clickhouse_spec.js @@ -76,15 +76,23 @@ describe('PipelinesDashboardClickhouse', () => { expect(sources).toEqual([ 'Any source', 'Push', + 'Schedule', + 'Merge Request Event', 'Web', 'Trigger', - 'Schedule', 'API', - 'External event', + 'External', 'Pipeline', 'Chat', - 'Merge request', - 'External Pull Request', + 'Web IDE', + 'External Pull Request Event', + 'Parent Pipeline', + 'On-Demand DAST Scan', + 'On-Demand DAST Validation', + 'Security Orchestration Policy', + 'Container Registry Push', + 'Duo Workflow', + 'Pipeline Execution Policy Schedule', 'Unknown', ]); }); diff --git a/workhorse/go.mod b/workhorse/go.mod index 41cb7a43270..388779f970d 100644 --- a/workhorse/go.mod +++ b/workhorse/go.mod @@ -34,7 +34,7 @@ require ( gocloud.dev v0.40.1-0.20241107185025-56954848c3aa golang.org/x/image v0.20.0 golang.org/x/net v0.35.0 - golang.org/x/oauth2 v0.24.0 + golang.org/x/oauth2 v0.28.0 google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.36.5 ) diff --git a/workhorse/go.sum b/workhorse/go.sum index b8301198e84..3272b47be44 100644 --- a/workhorse/go.sum +++ b/workhorse/go.sum @@ -758,8 +758,8 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= -golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= +golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20170517211232-f52d1811a629/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=