From 2b2299ea5f8717ad59a47c1c40d951409dfeb35b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 5 Jul 2023 18:09:16 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/gitlab-gems.gitlab-ci.yml | 3 + Gemfile | 2 + Gemfile.lock | 6 + .../cycle_analytics/components/filter_bar.vue | 2 + .../issue_board_filtered_search.vue | 2 + .../contribution_event_pushed.vue | 110 ++++++++++++++ .../components/contribution_events.vue | 5 + .../contribution_events/constants.js | 4 + .../components/issues_dashboard_app.vue | 2 + .../list/components/issues_list_app.vue | 2 + .../jobs/components/job/job_app.vue | 2 +- .../components/job/job_log_controllers.vue | 2 + app/assets/javascripts/jobs/index.js | 3 + .../index/components/ml_models_index.vue | 34 +++++ .../routes/models/index/index.js | 3 + .../routes/models/index/translations.js | 3 + .../pages/projects/ml/models/index/index.js | 4 + .../paginated_table_with_search_and_tabs.vue | 2 + app/controllers/projects/jobs_controller.rb | 6 +- .../projects/ml/models_controller.rb | 3 - .../resolvers/ci/runner_job_count_resolver.rb | 49 ++++++ app/graphql/types/ci/runner_type.rb | 25 +--- app/helpers/ci/jobs_helper.rb | 14 +- app/models/ci/catalog/resource.rb | 2 + app/models/concerns/commit_signature.rb | 3 +- app/models/concerns/has_user_type.rb | 2 +- .../concerns/vulnerability_finding_helpers.rb | 1 + ..._verified_system_signature_badge.html.haml | 5 + app/views/projects/jobs/show.html.haml | 2 +- app/views/projects/ml/models/index.html.haml | 5 + config/application.rb | 1 - .../group_analytics_dashboards.yml | 8 + config/initializers/wrap_parameters.rb | 16 -- ...30170515_add_state_to_catalog_resources.rb | 9 ++ ...vulnerability_uuid_type_migration_index.rb | 17 +-- ..._details_provisioned_by_group_at_column.rb | 9 ++ db/schema_migrations/20230630170515 | 1 + db/schema_migrations/20230705115215 | 1 + db/structure.sql | 6 +- .../geo/replication/troubleshooting.md | 2 +- .../reference_architectures/10k_users.md | 2 +- .../reference_architectures/25k_users.md | 2 +- .../reference_architectures/2k_users.md | 2 +- .../reference_architectures/3k_users.md | 2 +- .../reference_architectures/50k_users.md | 2 +- .../reference_architectures/5k_users.md | 2 +- doc/api/database_migrations.md | 33 ++++ doc/api/graphql/reference/index.md | 14 +- doc/api/projects.md | 4 + doc/api/templates/gitlab_ci_ymls.md | 2 +- .../blueprints/cells/cells-feature-backups.md | 4 +- .../blueprints/cells/cells-feature-secrets.md | 4 +- doc/architecture/blueprints/cells/index.md | 2 +- ...tateless-router-with-buffering-requests.md | 2 +- ...l-stateless-router-with-routes-learning.md | 2 +- .../clickhouse_ingestion_pipeline/index.md | 2 +- .../blueprints/clickhouse_usage/index.md | 18 +++ .../code_search_with_zoekt/index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../gitlab_agent_deployments/index.md | 4 +- .../metrics/index.md | 8 +- .../modular_monolith/bounded_contexts.md | 8 +- .../blueprints/object_pools/index.md | 4 +- .../blueprints/observability_tracing/index.md | 2 +- doc/ci/runners/saas/linux_saas_runner.md | 2 +- doc/development/auto_devops.md | 2 +- .../database/efficient_in_operator_queries.md | 2 +- doc/development/database/keyset_pagination.md | 2 +- .../database/loose_foreign_keys.md | 4 +- .../database/pagination_guidelines.md | 2 +- doc/development/fe_guide/frontend_faq.md | 2 +- doc/development/pipelines/internals.md | 21 ++- doc/user/clusters/agent/troubleshooting.md | 2 +- doc/user/usage_quotas.md | 2 +- gems/gitlab-schema-validation/.gitignore | 11 ++ gems/gitlab-schema-validation/.gitlab-ci.yml | 4 + gems/gitlab-schema-validation/.rspec | 3 + gems/gitlab-schema-validation/.rubocop.yml | 5 + gems/gitlab-schema-validation/Gemfile | 6 + gems/gitlab-schema-validation/Gemfile.lock | 126 ++++++++++++++++ .../gitlab-schema-validation.gemspec | 28 ++++ .../lib/gitlab/schema/validation.rb | 10 ++ .../lib/gitlab/schema/validation/version.rb | 11 ++ .../spec/gitlab/schema/validation_spec.rb | 7 + .../spec/spec_helper.rb | 15 ++ lib/gitlab/gitaly_client/commit_service.rb | 16 +- lib/gitlab/gpg/commit.rb | 10 ++ lib/gitlab/signed_commit.rb | 10 +- lib/gitlab/ssh/commit.rb | 2 +- lib/gitlab/ssh/signature.rb | 13 +- locale/gitlab.pot | 48 ++++++ spec/frontend/boards/mock_data.js | 2 + .../contribution_event_pushed_spec.js | 141 ++++++++++++++++++ .../components/contribution_events_spec.js | 7 +- spec/frontend/contribution_events/utils.js | 29 ++++ .../jobs/components/job/job_app_spec.js | 2 +- .../index/components/ml_models_index_spec.js | 39 +++++ .../models/index/components/mock_data.js | 12 ++ ...ginated_table_with_search_and_tabs_spec.js | 2 + .../ci/runner_job_count_resolver_spec.rb | 56 +++++++ .../resolvers/ci/runner_jobs_resolver_spec.rb | 17 ++- .../verification_status_enum_spec.rb | 2 +- spec/helpers/ci/jobs_helper_spec.rb | 7 +- spec/lib/gitlab/git/commit_spec.rb | 3 +- .../gitaly_client/commit_service_spec.rb | 34 +++++ spec/lib/gitlab/gpg/commit_spec.rb | 49 ++++-- .../gpg/invalid_gpg_signature_updater_spec.rb | 16 +- spec/lib/gitlab/ssh/commit_spec.rb | 5 +- spec/lib/gitlab/ssh/signature_spec.rb | 11 ++ spec/models/ci/catalog/resource_spec.rb | 8 + spec/requests/api/graphql/ci/runner_spec.rb | 15 +- .../projects/ml/models_controller_spec.rb | 3 +- ...user_contribution_events_shared_context.rb | 37 ++++- .../projects/commit/show.html.haml_spec.rb | 25 +++- 115 files changed, 1224 insertions(+), 175 deletions(-) create mode 100644 app/assets/javascripts/contribution_events/components/contribution_event/contribution_event_pushed.vue create mode 100644 app/assets/javascripts/ml/model_registry/routes/models/index/components/ml_models_index.vue create mode 100644 app/assets/javascripts/ml/model_registry/routes/models/index/index.js create mode 100644 app/assets/javascripts/ml/model_registry/routes/models/index/translations.js create mode 100644 app/assets/javascripts/pages/projects/ml/models/index/index.js create mode 100644 app/graphql/resolvers/ci/runner_job_count_resolver.rb create mode 100644 app/views/projects/commit/_verified_system_signature_badge.html.haml create mode 100644 app/views/projects/ml/models/index.html.haml create mode 100644 config/feature_flags/development/group_analytics_dashboards.yml delete mode 100644 config/initializers/wrap_parameters.rb create mode 100644 db/migrate/20230630170515_add_state_to_catalog_resources.rb create mode 100644 db/post_migrate/20230705115215_remove_user_details_provisioned_by_group_at_column.rb create mode 100644 db/schema_migrations/20230630170515 create mode 100644 db/schema_migrations/20230705115215 create mode 100644 doc/api/database_migrations.md create mode 100644 gems/gitlab-schema-validation/.gitignore create mode 100644 gems/gitlab-schema-validation/.gitlab-ci.yml create mode 100644 gems/gitlab-schema-validation/.rspec create mode 100644 gems/gitlab-schema-validation/.rubocop.yml create mode 100644 gems/gitlab-schema-validation/Gemfile create mode 100644 gems/gitlab-schema-validation/Gemfile.lock create mode 100644 gems/gitlab-schema-validation/gitlab-schema-validation.gemspec create mode 100644 gems/gitlab-schema-validation/lib/gitlab/schema/validation.rb create mode 100644 gems/gitlab-schema-validation/lib/gitlab/schema/validation/version.rb create mode 100644 gems/gitlab-schema-validation/spec/gitlab/schema/validation_spec.rb create mode 100644 gems/gitlab-schema-validation/spec/spec_helper.rb create mode 100644 spec/frontend/contribution_events/components/contribution_event/contribution_event_pushed_spec.js create mode 100644 spec/frontend/ml/model_registry/routes/models/index/components/ml_models_index_spec.js create mode 100644 spec/frontend/ml/model_registry/routes/models/index/components/mock_data.js create mode 100644 spec/graphql/resolvers/ci/runner_job_count_resolver_spec.rb diff --git a/.gitlab/ci/gitlab-gems.gitlab-ci.yml b/.gitlab/ci/gitlab-gems.gitlab-ci.yml index ff961877309..0c2fc96b02b 100644 --- a/.gitlab/ci/gitlab-gems.gitlab-ci.yml +++ b/.gitlab/ci/gitlab-gems.gitlab-ci.yml @@ -11,3 +11,6 @@ include: - local: .gitlab/ci/templates/gem.gitlab-ci.yml inputs: gem_name: "click_house-client" + - local: .gitlab/ci/templates/gem.gitlab-ci.yml + inputs: + gem_name: "gitlab-schema-validation" diff --git a/Gemfile b/Gemfile index 082d158071b..cc9dafc405b 100644 --- a/Gemfile +++ b/Gemfile @@ -348,6 +348,8 @@ gem 'sentry-sidekiq', '~> 5.8.0' # gem 'pg_query', '~> 4.2.1' +gem 'gitlab-schema-validation', path: 'gems/gitlab-schema-validation' + gem 'premailer-rails', '~> 1.10.3' gem 'gitlab-labkit', '~> 0.33.0' diff --git a/Gemfile.lock b/Gemfile.lock index 984bceae521..6730e7c386a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -18,6 +18,11 @@ PATH gitlab-rspec (0.1.0) rspec (~> 3.0) +PATH + remote: gems/gitlab-schema-validation + specs: + gitlab-schema-validation (0.1.0) + PATH remote: gems/gitlab-utils specs: @@ -1805,6 +1810,7 @@ DEPENDENCIES gitlab-markup (~> 1.9.0) gitlab-net-dns (~> 0.9.2) gitlab-rspec! + gitlab-schema-validation! gitlab-sidekiq-fetcher! gitlab-styles (~> 10.1.0) gitlab-utils! diff --git a/app/assets/javascripts/analytics/cycle_analytics/components/filter_bar.vue b/app/assets/javascripts/analytics/cycle_analytics/components/filter_bar.vue index 33d6eb139f7..92649477922 100644 --- a/app/assets/javascripts/analytics/cycle_analytics/components/filter_bar.vue +++ b/app/assets/javascripts/analytics/cycle_analytics/components/filter_bar.vue @@ -78,6 +78,7 @@ export default { title: TOKEN_TITLE_AUTHOR, type: TOKEN_TYPE_AUTHOR, token: UserToken, + dataType: 'user', initialUsers: this.authorsData, unique: true, operators: OPERATORS_IS, @@ -88,6 +89,7 @@ export default { title: TOKEN_TITLE_ASSIGNEE, type: TOKEN_TYPE_ASSIGNEE, token: UserToken, + dataType: 'user', initialUsers: this.assigneesData, unique: false, operators: OPERATORS_IS, diff --git a/app/assets/javascripts/boards/components/issue_board_filtered_search.vue b/app/assets/javascripts/boards/components/issue_board_filtered_search.vue index 3c056f296e1..f60f00be368 100644 --- a/app/assets/javascripts/boards/components/issue_board_filtered_search.vue +++ b/app/assets/javascripts/boards/components/issue_board_filtered_search.vue @@ -75,6 +75,7 @@ export default { type: TOKEN_TYPE_ASSIGNEE, operators: OPERATORS_IS_NOT, token: UserToken, + dataType: 'user', unique: true, fetchUsers, preloadedUsers: this.preloadedUsers(), @@ -86,6 +87,7 @@ export default { operators: OPERATORS_IS_NOT, symbol: '@', token: UserToken, + dataType: 'user', unique: true, fetchUsers, preloadedUsers: this.preloadedUsers(), diff --git a/app/assets/javascripts/contribution_events/components/contribution_event/contribution_event_pushed.vue b/app/assets/javascripts/contribution_events/components/contribution_event/contribution_event_pushed.vue new file mode 100644 index 00000000000..557f2912f17 --- /dev/null +++ b/app/assets/javascripts/contribution_events/components/contribution_event/contribution_event_pushed.vue @@ -0,0 +1,110 @@ + + + diff --git a/app/assets/javascripts/contribution_events/components/contribution_events.vue b/app/assets/javascripts/contribution_events/components/contribution_events.vue index c704c9bd048..63bee40d0b3 100644 --- a/app/assets/javascripts/contribution_events/components/contribution_events.vue +++ b/app/assets/javascripts/contribution_events/components/contribution_events.vue @@ -5,11 +5,13 @@ import { EVENT_TYPE_EXPIRED, EVENT_TYPE_JOINED, EVENT_TYPE_LEFT, + EVENT_TYPE_PUSHED, } from '../constants'; import ContributionEventApproved from './contribution_event/contribution_event_approved.vue'; import ContributionEventExpired from './contribution_event/contribution_event_expired.vue'; import ContributionEventJoined from './contribution_event/contribution_event_joined.vue'; import ContributionEventLeft from './contribution_event/contribution_event_left.vue'; +import ContributionEventPushed from './contribution_event/contribution_event_pushed.vue'; export default { props: { @@ -116,6 +118,9 @@ export default { case EVENT_TYPE_LEFT: return ContributionEventLeft; + case EVENT_TYPE_PUSHED: + return ContributionEventPushed; + default: return EmptyComponent; } diff --git a/app/assets/javascripts/contribution_events/constants.js b/app/assets/javascripts/contribution_events/constants.js index 05f968e7bc4..d4444e3bede 100644 --- a/app/assets/javascripts/contribution_events/constants.js +++ b/app/assets/javascripts/contribution_events/constants.js @@ -12,3 +12,7 @@ export const EVENT_TYPE_DESTROYED = 'destroyed'; export const EVENT_TYPE_EXPIRED = 'expired'; export const EVENT_TYPE_APPROVED = 'approved'; export const EVENT_TYPE_PRIVATE = 'private'; + +// From app/models/push_event_payload.rb#L22 +export const PUSH_EVENT_REF_TYPE_BRANCH = 'branch'; +export const PUSH_EVENT_REF_TYPE_TAG = 'tag'; diff --git a/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue b/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue index 14fe88b8f61..8f318b10744 100644 --- a/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue +++ b/app/assets/javascripts/issues/dashboard/components/issues_dashboard_app.vue @@ -233,6 +233,7 @@ export default { title: TOKEN_TITLE_ASSIGNEE, icon: 'user', token: UserToken, + dataType: 'user', operators: OPERATORS_IS_NOT_OR, fetchUsers: this.fetchUsers, preloadedUsers, @@ -243,6 +244,7 @@ export default { title: TOKEN_TITLE_AUTHOR, icon: 'pencil', token: UserToken, + dataType: 'user', operators: OPERATORS_IS_NOT_OR, fetchUsers: this.fetchUsers, defaultUsers: [], diff --git a/app/assets/javascripts/issues/list/components/issues_list_app.vue b/app/assets/javascripts/issues/list/components/issues_list_app.vue index 83b0bcebe67..35ef5c14783 100644 --- a/app/assets/javascripts/issues/list/components/issues_list_app.vue +++ b/app/assets/javascripts/issues/list/components/issues_list_app.vue @@ -365,6 +365,7 @@ export default { title: TOKEN_TITLE_AUTHOR, icon: 'pencil', token: UserToken, + dataType: 'user', defaultUsers: [], operators: this.hasOrFeature ? OPERATORS_IS_NOT_OR : OPERATORS_IS_NOT, fetchUsers: this.fetchUsers, @@ -376,6 +377,7 @@ export default { title: TOKEN_TITLE_ASSIGNEE, icon: 'user', token: UserToken, + dataType: 'user', operators: this.hasOrFeature ? OPERATORS_IS_NOT_OR : OPERATORS_IS_NOT, fetchUsers: this.fetchUsers, recentSuggestionsStorageKey: `${this.fullPath}-issues-recent-tokens-assignee`, diff --git a/app/assets/javascripts/jobs/components/job/job_app.vue b/app/assets/javascripts/jobs/components/job/job_app.vue index d93b8a8de29..a5a92a3c4ff 100644 --- a/app/assets/javascripts/jobs/components/job/job_app.vue +++ b/app/assets/javascripts/jobs/components/job/job_app.vue @@ -3,6 +3,7 @@ import { GlLoadingIcon, GlIcon, GlAlert } from '@gitlab/ui'; import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils'; import { throttle, isEmpty } from 'lodash'; import { mapGetters, mapState, mapActions } from 'vuex'; +import LogTopBar from 'ee_else_ce/jobs/components/job/job_log_controllers.vue'; import SafeHtml from '~/vue_shared/directives/safe_html'; import { isScrolledToBottom } from '~/lib/utils/scroll_utils'; import { __, sprintf } from '~/locale'; @@ -13,7 +14,6 @@ import { MANUAL_STATUS } from '~/jobs/constants'; import EmptyState from './empty_state.vue'; import EnvironmentsBlock from './environments_block.vue'; import ErasedBlock from './erased_block.vue'; -import LogTopBar from './job_log_controllers.vue'; import StuckBlock from './stuck_block.vue'; import UnmetPrerequisitesBlock from './unmet_prerequisites_block.vue'; import Sidebar from './sidebar/sidebar.vue'; diff --git a/app/assets/javascripts/jobs/components/job/job_log_controllers.vue b/app/assets/javascripts/jobs/components/job/job_log_controllers.vue index ea7e13418f2..efd4eed2a9f 100644 --- a/app/assets/javascripts/jobs/components/job/job_log_controllers.vue +++ b/app/assets/javascripts/jobs/components/job/job_log_controllers.vue @@ -178,6 +178,7 @@ export default {