From 7c5f1bfac791045e54386b9c9bb56ee24afc68ca Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 28 Jul 2023 18:11:01 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/performance/regexp_match.yml | 20 -- .../clusters/forms/components/integration_form.vue | 3 - .../clusters_list/components/clusters_actions.vue | 6 +- app/assets/javascripts/observability/client.js | 12 + .../pages/projects/tracing/show/index.js | 4 + .../tracing/components/tracing_details.vue | 90 ++++++ .../tracing/components/tracing_empty_state.vue | 8 +- .../tracing/components/tracing_list.vue | 21 +- .../tracing/components/tracing_table_list.vue | 27 +- app/assets/javascripts/tracing/details_index.vue | 49 ++++ app/graphql/mutations/work_items/subscribe.rb | 41 +++ app/graphql/types/mutation_type.rb | 1 + app/models/application_record.rb | 2 +- app/models/todo.rb | 4 + .../ci/pipeline_schedules/base_save_service.rb | 54 ++++ .../ci/pipeline_schedules/create_service.rb | 40 +-- .../ci/pipeline_schedules/update_service.rb | 34 +-- .../todos/destroy/group_private_service.rb | 5 +- app/views/clusters/clusters/user/_form.html.haml | 4 +- app/views/dashboard/todos/_todo.html.haml | 1 + ...854_add_name_and_description_to_member_roles.rb | 22 ++ db/schema_migrations/20230714020854 | 1 + db/structure.sql | 6 +- doc/api/graphql/reference/index.md | 24 ++ doc/ci/environments/index.md | 2 +- doc/security/rate_limits.md | 8 + .../gitlab_internal_events/event_definition.yml | 2 +- lib/gitlab/authorized_keys.rb | 2 +- lib/gitlab/checks/branch_check.rb | 2 +- lib/gitlab/ci/build/artifacts/metadata.rb | 6 +- lib/gitlab/ci/build/artifacts/metadata/entry.rb | 2 +- lib/gitlab/ci/project_config/remote.rb | 2 +- lib/gitlab/ci/reports/sbom/component.rb | 17 +- .../content_security_policy/config_loader.rb | 309 +++++++++++---------- lib/gitlab/database/postgres_constraint.rb | 2 +- lib/gitlab/database/postgres_foreign_key.rb | 6 +- lib/gitlab/database/postgres_index.rb | 2 +- lib/gitlab/database/postgres_partition.rb | 4 +- lib/gitlab/database/postgres_partitioned_table.rb | 2 +- .../database/reindexing/reindex_concurrently.rb | 2 +- lib/gitlab/dependency_linker/base_linker.rb | 2 +- .../dependency_linker/composer_json_linker.rb | 2 +- lib/gitlab/diff/parser.rb | 2 +- lib/gitlab/email/reply_parser.rb | 2 +- lib/gitlab/git/gitmodules_parser.rb | 2 +- lib/gitlab/metrics/samplers/threads_sampler.rb | 2 +- lib/gitlab/middleware/sidekiq_web_static.rb | 2 +- lib/gitlab/middleware/static.rb | 2 +- lib/gitlab/url_blocker.rb | 6 +- locale/gitlab.pot | 70 +++-- .../infrastructure/kubernetes/add_existing.rb | 46 --- .../project/infrastructure/kubernetes/index.rb | 25 -- .../page/project/infrastructure/kubernetes/show.rb | 30 -- .../projects/pipeline_schedules_controller_spec.rb | 38 ++- spec/factories/ci/reports/sbom/components.rb | 2 + .../tracing/components/tracing_details_spec.js | 103 +++++++ .../tracing/components/tracing_list_spec.js | 12 + .../tracing/components/tracing_table_list_spec.js | 16 +- spec/frontend/tracing/details_index_spec.js | 42 +++ .../analytics/internal_events_generator_spec.rb | 2 +- spec/lib/gitlab/ci/reports/sbom/component_spec.rb | 26 +- .../content_security_policy/config_loader_spec.rb | 93 +++++++ .../graphql/mutations/work_items/subscribe_spec.rb | 73 +++++ .../ci/pipeline_schedules/create_service_spec.rb | 8 +- .../ci/pipeline_schedules/update_service_spec.rb | 10 +- .../todos/destroy/group_private_service_spec.rb | 34 ++- ...e_schedules_create_or_update_shared_examples.rb | 121 ++++++++ .../internal_event_tracking_examples.rb | 9 +- 68 files changed, 1199 insertions(+), 432 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/tracing/show/index.js create mode 100644 app/assets/javascripts/tracing/components/tracing_details.vue create mode 100644 app/assets/javascripts/tracing/details_index.vue create mode 100644 app/graphql/mutations/work_items/subscribe.rb create mode 100644 app/services/ci/pipeline_schedules/base_save_service.rb create mode 100644 db/migrate/20230714020854_add_name_and_description_to_member_roles.rb create mode 100644 db/schema_migrations/20230714020854 delete mode 100644 qa/qa/page/project/infrastructure/kubernetes/add_existing.rb delete mode 100644 qa/qa/page/project/infrastructure/kubernetes/index.rb delete mode 100644 qa/qa/page/project/infrastructure/kubernetes/show.rb create mode 100644 spec/frontend/tracing/components/tracing_details_spec.js create mode 100644 spec/frontend/tracing/details_index_spec.js create mode 100644 spec/requests/api/graphql/mutations/work_items/subscribe_spec.rb create mode 100644 spec/support/shared_examples/ci/pipeline_schedules_create_or_update_shared_examples.rb diff --git a/.rubocop_todo/performance/regexp_match.yml b/.rubocop_todo/performance/regexp_match.yml index 2c80a74c538..0248938c84b 100644 --- a/.rubocop_todo/performance/regexp_match.yml +++ b/.rubocop_todo/performance/regexp_match.yml @@ -20,26 +20,6 @@ Performance/RegexpMatch: - 'lib/banzai/filter/references/reference_filter.rb' - 'lib/bulk_imports/path_normalization.rb' - 'lib/feature/definition.rb' - - 'lib/gitlab/authorized_keys.rb' - - 'lib/gitlab/checks/branch_check.rb' - - 'lib/gitlab/ci/build/artifacts/metadata.rb' - - 'lib/gitlab/ci/build/artifacts/metadata/entry.rb' - - 'lib/gitlab/ci/project_config/remote.rb' - - 'lib/gitlab/database/postgres_constraint.rb' - - 'lib/gitlab/database/postgres_foreign_key.rb' - - 'lib/gitlab/database/postgres_index.rb' - - 'lib/gitlab/database/postgres_partition.rb' - - 'lib/gitlab/database/postgres_partitioned_table.rb' - - 'lib/gitlab/database/reindexing/reindex_concurrently.rb' - - 'lib/gitlab/dependency_linker/base_linker.rb' - - 'lib/gitlab/dependency_linker/composer_json_linker.rb' - - 'lib/gitlab/diff/parser.rb' - - 'lib/gitlab/email/reply_parser.rb' - - 'lib/gitlab/git/gitmodules_parser.rb' - - 'lib/gitlab/metrics/samplers/threads_sampler.rb' - - 'lib/gitlab/middleware/sidekiq_web_static.rb' - - 'lib/gitlab/middleware/static.rb' - - 'lib/gitlab/url_blocker.rb' - 'lib/tasks/gitlab/update_templates.rake' - 'lib/uploaded_file.rb' - 'qa/qa/flow/integrations/slack.rb' diff --git a/app/assets/javascripts/clusters/forms/components/integration_form.vue b/app/assets/javascripts/clusters/forms/components/integration_form.vue index b2a8381f937..cd82465f2f0 100644 --- a/app/assets/javascripts/clusters/forms/components/integration_form.vue +++ b/app/assets/javascripts/clusters/forms/components/integration_form.vue @@ -74,7 +74,6 @@ export default { v-gl-tooltip:tooltipcontainer name="cluster[enabled]" class="gl-mb-0 js-project-feature-toggle" - data-qa-selector="integration_status_toggle" aria-describedby="toggleCluster" :disabled="!editable" :label="$options.i18n.toggleLabel" @@ -111,7 +110,6 @@ export default { id="cluster_base_domain" v-model="baseDomainField" name="cluster[base_domain]" - data-qa-selector="base_domain_field" class="col-md-6" type="text" /> @@ -144,7 +142,6 @@ export default { type="submit" :disabled="!canSubmit" :aria-disabled="!canSubmit" - data-qa-selector="save_changes_button" >{{ s__('ClusterIntegration|Save changes') }} diff --git a/app/assets/javascripts/clusters_list/components/clusters_actions.vue b/app/assets/javascripts/clusters_list/components/clusters_actions.vue index 7b97a5af373..c388d3fee71 100644 --- a/app/assets/javascripts/clusters_list/components/clusters_actions.vue +++ b/app/assets/javascripts/clusters_list/components/clusters_actions.vue @@ -92,11 +92,7 @@ export default { - + t.trace_id === traceId); + const duration = trace.spans.reduce((acc, cur) => acc + cur.duration_nano, 0); + return { + ...trace, + duration: duration / 1000, + }; +} + async function fetchTraces(tracingUrl) { const { data } = await axios.get(tracingUrl, { withCredentials: true }); if (!Array.isArray(data.traces)) { @@ -39,5 +50,6 @@ export function buildClient({ provisioningUrl, tracingUrl }) { enableTraces: () => enableTraces(provisioningUrl), isTracingEnabled: () => isTracingEnabled(provisioningUrl), fetchTraces: () => fetchTraces(tracingUrl), + fetchTrace: (traceId) => fetchTrace(tracingUrl, traceId), }; } diff --git a/app/assets/javascripts/pages/projects/tracing/show/index.js b/app/assets/javascripts/pages/projects/tracing/show/index.js new file mode 100644 index 00000000000..107c004aa5f --- /dev/null +++ b/app/assets/javascripts/pages/projects/tracing/show/index.js @@ -0,0 +1,4 @@ +import { initSimpleApp } from '~/helpers/init_simple_app_helper'; +import DetailsIndex from '~/tracing/details_index.vue'; + +initSimpleApp('#js-tracing-details', DetailsIndex); diff --git a/app/assets/javascripts/tracing/components/tracing_details.vue b/app/assets/javascripts/tracing/components/tracing_details.vue new file mode 100644 index 00000000000..d8b2cbc9469 --- /dev/null +++ b/app/assets/javascripts/tracing/components/tracing_details.vue @@ -0,0 +1,90 @@ + + + diff --git a/app/assets/javascripts/tracing/components/tracing_empty_state.vue b/app/assets/javascripts/tracing/components/tracing_empty_state.vue index 4cb3bd6d9f0..3cdb280ef9e 100644 --- a/app/assets/javascripts/tracing/components/tracing_empty_state.vue +++ b/app/assets/javascripts/tracing/components/tracing_empty_state.vue @@ -1,15 +1,15 @@ @@ -87,7 +91,12 @@ export default { diff --git a/app/assets/javascripts/tracing/components/tracing_table_list.vue b/app/assets/javascripts/tracing/components/tracing_table_list.vue index bbed5520b40..59604890c86 100644 --- a/app/assets/javascripts/tracing/components/tracing_table_list.vue +++ b/app/assets/javascripts/tracing/components/tracing_table_list.vue @@ -1,37 +1,37 @@ @@ -64,6 +71,10 @@ export default { fixed stacked="md" tbody-tr-class="table-row" + selectable + select-mode="single" + selected-variant="" + @row-selected="onSelect" >