From 7c41737ae53e3a237f356480ae04ec3ba182447b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 9 Nov 2022 12:07:48 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop.yml | 8 + .../rails/has_many_or_has_one_dependent.yml | 154 ------------- .rubocop_todo/rails/squished_sql_heredocs.yml | 215 ------------------ .../rspec/factory_bot/avoid_create.yml | 1 - .../analytics/shared/components/daterange.vue | 2 + .../components/projects_dropdown_filter.vue | 2 +- .../components/shared/delete_button.vue | 17 +- .../components/state_container.vue | 12 +- .../states/unresolved_discussions.vue | 6 +- app/views/dashboard/_groups_head.html.haml | 2 +- config/open_api.yml | 2 + ...328_change_member_namespace_id_not_null.rb | 16 ++ ..._validate_environment_id_on_deployments.rb | 11 + ..._null_constraint_on_member_namespace_id.rb | 15 ++ ...7220526_validate_fk_member_namespace_id.rb | 13 ++ ...22213_remove_old_member_namespace_id_fk.rb | 28 +++ db/schema_migrations/20221103073328 | 1 + db/schema_migrations/20221104190203 | 1 + db/schema_migrations/20221107220420 | 1 + db/schema_migrations/20221107220526 | 1 + db/schema_migrations/20221107222213 | 1 + db/structure.sql | 10 +- doc/ci/pipelines/cicd_minutes.md | 10 +- doc/user/public_access.md | 4 +- lib/api/admin/instance_clusters.rb | 52 ++++- lib/api/api.rb | 12 +- lib/api/ci/variables.rb | 35 +-- lib/api/entities/license.rb | 25 +- lib/api/entities/license_basic.rb | 6 +- lib/api/entities/remote_mirror.rb | 20 +- lib/api/entities/templates_list.rb | 4 +- lib/api/group_clusters.rb | 42 +++- lib/api/pagination_params.rb | 5 +- lib/api/project_clusters.rb | 47 +++- lib/api/project_templates.rb | 25 +- lib/api/remote_mirrors.rb | 56 ++++- lib/api/users.rb | 6 +- lib/gitlab/database/migration_helpers.rb | 12 + .../ci_template_unique_counter.rb | 12 +- qa/Gemfile | 2 +- qa/Gemfile.lock | 12 +- qa/qa/flow/sign_up.rb | 4 +- qa/qa/page/admin/overview/users/index.rb | 4 + qa/qa/page/component/delete_modal.rb | 35 +++ qa/qa/page/component/groups_filter.rb | 23 +- qa/qa/page/group/new.rb | 2 +- qa/qa/page/project/new.rb | 2 + qa/qa/page/project/settings/advanced.rb | 12 + qa/qa/resource/base.rb | 16 +- qa/qa/resource/group.rb | 10 +- qa/qa/resource/members.rb | 7 +- qa/qa/resource/project.rb | 10 + qa/qa/resource/sandbox.rb | 4 +- qa/qa/resource/user.rb | 15 +- qa/qa/runtime/key/ed25519.rb | 4 +- .../2_plan/issue/create_issue_spec.rb | 15 +- .../browser_ui/2_plan/issue/mentions_spec.rb | 36 ++- .../create_merge_request_spec.rb | 2 +- .../push_http_private_token_spec.rb | 5 +- .../repository/push_over_http_spec.rb | 6 +- .../3_create/repository/push_over_ssh_spec.rb | 6 +- .../snippet/create_personal_snippet_spec.rb | 9 + .../add_remove_ci_variable_spec.rb | 2 +- .../deploy_key/clone_using_deploy_key_spec.rb | 2 +- qa/qa/support/fips.rb | 2 +- qa/spec/resource/base_spec.rb | 36 ++- qa/spec/resource/user_spec.rb | 27 +++ scripts/build_qa_image | 7 +- scripts/merge-reports | 2 + scripts/rspec_helpers.sh | 3 + .../project_delete_button_spec.js.snap | 2 + .../__snapshots__/delete_button_spec.js.snap | 2 + .../mr_widget_auto_merge_enabled_spec.js.snap | 8 +- .../gitlab/database/migration_helpers_spec.rb | 61 +++++ .../instrumentations/database_metric_spec.rb | 33 +-- .../ci_template_unique_counter_spec.rb | 35 +-- workhorse/go.mod | 2 +- workhorse/go.sum | 4 +- 78 files changed, 787 insertions(+), 574 deletions(-) delete mode 100644 .rubocop_todo/rails/has_many_or_has_one_dependent.yml delete mode 100644 .rubocop_todo/rails/squished_sql_heredocs.yml create mode 100644 db/post_migrate/20221103073328_change_member_namespace_id_not_null.rb create mode 100644 db/post_migrate/20221104190203_validate_environment_id_on_deployments.rb create mode 100644 db/post_migrate/20221107220420_validate_not_null_constraint_on_member_namespace_id.rb create mode 100644 db/post_migrate/20221107220526_validate_fk_member_namespace_id.rb create mode 100644 db/post_migrate/20221107222213_remove_old_member_namespace_id_fk.rb create mode 100644 db/schema_migrations/20221103073328 create mode 100644 db/schema_migrations/20221104190203 create mode 100644 db/schema_migrations/20221107220420 create mode 100644 db/schema_migrations/20221107220526 create mode 100644 db/schema_migrations/20221107222213 create mode 100644 qa/qa/page/component/delete_modal.rb diff --git a/.rubocop.yml b/.rubocop.yml index 2c4f6da99ed..cd2d865d9be 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -308,10 +308,18 @@ Rails/RakeEnvironment: # Context on why it's disabled: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93419#note_1048223982 Enabled: false +# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94064#note_1157289970 +Rails/SquishedSQLHeredocs: + Enabled: false + # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96675#note_1094403693 Rails/WhereExists: Enabled: false +# See https://gitlab.com/gitlab-org/gitlab/-/issues/378105#note_1138487716 +Rails/HasManyOrHasOneDependent: + Enabled: false + # GitLab ################################################################### Gitlab/ModuleWithInstanceVariables: diff --git a/.rubocop_todo/rails/has_many_or_has_one_dependent.yml b/.rubocop_todo/rails/has_many_or_has_one_dependent.yml deleted file mode 100644 index 92ba718bfff..00000000000 --- a/.rubocop_todo/rails/has_many_or_has_one_dependent.yml +++ /dev/null @@ -1,154 +0,0 @@ ---- -Rails/HasManyOrHasOneDependent: - # Offense count: 593 - # Temporarily disabled due to too many offenses - Enabled: false - Exclude: - - 'app/models/alert_management/alert.rb' - - 'app/models/analytics/cycle_analytics/project_value_stream.rb' - - 'app/models/analytics/cycle_analytics/stage_event_hash.rb' - - 'app/models/application_setting/term.rb' - - 'app/models/bulk_import.rb' - - 'app/models/bulk_imports/entity.rb' - - 'app/models/bulk_imports/export.rb' - - 'app/models/ci/bridge.rb' - - 'app/models/ci/build.rb' - - 'app/models/ci/pipeline.rb' - - 'app/models/ci/pipeline_schedule.rb' - - 'app/models/ci/processable.rb' - - 'app/models/ci/ref.rb' - - 'app/models/ci/resource_group.rb' - - 'app/models/ci/runner.rb' - - 'app/models/ci/stage.rb' - - 'app/models/ci/trigger.rb' - - 'app/models/ci/trigger_request.rb' - - 'app/models/ci/unit_test.rb' - - 'app/models/clusters/agent.rb' - - 'app/models/clusters/applications/knative.rb' - - 'app/models/clusters/cluster.rb' - - 'app/models/clusters/project.rb' - - 'app/models/commit_status.rb' - - 'app/models/concerns/ci/metadatable.rb' - - 'app/models/concerns/integrations/has_data_fields.rb' - - 'app/models/concerns/issuable.rb' - - 'app/models/concerns/label_eventable.rb' - - 'app/models/concerns/milestone_eventable.rb' - - 'app/models/concerns/packages/debian/distribution.rb' - - 'app/models/concerns/protected_ref.rb' - - 'app/models/concerns/state_eventable.rb' - - 'app/models/concerns/timebox.rb' - - 'app/models/concerns/versioned_description.rb' - - 'app/models/concerns/with_uploads.rb' - - 'app/models/customer_relations/contact.rb' - - 'app/models/deploy_key.rb' - - 'app/models/deploy_token.rb' - - 'app/models/deployment.rb' - - 'app/models/design_management/design.rb' - - 'app/models/design_management/version.rb' - - 'app/models/environment.rb' - - 'app/models/error_tracking/error.rb' - - 'app/models/event.rb' - - 'app/models/experiment.rb' - - 'app/models/fork_network.rb' - - 'app/models/gpg_key.rb' - - 'app/models/group.rb' - - 'app/models/hooks/web_hook.rb' - - 'app/models/integration.rb' - - 'app/models/issue.rb' - - 'app/models/jira_connect_installation.rb' - - 'app/models/label.rb' - - 'app/models/lfs_object.rb' - - 'app/models/list.rb' - - 'app/models/member.rb' - - 'app/models/merge_request.rb' - - 'app/models/merge_request_context_commit.rb' - - 'app/models/milestone.rb' - - 'app/models/namespace.rb' - - 'app/models/namespaces/project_namespace.rb' - - 'app/models/note.rb' - - 'app/models/operations/feature_flag.rb' - - 'app/models/operations/feature_flags/strategy.rb' - - 'app/models/operations/feature_flags/user_list.rb' - - 'app/models/packages/debian/project_distribution.rb' - - 'app/models/packages/dependency.rb' - - 'app/models/packages/dependency_link.rb' - - 'app/models/packages/package.rb' - - 'app/models/packages/package_file.rb' - - 'app/models/pages_domain.rb' - - 'app/models/plan.rb' - - 'app/models/pool_repository.rb' - - 'app/models/project.rb' - - 'app/models/projects/topic.rb' - - 'app/models/prometheus_alert.rb' - - 'app/models/prometheus_metric.rb' - - 'app/models/release.rb' - - 'app/models/snippet.rb' - - 'app/models/terraform/state.rb' - - 'app/models/user.rb' - - 'app/models/wiki_page/meta.rb' - - 'app/models/work_items/type.rb' - - 'app/models/x509_certificate.rb' - - 'app/models/x509_issuer.rb' - - 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb' - - 'ee/app/models/analytics/devops_adoption/snapshot.rb' - - 'ee/app/models/approval_merge_request_rule.rb' - - 'ee/app/models/approval_project_rule.rb' - - 'ee/app/models/boards/epic_board.rb' - - 'ee/app/models/boards/epic_list.rb' - - 'ee/app/models/compliance_management/framework.rb' - - 'ee/app/models/concerns/ee/iteration_eventable.rb' - - 'ee/app/models/concerns/ee/protected_branch.rb' - - 'ee/app/models/concerns/ee/protected_ref.rb' - - 'ee/app/models/concerns/ee/weight_eventable.rb' - - 'ee/app/models/concerns/geo/eventable.rb' - - 'ee/app/models/concerns/issue_widgets/acts_like_requirement.rb' - - 'ee/app/models/concerns/security/scan_execution_policy.rb' - - 'ee/app/models/dast/profile.rb' - - 'ee/app/models/dast_site.rb' - - 'ee/app/models/dast_site_profile.rb' - - 'ee/app/models/dast_site_validation.rb' - - 'ee/app/models/ee/alert_management/alert.rb' - - 'ee/app/models/ee/analytics/cycle_analytics/stage_event_hash.rb' - - 'ee/app/models/ee/board.rb' - - 'ee/app/models/ee/ci/build.rb' - - 'ee/app/models/ee/ci/job_artifact.rb' - - 'ee/app/models/ee/ci/pipeline.rb' - - 'ee/app/models/ee/deployment.rb' - - 'ee/app/models/ee/environment.rb' - - 'ee/app/models/ee/epic.rb' - - 'ee/app/models/ee/group.rb' - - 'ee/app/models/ee/issue.rb' - - 'ee/app/models/ee/iteration.rb' - - 'ee/app/models/ee/label.rb' - - 'ee/app/models/ee/lfs_object.rb' - - 'ee/app/models/ee/merge_request.rb' - - 'ee/app/models/ee/merge_request_diff.rb' - - 'ee/app/models/ee/milestone.rb' - - 'ee/app/models/ee/namespace.rb' - - 'ee/app/models/ee/pages_deployment.rb' - - 'ee/app/models/ee/plan.rb' - - 'ee/app/models/ee/project.rb' - - 'ee/app/models/ee/upload.rb' - - 'ee/app/models/ee/user.rb' - - 'ee/app/models/ee/vulnerability.rb' - - 'ee/app/models/elastic/reindexing_subtask.rb' - - 'ee/app/models/elastic/reindexing_task.rb' - - 'ee/app/models/geo/event.rb' - - 'ee/app/models/geo_node.rb' - - 'ee/app/models/incident_management/escalation_policy.rb' - - 'ee/app/models/incident_management/oncall_participant.rb' - - 'ee/app/models/incident_management/oncall_rotation.rb' - - 'ee/app/models/incident_management/oncall_schedule.rb' - - 'ee/app/models/integrations/gitlab_slack_application.rb' - - 'ee/app/models/iterations/cadence.rb' - - 'ee/app/models/protected_environment.rb' - - 'ee/app/models/protected_environments/approval_rule.rb' - - 'ee/app/models/push_rule.rb' - - 'ee/app/models/saml_provider.rb' - - 'ee/app/models/security/finding.rb' - - 'ee/app/models/security/scan.rb' - - 'ee/app/models/security/training_provider.rb' - - 'ee/app/models/vulnerabilities/finding.rb' - - 'ee/app/models/vulnerabilities/identifier.rb' - - 'ee/app/models/vulnerabilities/remediation.rb' - - 'ee/app/models/vulnerabilities/scanner.rb' diff --git a/.rubocop_todo/rails/squished_sql_heredocs.yml b/.rubocop_todo/rails/squished_sql_heredocs.yml deleted file mode 100644 index 9dcb989f571..00000000000 --- a/.rubocop_todo/rails/squished_sql_heredocs.yml +++ /dev/null @@ -1,215 +0,0 @@ ---- -# Cop supports --auto-correct. -Rails/SquishedSQLHeredocs: - # Offense count: 356 - # Temporarily disabled due to too many offenses - Enabled: false - Exclude: - - 'app/finders/members_finder.rb' - - 'app/models/analytics/cycle_analytics/stage_event_hash.rb' - - 'app/models/ci/resource_group.rb' - - 'app/models/clusters/clusters_hierarchy.rb' - - 'app/models/concerns/analytics/cycle_analytics/stage_event_model.rb' - - 'app/models/concerns/has_environment_scope.rb' - - 'app/models/customer_relations/contact.rb' - - 'app/models/customer_relations/organization.rb' - - 'app/models/deployment.rb' - - 'app/models/issue/metrics.rb' - - 'app/models/merge_request/metrics.rb' - - 'app/models/namespace/traversal_hierarchy.rb' - - 'app/models/namespaces/traversal/linear.rb' - - 'app/models/project.rb' - - 'app/models/user.rb' - - 'app/services/issuable/destroy_label_links_service.rb' - - 'app/services/issues/relative_position_rebalancing_service.rb' - - 'app/services/projects/fetch_statistics_increment_service.rb' - - 'app/services/todos/destroy/destroyed_issuable_service.rb' - - 'app/workers/users/deactivate_dormant_users_worker.rb' - - 'db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb' - - 'db/migrate/20210601080039_group_protected_environments_add_index_and_constraint.rb' - - 'db/migrate/20210611100359_rebuild_index_for_cadence_iterations_automation.rb' - - 'db/migrate/20210617022324_create_incident_management_pending_alert_escalations.rb' - - 'db/migrate/20210621043337_rename_services_to_integrations.rb' - - 'db/migrate/20210621044000_rename_services_indexes_to_integrations.rb' - - 'db/migrate/20210706152139_add_index_type_to_postgres_indexes_view.rb' - - 'db/migrate/20210719145532_add_foreign_keys_view.rb' - - 'db/migrate/20210721135638_add_triggers_to_integrations_type_new.rb' - - 'db/migrate/20210721174453_remove_schedule_and_status_null_constraints_from_pending_escalations_alert.rb' - - 'db/migrate/20210722150102_operations_feature_flags_correct_flexible_rollout_values.rb' - - 'db/migrate/20210730194555_create_incident_management_pending_issue_escalations.rb' - - 'db/migrate/20210818175949_update_integrations_trigger_type_new_on_insert.rb' - - 'db/migrate/20210825104656_create_analytics_cycle_analytics_merge_request_stage_events.rb' - - 'db/migrate/20210825110016_create_analytics_cycle_analytics_issue_stage_events.rb' - - 'db/migrate/20210826122748_create_loose_foreign_keys_deleted_records.rb' - - 'db/migrate/20210826145509_add_function_for_inserting_deleted_records.rb' - - 'db/migrate/20210903054158_recreate_stage_issue_events_table_with_bigints.rb' - - 'db/migrate/20210906100021_delete_project_namespace_trigger.rb' - - 'db/migrate/20210929032555_create_verification_codes.rb' - - 'db/migrate/20211005092428_drop_time_range_partitioned_loose_fk.rb' - - 'db/migrate/20211005093558_add_range_partitioned_loose_fk_table.rb' - - 'db/migrate/20211005100112_recreate_loose_fk_insert_function.rb' - - 'db/migrate/20211007090229_create_issue_search_table.rb' - - 'db/migrate/20211011141242_create_namespaces_sync_trigger.rb' - - 'db/migrate/20211011141243_create_projects_sync_trigger.rb' - - 'db/migrate/20211012015903_next_traversal_ids_sibling_function.rb' - - 'db/migrate/20211018161447_fix_double_entries_in_postgres_index_view.rb' - - 'db/migrate/20211112155416_populate_default_value_for_personal_access_tokens_prefix.rb' - - 'db/migrate/20211118103439_remove_hardcoded_partition_from_loose_fk_trigger_function.rb' - - 'db/migrate/20211123135255_create_batched_background_migration_job_transition_logs.rb' - - 'db/migrate/20220106111958_add_insert_or_update_vulnerability_reads_trigger.rb' - - 'db/migrate/20220106112043_add_update_vulnerability_reads_trigger.rb' - - 'db/migrate/20220106112085_add_update_vulnerability_reads_location_trigger.rb' - - 'db/migrate/20220106163326_add_has_issues_on_vulnerability_reads_trigger.rb' - - 'db/migrate/20220208171826_update_default_scan_method_of_dast_site_profile.rb' - - 'db/migrate/20220211214605_update_integrations_trigger_type_new_on_insert_null_safe.rb' - - 'db/migrate/20220213100000_remove_integration_type_triggers.rb' - - 'db/migrate/20220304052335_remove_not_null_contraint_on_title_from_sprints.rb' - - 'db/migrate/20220321234317_remove_all_issuable_escalation_statuses.rb' - - 'db/migrate/20220329110630_add_ci_namespace_mirrors_unnest_index_on_traversal_ids.rb' - - 'db/migrate/20220412060931_add_nullify_build_data_trigger_on_merge_request_metrics.rb' - - 'db/migrate/20220413124200_add_view_for_per_table_autovacuum_status.rb' - - 'db/migrate/20220415015143_replace_iterations_cadence_date_range_constraint.rb' - - 'db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb' - - 'db/migrate/20220422220507_remove_tmp_index_supporting_leaky_regex_cleanup.rb' - - 'db/post_migrate/20210302074524_backfill_namespace_statistics_with_wiki_size.rb' - - 'db/post_migrate/20210311045138_set_traversal_ids_for_gitlab_org_group_staging.rb' - - 'db/post_migrate/20210311045139_set_traversal_ids_for_gitlab_org_group_com.rb' - - 'db/post_migrate/20210311093723_add_partial_index_on_ci_pipelines_by_cancelable_status_and_users.rb' - - 'db/post_migrate/20210317104032_set_iteration_cadence_automatic_to_false.rb' - - 'db/post_migrate/20210331105335_drop_non_partitioned_audit_events.rb' - - 'db/post_migrate/20210430134202_copy_adoption_snapshot_namespace.rb' - - 'db/post_migrate/20210430135954_copy_adoption_segments_namespace.rb' - - 'db/post_migrate/20210525075724_clean_up_pending_builds_table.rb' - - 'db/post_migrate/20210609125005_drop_non_partitioned_web_hook_logs.rb' - - 'db/post_migrate/20210610102413_migrate_protected_attribute_to_pending_builds.rb' - - 'db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb' - - 'db/post_migrate/20210708011426_finalize_ci_builds_metadata_bigint_conversion.rb' - - 'db/post_migrate/20210721174521_add_non_null_constraint_for_escalation_rule_on_pending_alert_escalations.rb' - - 'db/post_migrate/20210812013042_remove_duplicate_project_authorizations.rb' - - 'db/post_migrate/20210907211557_finalize_ci_builds_bigint_conversion.rb' - - 'db/post_migrate/20210910194952_update_report_type_for_existing_approval_project_rules.rb' - - 'db/post_migrate/20211105135157_drop_ci_build_trace_sections.rb' - - 'db/post_migrate/20211112113300_remove_ci_pipeline_chat_data_fk_on_chat_names.rb' - - 'db/post_migrate/20211130165043_backfill_sequence_column_for_sprints_table.rb' - - 'db/post_migrate/20211206161271_add_indexes_for_primary_email_cleanup_migration.rb' - - 'db/post_migrate/20211220064757_drop_temporary_indexes_for_primary_email_migration.rb' - - 'db/post_migrate/20220128155251_remove_dangling_running_builds.rb' - - 'db/post_migrate/20220204095121_backfill_namespace_statistics_with_dependency_proxy_size.rb' - - 'db/post_migrate/20220204110725_backfill_cycle_analytics_aggregations.rb' - - 'db/post_migrate/20220213103859_remove_integrations_type.rb' - - 'db/post_migrate/20220309084954_remove_leftover_external_pull_request_deletions.rb' - - 'db/post_migrate/20220318111040_add_indexes_for_primary_email_second_cleanup_migration.rb' - - 'db/post_migrate/20220318111949_drop_temporary_indexes_for_primary_email_migration_second_cleanup.rb' - - 'db/post_migrate/20220329175119_remove_leftover_ci_job_artifact_deletions.rb' - - 'db/post_migrate/20220420135946_update_batched_background_migration_arguments.rb' - - 'ee/app/models/dora/daily_metrics.rb' - - 'ee/app/models/ee/group.rb' - - 'ee/app/models/ee/issue.rb' - - 'ee/app/models/iterations/cadence.rb' - - 'ee/app/models/vulnerabilities/statistic.rb' - - 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb' - - 'ee/app/services/security/ingestion/tasks/ingest_vulnerability_statistics.rb' - - 'ee/app/services/vulnerabilities/historical_statistics/adjustment_service.rb' - - 'ee/app/services/vulnerabilities/statistics/adjustment_service.rb' - - 'ee/app/services/vulnerabilities/statistics/update_service.rb' - - 'ee/db/geo/migrate/20170906174622_remove_duplicates_from_project_registry.rb' - - 'ee/db/geo/migrate/20180510223634_set_resync_flag_for_retried_projects.rb' - - 'ee/db/geo/post_migrate/20210217020154_add_unique_index_on_container_repository_registry.rb' - - 'ee/db/geo/post_migrate/20210217020156_add_unique_index_on_terraform_state_version_registry.rb' - - 'ee/lib/ee/gitlab/background_migration/backfill_iteration_cadence_id_for_boards.rb' - - 'ee/lib/ee/gitlab/background_migration/create_security_setting.rb' - - 'ee/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids.rb' - - 'ee/lib/ee/gitlab/background_migration/populate_resolved_on_default_branch_column.rb' - - 'ee/lib/ee/gitlab/background_migration/populate_status_column_of_security_scans.rb' - - 'ee/lib/ee/gitlab/background_migration/populate_test_reports_issue_id.rb' - - 'ee/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location.rb' - - 'ee/lib/ee/gitlab/usage_data.rb' - - 'ee/lib/gitlab/geo/base_batcher.rb' - - 'ee/spec/models/ee/user_spec.rb' - - 'lib/gitlab/background_migration/backfill_ci_namespace_mirrors.rb' - - 'lib/gitlab/background_migration/backfill_ci_project_mirrors.rb' - - 'lib/gitlab/background_migration/backfill_group_features.rb' - - 'lib/gitlab/background_migration/backfill_integrations_type_new.rb' - - 'lib/gitlab/background_migration/backfill_issue_search_data.rb' - - 'lib/gitlab/background_migration/backfill_namespace_id_for_project_route.rb' - - 'lib/gitlab/background_migration/backfill_namespace_traversal_ids_children.rb' - - 'lib/gitlab/background_migration/backfill_project_settings.rb' - - 'lib/gitlab/background_migration/backfill_projects_with_coverage.rb' - - 'lib/gitlab/background_migration/backfill_upvotes_count_on_issues.rb' - - 'lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images.rb' - - 'lib/gitlab/background_migration/encrypt_static_object_token.rb' - - 'lib/gitlab/background_migration/fix_duplicate_project_name_and_path.rb' - - 'lib/gitlab/background_migration/fix_first_mentioned_in_commit_at.rb' - - 'lib/gitlab/background_migration/fix_projects_without_project_feature.rb' - - 'lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb' - - 'lib/gitlab/background_migration/move_container_registry_enabled_to_project_feature.rb' - - 'lib/gitlab/background_migration/populate_container_repository_migration_plan.rb' - - 'lib/gitlab/background_migration/populate_topics_non_private_projects_count.rb' - - 'lib/gitlab/background_migration/populate_topics_total_projects_count_cache.rb' - - 'lib/gitlab/background_migration/populate_vulnerability_reads.rb' - - 'lib/gitlab/background_migration/project_namespaces/backfill_project_namespaces.rb' - - 'lib/gitlab/background_migration/update_timelogs_null_spent_at.rb' - - 'lib/gitlab/background_migration/update_timelogs_project_id.rb' - - 'lib/gitlab/background_migration/update_users_where_two_factor_auth_required_from_group.rb' - - 'lib/gitlab/database/bulk_update.rb' - - 'lib/gitlab/database/count/tablesample_count_strategy.rb' - - 'lib/gitlab/database/load_balancing/load_balancer.rb' - - 'lib/gitlab/database/migration_helpers.rb' - - 'lib/gitlab/database/migration_helpers/loose_foreign_key_helpers.rb' - - 'lib/gitlab/database/migration_helpers/v2.rb' - - 'lib/gitlab/database/migrations/batched_background_migration_helpers.rb' - - 'lib/gitlab/database/migrations/observers/query_statistics.rb' - - 'lib/gitlab/database/partitioning/replace_table.rb' - - 'lib/gitlab/database/partitioning/single_numeric_list_partition.rb' - - 'lib/gitlab/database/partitioning/sliding_list_strategy.rb' - - 'lib/gitlab/database/partitioning/time_partition.rb' - - 'lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb' - - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.rb' - - 'lib/gitlab/database/postgres_hll/batch_distinct_counter.rb' - - 'lib/gitlab/database/schema_helpers.rb' - - 'lib/gitlab/database/schema_migrations/migrations.rb' - - 'lib/gitlab/database/unidirectional_copy_trigger.rb' - - 'lib/gitlab/graphql/pagination/keyset/conditions/not_null_condition.rb' - - 'lib/gitlab/graphql/pagination/keyset/conditions/null_condition.rb' - - 'lib/gitlab/pagination/keyset/in_operator_optimization/query_builder.rb' - - 'lib/gitlab/sql/glob.rb' - - 'lib/tasks/dev.rake' - - 'qa/qa/service/praefect_manager.rb' - - 'spec/db/schema_spec.rb' - - 'spec/initializers/00_rails_disable_joins_spec.rb' - - 'spec/lib/gitlab/background_migration/copy_column_using_background_migration_job_spec.rb' - - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' - - 'spec/lib/gitlab/database/migration_helpers_spec.rb' - - 'spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb' - - 'spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb' - - 'spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb' - - 'spec/lib/gitlab/database/partitioning/partition_manager_spec.rb' - - 'spec/lib/gitlab/database/partitioning/replace_table_spec.rb' - - 'spec/lib/gitlab/database/partitioning/sliding_list_strategy_spec.rb' - - 'spec/lib/gitlab/database/partitioning/time_partition_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - - 'spec/lib/gitlab/database/partitioning_spec.rb' - - 'spec/lib/gitlab/database/postgres_foreign_key_spec.rb' - - 'spec/lib/gitlab/database/postgres_index_bloat_estimate_spec.rb' - - 'spec/lib/gitlab/database/postgres_index_spec.rb' - - 'spec/lib/gitlab/database/postgres_partition_spec.rb' - - 'spec/lib/gitlab/database/postgres_partitioned_table_spec.rb' - - 'spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb' - - 'spec/lib/gitlab/database/reindexing_spec.rb' - - 'spec/lib/gitlab/database/schema_migrations/migrations_spec.rb' - - 'spec/lib/gitlab/database/similarity_score_spec.rb' - - 'spec/lib/gitlab/database/unidirectional_copy_trigger_spec.rb' - - 'spec/lib/gitlab/graphql/pagination/keyset/conditions/not_null_condition_spec.rb' - - 'spec/lib/gitlab/graphql/pagination/keyset/conditions/null_condition_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/record_loader_strategy_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/order_spec.rb' - - 'spec/models/application_record_spec.rb' - - 'spec/models/concerns/after_commit_queue_spec.rb' - - 'spec/support/db_cleaner.rb' - - 'spec/support/helpers/database/partitioning_helpers.rb' - - 'spec/support/helpers/database/table_schema_helpers.rb' - - 'spec/support/helpers/database/trigger_helpers.rb' - - 'spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb' diff --git a/.rubocop_todo/rspec/factory_bot/avoid_create.yml b/.rubocop_todo/rspec/factory_bot/avoid_create.yml index 90582e45009..b41233d83af 100644 --- a/.rubocop_todo/rspec/factory_bot/avoid_create.yml +++ b/.rubocop_todo/rspec/factory_bot/avoid_create.yml @@ -3,7 +3,6 @@ RSpec/FactoryBot/AvoidCreate: Exclude: - 'ee/spec/presenters/approval_rule_presenter_spec.rb' - 'ee/spec/presenters/audit_event_presenter_spec.rb' - - 'ee/spec/presenters/ci/build_presenter_spec.rb' - 'ee/spec/presenters/ci/build_runner_presenter_spec.rb' - 'ee/spec/presenters/ci/minutes/usage_presenter_spec.rb' - 'ee/spec/presenters/ci/pipeline_presenter_spec.rb' diff --git a/app/assets/javascripts/analytics/shared/components/daterange.vue b/app/assets/javascripts/analytics/shared/components/daterange.vue index e9a4debdbb3..a14b0bafecf 100644 --- a/app/assets/javascripts/analytics/shared/components/daterange.vue +++ b/app/assets/javascripts/analytics/shared/components/daterange.vue @@ -89,6 +89,8 @@ export default { :default-max-date="maxDate" :same-day-selection="includeSelectedDate" :tooltip="maxDateRangeTooltip" + :from-label="__('From')" + :to-label="__('To')" theme="animate-picker" start-picker-class="js-daterange-picker-from gl-display-flex gl-flex-direction-column gl-lg-flex-direction-row gl-lg-align-items-center gl-lg-mr-3 gl-mb-2 gl-lg-mb-0" end-picker-class="js-daterange-picker-to gl-display-flex gl-flex-direction-column gl-lg-flex-direction-row gl-lg-align-items-center gl-mb-2 gl-lg-mb-0" diff --git a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue index b2e554bc913..5bb60d91f1e 100644 --- a/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue +++ b/app/assets/javascripts/analytics/shared/components/projects_dropdown_filter.vue @@ -240,7 +240,7 @@ export default {