From 2eafcb0673f7d501d9e3fabde6e950a5dcc24fc2 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 15 Nov 2022 18:09:13 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab-ci.yml | 2 +- .gitlab/CODEOWNERS | 2 +- .gitlab/ci/frontend.gitlab-ci.yml | 11 - .gitlab/ci/global.gitlab-ci.yml | 9 +- .gitlab/ci/review-apps/qa.gitlab-ci.yml | 2 +- .gitlab/ci/rules.gitlab-ci.yml | 20 +- .../rails/lexically_scoped_action_filter.yml | 11 +- .../components/ci_variable_modal.vue | 1 + .../components/legacy_ci_variable_modal.vue | 1 + .../javascripts/diffs/components/app.vue | 10 +- app/assets/javascripts/diffs/store/actions.js | 14 +- .../components/delete_modal.vue | 61 ++++ .../components/list/package_list_row.vue | 26 +- .../components/list/packages_list.vue | 26 +- .../package_registry/constants.js | 7 + .../destroy_packages.mutation.graphql | 5 + .../package_registry/pages/list.vue | 71 +++- ...ckage_forwarding_settings.mutation.graphql | 16 + .../commit_box_pipeline_mini_graph.vue | 2 +- .../sidebar/components/scope_navigation.vue | 2 +- config/initializers/memory_watchdog.rb | 2 +- .../000_inflections.rb | 1 + db/docs/dependency_proxy_blob_states.yml | 9 + ...524_create_dependency_proxy_blob_states.rb | 49 +++ db/schema_migrations/20221018202524 | 1 + db/structure.sql | 30 ++ .../monitoring/prometheus/gitlab_metrics.md | 10 + doc/api/geo_nodes.md | 39 +++ doc/api/graphql/reference/index.md | 64 ++++ doc/api/suggestions.md | 4 +- doc/architecture/blueprints/_template.md | 5 - .../blueprints/ci_data_decay/index.md | 8 - .../ci_data_decay/pipeline_partitioning.md | 8 - .../ci_pipeline_components/index.md | 8 - doc/architecture/blueprints/ci_scale/index.md | 8 - .../cloud_native_build_logs/index.md | 8 - .../cloud_native_gitlab_pages/index.md | 8 - .../index.md | 8 - .../index.md | 8 - .../index.md | 8 - .../scalability/patterns/read_mostly.md | 8 - .../scalability/patterns/time_decay.md | 8 - .../database_scaling/size-limits.md | 8 - .../blueprints/database_testing/index.md | 8 - .../feature_flags_development/index.md | 8 - .../index.md | 8 - .../blueprints/graphql_api/index.md | 8 - .../blueprints/image_resizing/index.md | 8 - .../blueprints/object_storage/index.md | 8 - doc/architecture/blueprints/pods/index.md | 8 - .../pods/pods-feature-git-access.md | 8 - .../blueprints/pods/pods-feature-template.md | 8 - ...tateless-router-with-buffering-requests.md | 8 - ...l-stateless-router-with-routes-learning.md | 8 - .../blueprints/rate_limiting/index.md | 8 - .../blueprints/runner_scaling/index.md | 8 - .../blueprints/runner_tokens/index.md | 8 - .../blueprints/work_items/index.md | 8 - doc/development/pipelines/index.md | 2 +- doc/development/pipelines/internals.md | 2 +- doc/user/infrastructure/iac/index.md | 4 +- lib/api/entities/metadata.rb | 8 +- lib/api/metadata.rb | 56 +--- lib/api/v3/github.rb | 2 +- .../cluster/puma_worker_killer_initializer.rb | 4 + lib/gitlab/database/gitlab_schemas.yml | 1 + .../database/load_balancing/load_balancer.rb | 7 + .../importer/events/changed_label.rb | 1 + lib/gitlab/i18n.rb | 20 +- locale/gitlab.pot | 22 ++ package.json | 2 +- qa/Dockerfile | 4 +- spec/factories/dependency_proxy.rb | 9 +- spec/features/global_search_spec.rb | 15 +- .../merge_request/user_sees_diff_spec.rb | 14 + .../features/snippets/search_snippets_spec.rb | 6 +- spec/frontend/diffs/store/actions_spec.js | 38 ++- .../editor/schema/ci/ci_schema_spec.js | 60 +--- .../default_no_additional_properties.json | 2 +- ...erit_default_no_additional_properties.json | 6 +- ...ob_variables_must_not_contain_objects.json | 6 +- ...nk_type.json => release_assets_links.json} | 22 +- .../release_assets_links_empty.json | 13 - .../release_assets_links_missing.json | 11 - .../negative_tests/retry_unknown_when.json | 2 +- .../ci/yaml_tests/negative_tests/cache.yml | 62 ++++ .../cache/key_files_not_an_array.yml | 8 - .../negative_tests/cache/key_prefix_array.yml | 10 - .../negative_tests/cache/key_with_dot.yml | 6 - .../cache/key_with_multiple_dots.yml | 7 - .../negative_tests/cache/key_with_slash.yml | 6 - .../cache/paths_not_an_array.yml | 5 - .../negative_tests/cache/untracked_string.yml | 4 - .../negative_tests/cache/when_integer.yml | 4 - .../cache/when_not_reserved_keyword.yml | 4 - .../project_path/trigger/minimal/empty.yml | 2 - .../trigger/minimal/invalid_variable.yml | 2 - .../trigger/minimal/leading_slash.yml | 2 - .../project_path/trigger/minimal/no_slash.yml | 2 - .../trigger/minimal/tailing_slash.yml | 2 - .../project_path/trigger/project/empty.yml | 3 - .../trigger/project/invalid_variable.yml | 3 - .../trigger/project/leading_slash.yml | 3 - .../project_path/trigger/project/no_slash.yml | 3 - .../trigger/project/tailing_slash.yml | 3 - .../trigger_include.yml => trigger.yml} | 35 ++ .../components/delete_modal_spec.js | 71 ++++ .../package_list_row_spec.js.snap | 9 +- .../components/list/package_list_row_spec.js | 43 ++- .../components/list/packages_list_spec.js | 27 +- .../package_registry/mock_data.js | 28 ++ .../pages/__snapshots__/list_spec.js.snap | 8 +- .../package_registry/pages/list_spec.js | 88 ++++- spec/graphql/mutations/commits/create_spec.rb | 2 +- spec/initializers/memory_watchdog_spec.rb | 57 ++-- .../puma_worker_killer_initializer_spec.rb | 30 ++ .../transaction_leaking_spec.rb | 5 + .../importer/events/changed_label_spec.rb | 77 +++-- .../memory/watchdog/configurator_spec.rb | 12 + spec/models/factories_spec.rb | 2 + spec/services/search_service_spec.rb | 154 +-------- spec/support/helpers/stub_configuration.rb | 4 + ...redacted_search_results_shared_examples.rb | 304 ++++++++++++++++++ spec/views/search/show.html.haml_spec.rb | 10 +- yarn.lock | 8 +- 125 files changed, 1446 insertions(+), 737 deletions(-) create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/delete_modal.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/mutations/destroy_packages.mutation.graphql create mode 100644 app/assets/javascripts/packages_and_registries/settings/group/graphql/mutations/update_package_forwarding_settings.mutation.graphql create mode 100644 db/docs/dependency_proxy_blob_states.yml create mode 100644 db/migrate/20221018202524_create_dependency_proxy_blob_states.rb create mode 100644 db/schema_migrations/20221018202524 rename spec/frontend/editor/schema/ci/json_tests/negative_tests/{release_assets_links_invalid_link_type.json => release_assets_links.json} (52%) delete mode 100644 spec/frontend/editor/schema/ci/json_tests/negative_tests/release_assets_links_empty.json delete mode 100644 spec/frontend/editor/schema/ci/json_tests/negative_tests/release_assets_links_missing.json create mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/key_files_not_an_array.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/key_prefix_array.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/key_with_dot.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/key_with_multiple_dots.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/key_with_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/paths_not_an_array.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/untracked_string.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/when_integer.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/cache/when_not_reserved_keyword.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/minimal/empty.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/minimal/invalid_variable.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/minimal/leading_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/minimal/no_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/minimal/tailing_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/project/empty.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/project/invalid_variable.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/project/leading_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/project/no_slash.yml delete mode 100644 spec/frontend/editor/schema/ci/yaml_tests/negative_tests/project_path/trigger/project/tailing_slash.yml rename spec/frontend/editor/schema/ci/yaml_tests/negative_tests/{project_path/trigger/trigger_include.yml => trigger.yml} (52%) create mode 100644 spec/frontend/packages_and_registries/package_registry/components/delete_modal_spec.js create mode 100644 spec/lib/gitlab/cluster/puma_worker_killer_initializer_spec.rb create mode 100644 spec/support/shared_examples/features/search/redacted_search_results_shared_examples.rb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbf8265da85..936b9410a60 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -99,7 +99,7 @@ variables: GIT_SUBMODULE_STRATEGY: "none" GET_SOURCES_ATTEMPTS: "3" DEBIAN_VERSION: "bullseye" - CHROME_VERSION: "103" + CHROME_VERSION: "106" DOCKER_VERSION: "20.10.14" RUBY_VERSION: "2.7" GO_VERSION: "1.18" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 3c9a4b09b9b..2bb47c77ba5 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -2,7 +2,7 @@ # project here: https://gitlab.com/gitlab-org/gitlab/-/project_members # As described in https://docs.gitlab.com/ee/user/project/code_owners.html -* @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @nolith @jacobvosmaer-gitlab @gitlab-org/tw-leadership +* @gitlab-org/maintainers/rails-backend @gitlab-org/maintainers/frontend @gitlab-org/maintainers/database @gl-quality/qe-maintainers @gl-quality/tooling-maintainers @gitlab-org/delivery @gitlab-org/maintainers/cicd-templates @nolith @jacobvosmaer-gitlab @gitlab-org/tw-leadership CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership docs/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 0dbe58d1e10..4d120de277a 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -88,17 +88,6 @@ update-assets-compile-test-cache: - echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt" artifacts: {} # This job's purpose is only to update the cache. -# TODO: Remove this as it's duplicating update-assets-compile-*-cache -update-yarn-cache: - extends: - - .default-retry - - .default-utils-before_script - - .yarn-cache-push - - .shared:rules:update-cache - stage: prepare - script: - - yarn_install_script - update-storybook-yarn-cache: extends: - .default-retry diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 2c75c9a5a0f..d461183a2ca 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -219,23 +219,16 @@ - *node-modules-cache - *assets-tmp-cache -# TODO: Remove this as it's duplicating .assets-compile-cache-push -.yarn-cache-push: - cache: - - *node-modules-cache-push - .assets-compile-cache: cache: - *ruby-gems-cache - *node-modules-cache - - *assets-cache - *assets-tmp-cache .assets-compile-cache-push: cache: - *ruby-gems-cache # We don't push this cache as it's already rebuilt by `update-setup-test-env-cache` - *node-modules-cache-push - - *assets-cache-push - *assets-tmp-cache-push .storybook-yarn-cache: @@ -245,7 +238,7 @@ .storybook-yarn-cache-push: cache: - - *node-modules-cache # We don't push this cache as it's already rebuilt by `update-yarn-cache` + - *node-modules-cache # We don't push this cache as it's already rebuilt by `update-assets-compile-*-cache` - *storybook-node-modules-cache-push .use-pg11: diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index c631161aa08..69ce028987a 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -25,7 +25,7 @@ include: - cd qa && bundle install .review-qa-base: - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-git-2.33-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23 extends: - .use-docker-in-docker - .bundle-base diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index db0ceae2868..41d61f16d4c 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -856,6 +856,8 @@ .frontend:rules:minimal-default-rules: rules: + - <<: *if-merge-request-approved + when: never - <<: *if-automated-merge-request when: never - <<: *if-security-merge-request @@ -930,14 +932,16 @@ - <<: *if-merge-request-labels-run-all-jest - <<: *if-merge-request-labels-frontend-and-feature-flag - <<: *if-merge-request - changes: ["{package.json,yarn.lock}"] + changes: *frontend-dependency-patterns - <<: *if-merge-request changes: [".gitlab/ci/rules.gitlab-ci.yml", ".gitlab/ci/frontend.gitlab-ci.yml"] - <<: *if-automated-merge-request changes: *code-backstage-patterns - <<: *if-security-merge-request changes: *code-backstage-patterns - - <<: *if-default-branch-refs + - <<: *if-merge-request-not-approved + when: never + - <<: *if-default-refs changes: *code-backstage-patterns .frontend:rules:jest:minimal: @@ -950,7 +954,7 @@ - <<: *if-merge-request-labels-frontend-and-feature-flag when: never - <<: *if-merge-request - changes: ["{package.json,yarn.lock}"] + changes: *frontend-dependency-patterns when: never - <<: *if-merge-request changes: [".gitlab/ci/rules.gitlab-ci.yml", ".gitlab/ci/frontend.gitlab-ci.yml"] @@ -964,18 +968,24 @@ - <<: *if-merge-request-labels-as-if-foss - <<: *if-merge-request-labels-run-all-jest - <<: *if-merge-request - changes: ["{package.json,yarn.lock}"] + changes: *frontend-dependency-patterns - <<: *if-security-merge-request changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never + - <<: *if-merge-request + changes: *frontend-patterns-for-as-if-foss .frontend:rules:jest:minimal:as-if-foss: rules: - !reference [".strict-ee-only-rules", rules] - !reference [".frontend:rules:minimal-default-rules", rules] + - <<: *if-merge-request-labels-as-if-foss + when: never - <<: *if-merge-request-labels-run-all-jest when: never - <<: *if-merge-request - changes: ["{package.json,yarn.lock}"] + changes: *frontend-dependency-patterns when: never - <<: *if-fork-merge-request when: never diff --git a/.rubocop_todo/rails/lexically_scoped_action_filter.yml b/.rubocop_todo/rails/lexically_scoped_action_filter.yml index 9edc8f7ce58..dde0da13d3c 100644 --- a/.rubocop_todo/rails/lexically_scoped_action_filter.yml +++ b/.rubocop_todo/rails/lexically_scoped_action_filter.yml @@ -1,15 +1,13 @@ --- Rails/LexicallyScopedActionFilter: - # Offense count: 73 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/controllers/admin/groups_controller.rb' + - 'app/controllers/admin/hooks_controller.rb' - 'app/controllers/clusters/base_controller.rb' - 'app/controllers/clusters/clusters_controller.rb' - 'app/controllers/concerns/enforces_two_factor_authentication.rb' - 'app/controllers/concerns/integrations/actions.rb' - - 'app/controllers/concerns/multiple_boards_actions.rb' - 'app/controllers/concerns/oauth_applications.rb' - 'app/controllers/concerns/spammable_actions/captcha_check/html_format_actions_support.rb' - 'app/controllers/confirmations_controller.rb' @@ -17,14 +15,17 @@ Rails/LexicallyScopedActionFilter: - 'app/controllers/groups/group_members_controller.rb' - 'app/controllers/groups/milestones_controller.rb' - 'app/controllers/groups/runners_controller.rb' + - 'app/controllers/groups/settings/repository_controller.rb' - 'app/controllers/groups/uploads_controller.rb' - 'app/controllers/groups_controller.rb' - 'app/controllers/import/base_controller.rb' - 'app/controllers/oauth/applications_controller.rb' - 'app/controllers/passwords_controller.rb' + - 'app/controllers/projects/analytics/cycle_analytics/stages_controller.rb' - 'app/controllers/projects/badges_controller.rb' - 'app/controllers/projects/branches_controller.rb' - 'app/controllers/projects/environments_controller.rb' + - 'app/controllers/projects/hooks_controller.rb' - 'app/controllers/projects/incidents_controller.rb' - 'app/controllers/projects/issue_links_controller.rb' - 'app/controllers/projects/issues_controller.rb' @@ -36,6 +37,8 @@ Rails/LexicallyScopedActionFilter: - 'app/controllers/projects/project_members_controller.rb' - 'app/controllers/projects/prometheus/alerts_controller.rb' - 'app/controllers/projects/releases_controller.rb' + - 'app/controllers/projects/settings/integration_hook_logs_controller.rb' + - 'app/controllers/projects/settings/merge_requests_controller.rb' - 'app/controllers/projects/snippets_controller.rb' - 'app/controllers/projects/tags_controller.rb' - 'app/controllers/projects/todos_controller.rb' diff --git a/app/assets/javascripts/ci_variable_list/components/ci_variable_modal.vue b/app/assets/javascripts/ci_variable_list/components/ci_variable_modal.vue index 449b9d31dcb..346a038000e 100644 --- a/app/assets/javascripts/ci_variable_list/components/ci_variable_modal.vue +++ b/app/assets/javascripts/ci_variable_list/components/ci_variable_modal.vue @@ -297,6 +297,7 @@ export default { data-testid="pipeline-form-ci-variable-value" data-qa-selector="ci_variable_value_field" class="gl-font-monospace!" + spellcheck="false" /> diff --git a/app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_modal.vue b/app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_modal.vue index f49cd476cb2..fa90e0e3e6c 100644 --- a/app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_modal.vue +++ b/app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_modal.vue @@ -275,6 +275,7 @@ export default { data-testid="pipeline-form-ci-variable-value" data-qa-selector="ci_variable_value_field" class="gl-font-monospace!" + spellcheck="false" /> diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index bc49464a560..7bc75127876 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -471,8 +471,14 @@ export default { }, fetchData(toggleTree = true) { this.fetchDiffFilesMeta() - .then(({ real_size = 0 }) => { - this.diffFilesLength = parseInt(real_size, 10) || 0; + .then((data) => { + let realSize = 0; + + if (data) { + realSize = data.real_size; + } + + this.diffFilesLength = parseInt(realSize, 10) || 0; if (toggleTree) { this.setTreeDisplay(); } diff --git a/app/assets/javascripts/diffs/store/actions.js b/app/assets/javascripts/diffs/store/actions.js index 5234be44b05..c73012527a2 100644 --- a/app/assets/javascripts/diffs/store/actions.js +++ b/app/assets/javascripts/diffs/store/actions.js @@ -5,7 +5,7 @@ import { historyPushState, scrollToElement, } from '~/lib/utils/common_utils'; -import { createAlert } from '~/flash'; +import { createAlert, VARIANT_WARNING } from '~/flash'; import { diffViewerModes } from '~/ide/constants'; import axios from '~/lib/utils/axios_utils'; @@ -229,9 +229,17 @@ export const fetchDiffFilesMeta = ({ commit, state }) => { return data; }) - .catch(() => worker.terminate()); -}; + .catch((error) => { + worker.terminate(); + if (error.response.status === httpStatusCodes.NOT_FOUND) { + createAlert({ + message: __('Building your merge request. Wait a few moments, then refresh this page.'), + variant: VARIANT_WARNING, + }); + } + }); +}; export const fetchCoverageFiles = ({ commit, state }) => { const coveragePoll = new Poll({ resource: { diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/delete_modal.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/delete_modal.vue new file mode 100644 index 00000000000..2a1de2ae4a7 --- /dev/null +++ b/app/assets/javascripts/packages_and_registries/package_registry/components/delete_modal.vue @@ -0,0 +1,61 @@ + + + diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_list_row.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_list_row.vue index 7a000aca0f2..4553dd3421b 100644 --- a/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_list_row.vue +++ b/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_list_row.vue @@ -2,6 +2,7 @@ import { GlDropdown, GlDropdownItem, + GlFormCheckbox, GlIcon, GlSprintf, GlTooltipDirective, @@ -26,6 +27,7 @@ export default { components: { GlDropdown, GlDropdownItem, + GlFormCheckbox, GlIcon, GlSprintf, GlTruncate, @@ -45,6 +47,11 @@ export default { type: Object, required: true, }, + selected: { + type: Boolean, + default: false, + required: false, + }, }, computed: { packageType() { @@ -90,7 +97,15 @@ export default {