From a73ecda21efc8a25fd1d182f3857c251e1d1820b Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 29 Jan 2024 12:06:57 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/preflight.gitlab-ci.yml | 12 ++ .gitlab/ci/rules.gitlab-ci.yml | 5 + .rubocop_todo/rspec/feature_category.yml | 1 - .rubocop_todo/rspec/named_subject.yml | 1 - .../components/model_version_list.vue | 58 ++++++--- .../ml/model_registry/constants.js | 4 + .../queries/get_model_versions.query.graphql | 21 +++- app/models/concerns/stepable.rb | 35 ------ app/models/organizations/organization.rb | 1 + app/models/packages/nuget/symbol.rb | 11 +- app/models/work_items/widgets/hierarchy.rb | 12 +- app/services/organizations/create_service.rb | 16 ++- ..._and_secondary_stores_for_shared_state.yml | 8 -- ...mary_store_as_default_for_shared_state.yml | 8 -- config/initializers/7_redis.rb | 2 +- ...4_i_quickactions_remove_parent_monthly.yml | 26 ++++ ...34_i_quickactions_remove_parent_weekly.yml | 26 ++++ ...ls_on_lowercase_signature_and_file_name.rb | 16 +++ db/schema_migrations/20240126101101 | 1 + db/structure.sql | 2 + doc/development/architecture.md | 6 +- doc/policy/experiment-beta-support.md | 36 +++++- doc/raketasks/index.md | 2 +- doc/raketasks/web_hooks.md | 2 +- doc/user/gitlab_com/index.md | 1 + doc/user/project/integrations/webhooks.md | 6 + doc/user/project/quick_actions.md | 1 + doc/user/project/repository/push_rules.md | 2 +- .../packages/nuget/public_endpoints.rb | 12 +- lib/gitlab/cache/import/caching.rb | 2 +- lib/gitlab/quick_actions/work_item_actions.rb | 19 +++ lib/gitlab/redis.rb | 1 - lib/gitlab/redis/cluster_shared_state.rb | 13 -- lib/gitlab/redis/shared_state.rb | 5 +- locale/gitlab.pot | 20 ++- scripts/lint/check_ruby_syntax.rb | 25 ++++ .../components/model_version_list_spec.js | 26 +++- .../gitlab/redis/cluster_shared_state_spec.rb | 7 -- spec/lib/gitlab/redis/shared_state_spec.rb | 1 - spec/models/concerns/stepable_spec.rb | 115 ------------------ .../models/organizations/organization_spec.rb | 1 + spec/models/packages/nuget/symbol_spec.rb | 42 ++++++- .../notes/quick_actions_service_spec.rb | 22 ++++ .../quick_actions/interpret_service_spec.rb | 36 ++++++ spec/support/rspec_order_todo.yml | 1 - .../api/nuget_packages_shared_examples.rb | 13 +- .../lib/tooling/check_ruby_syntax_spec.rb | 84 +++++++++++++ tooling/lib/tooling/check_ruby_syntax.rb | 41 +++++++ 48 files changed, 548 insertions(+), 260 deletions(-) delete mode 100644 app/models/concerns/stepable.rb delete mode 100644 config/feature_flags/development/use_primary_and_secondary_stores_for_shared_state.yml delete mode 100644 config/feature_flags/development/use_primary_store_as_default_for_shared_state.yml create mode 100644 config/metrics/counts_28d/20240118133234_i_quickactions_remove_parent_monthly.yml create mode 100644 config/metrics/counts_7d/20240118133234_i_quickactions_remove_parent_weekly.yml create mode 100644 db/post_migrate/20240126101101_add_index_packages_nuget_symbols_on_lowercase_signature_and_file_name.rb create mode 100644 db/schema_migrations/20240126101101 delete mode 100644 lib/gitlab/redis/cluster_shared_state.rb create mode 100755 scripts/lint/check_ruby_syntax.rb delete mode 100644 spec/lib/gitlab/redis/cluster_shared_state_spec.rb delete mode 100644 spec/models/concerns/stepable_spec.rb create mode 100644 spec/tooling/lib/tooling/check_ruby_syntax_spec.rb create mode 100644 tooling/lib/tooling/check_ruby_syntax.rb diff --git a/.gitlab/ci/preflight.gitlab-ci.yml b/.gitlab/ci/preflight.gitlab-ci.yml index 426d36b24f4..cd1a9c753cb 100644 --- a/.gitlab/ci/preflight.gitlab-ci.yml +++ b/.gitlab/ci/preflight.gitlab-ci.yml @@ -53,6 +53,18 @@ rails-production-server-boot-puma-cng: - retry_times_sleep 10 5 "curl http://127.0.0.1:8080" - kill $(jobs -p) +ruby_syntax: + extends: + - .preflight-job-base + before_script: + - source scripts/utils.sh + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION} + parallel: + matrix: + - RUBY_VERSION: ["3.0", "3.1", "3.2"] + script: + - run_timed_command "fail_on_warnings scripts/lint/check_ruby_syntax.rb" + no-ee-check: extends: - .preflight-job-base diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 646021841b4..65b75c3e237 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -2939,6 +2939,11 @@ - <<: *if-default-refs changes: *code-patterns +.preflight:rules:ruby_syntax: + rules: + - <<: *if-default-refs + changes: *backend-patterns + .preflight:rules:no-ee-check: rules: - <<: *if-not-foss diff --git a/.rubocop_todo/rspec/feature_category.yml b/.rubocop_todo/rspec/feature_category.yml index e007c00bf47..3cc9f073136 100644 --- a/.rubocop_todo/rspec/feature_category.yml +++ b/.rubocop_todo/rspec/feature_category.yml @@ -4370,7 +4370,6 @@ RSpec/FeatureCategory: - 'spec/models/concerns/signature_type_spec.rb' - 'spec/models/concerns/sortable_spec.rb' - 'spec/models/concerns/spammable_spec.rb' - - 'spec/models/concerns/stepable_spec.rb' - 'spec/models/concerns/strip_attribute_spec.rb' - 'spec/models/concerns/subquery_spec.rb' - 'spec/models/concerns/subscribable_spec.rb' diff --git a/.rubocop_todo/rspec/named_subject.yml b/.rubocop_todo/rspec/named_subject.yml index 1bc9fc8bfb3..d788b1722a0 100644 --- a/.rubocop_todo/rspec/named_subject.yml +++ b/.rubocop_todo/rspec/named_subject.yml @@ -2654,7 +2654,6 @@ RSpec/NamedSubject: - 'spec/models/concerns/resolvable_note_spec.rb' - 'spec/models/concerns/runners_token_prefixable_spec.rb' - 'spec/models/concerns/spammable_spec.rb' - - 'spec/models/concerns/stepable_spec.rb' - 'spec/models/concerns/subquery_spec.rb' - 'spec/models/concerns/token_authenticatable_spec.rb' - 'spec/models/concerns/token_authenticatable_strategies/encrypted_spec.rb' diff --git a/app/assets/javascripts/ml/model_registry/components/model_version_list.vue b/app/assets/javascripts/ml/model_registry/components/model_version_list.vue index ea5258a299e..7e14d5e9e54 100644 --- a/app/assets/javascripts/ml/model_registry/components/model_version_list.vue +++ b/app/assets/javascripts/ml/model_registry/components/model_version_list.vue @@ -2,8 +2,16 @@ import * as Sentry from '~/sentry/sentry_browser_wrapper'; import { makeLoadVersionsErrorMessage } from '~/ml/model_registry/translations'; import { convertToGraphQLId } from '~/graphql_shared/utils'; +import { s__ } from '~/locale'; import getModelVersionsQuery from '../graphql/queries/get_model_versions.query.graphql'; -import { GRAPHQL_PAGE_SIZE, MODEL_ENTITIES } from '../constants'; +import { + GRAPHQL_PAGE_SIZE, + LIST_KEY_CREATED_AT, + LIST_KEY_VERSION, + MODEL_ENTITIES, + SORT_KEY_CREATED_AT, + SORT_KEY_ORDER, +} from '../constants'; import SearchableList from './searchable_list.vue'; import EmptyState from './empty_state.vue'; import ModelVersionRow from './model_version_row.vue'; @@ -24,6 +32,8 @@ export default { return { modelVersions: {}, errorMessage: undefined, + skipQueries: true, + queryVariables: {}, }; }, apollo: { @@ -38,6 +48,9 @@ export default { error(error) { this.handleError(error); }, + skip() { + return this.skipQueries; + }, }, }, computed: { @@ -50,31 +63,25 @@ export default { pageInfo() { return this.modelVersions?.pageInfo ?? {}; }, - queryVariables() { - return { - id: this.gid, - first: GRAPHQL_PAGE_SIZE, - }; - }, versions() { return this.modelVersions?.nodes ?? []; }, }, methods: { - fetchPage(pageInfo) { - const variables = { - ...this.queryVariables, - ...pageInfo, + fetchPage(variables) { + this.queryVariables = { + id: this.gid, + first: GRAPHQL_PAGE_SIZE, + ...variables, + version: variables.name, + orderBy: variables.orderBy?.toUpperCase() || SORT_KEY_CREATED_AT, + sort: variables.sort?.toUpperCase() || SORT_KEY_ORDER, }; - this.$apollo.queries.modelVersions - .fetchMore({ - variables, - updateQuery: (previousResult, { fetchMoreResult }) => { - return fetchMoreResult; - }, - }) - .catch(this.handleError); + this.errorMessage = null; + this.skipQueries = false; + + this.$apollo.queries.modelVersions.fetchMore({}); }, handleError(error) { this.errorMessage = makeLoadVersionsErrorMessage(error.message); @@ -82,13 +89,26 @@ export default { }, }, modelVersionEntity: MODEL_ENTITIES.modelVersion, + sortableFields: [ + { + orderBy: LIST_KEY_VERSION, + label: s__('MlExperimentTracking|Version'), + }, + { + orderBy: LIST_KEY_CREATED_AT, + label: s__('MlExperimentTracking|Created at'), + }, + ], };