diff --git a/.gitattributes b/.gitattributes index 720e5f6254..1f5d554ef2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,4 @@ VERSION merge=ours Dangerfile gitlab-language=ruby -*.pdf filter=lfs diff=lfs merge=lfs -text *.rb diff=ruby workhorse/testdata/*.pdf -filter -diff -merge diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c6b84d393..689c05f487 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,8 +49,23 @@ workflow: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "maintenance"' variables: CRYSTALBALL: "true" + NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken" + # Run pipelines for ruby3 branch + - if: '$CI_COMMIT_BRANCH == "ruby3"' + variables: + RUBY_VERSION: "3.0" + NOTIFY_PIPELINE_FAILURE_CHANNEL: "f_ruby3" + OMNIBUS_GITLAB_RUBY3_BUILD: "true" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" + # This work around https://gitlab.com/gitlab-org/gitlab/-/issues/332411 whichs prevents usage of dependency proxy + # when pipeline is triggered by a project access token. + - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $GITLAB_USER_LOGIN =~ /project_\d+_bot\d*/' + variables: + GITLAB_DEPENDENCY_PROXY_ADDRESS: "" # For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + variables: + NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken" # For tags, create a pipeline. - if: '$CI_COMMIT_TAG' # If `$GITLAB_INTERNAL` isn't set, don't create a pipeline. @@ -63,7 +78,10 @@ workflow: variables: PG_VERSION: "12" - DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}.patched-golang-1.17-node-16.14-postgresql-${PG_VERSION}:rubygems-3.2-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36" + DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}.patched-golang-${GO_VERSION}-node-16.14-postgresql-${PG_VERSION}:rubygems-3.2-git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36" + # We set $GITLAB_DEPENDENCY_PROXY to another variable (since it's set at the group level and has higher precedence than .gitlab-ci.yml) + # so that we can override $GITLAB_DEPENDENCY_PROXY_ADDRESS in workflow rules. + GITLAB_DEPENDENCY_PROXY_ADDRESS: "${GITLAB_DEPENDENCY_PROXY}" RAILS_ENV: "test" NODE_ENV: "test" BUNDLE_WITHOUT: "production:development" @@ -80,6 +98,7 @@ variables: CHROME_VERSION: "103" DOCKER_VERSION: "20.10.14" RUBY_VERSION: "2.7" + GO_VERSION: "1.18" TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" @@ -92,7 +111,9 @@ variables: FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt + RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt + RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml JUNIT_RESULT_FILE: rspec/junit_rspec.xml JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 03fcfc4dd5..1ea65fe4de 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -2,11 +2,11 @@ # 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 @kwiebers @nolith @jacobvosmaer-gitlab +* @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 @kwiebers @nolith @jacobvosmaer-gitlab @gitlab-org/tw-leadership -CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn -docs/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn -.gitlab/CODEOWNERS @clefelhocz1 @timzallmann @cdu1 @wayne @dsatcher @sgoldstein @jeromezng @stanhu @susantacker @dianalogan @kpaizee @sselhorn +CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership +docs/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership +.gitlab/CODEOWNERS @gitlab-org/development-leaders @gitlab-org/tw-leadership ## Allows release tooling to update the Gitaly Version GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend @gitlab-org/delivery @@ -20,6 +20,14 @@ GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend /data/deprecations/*.yml /data/removals/*.yml +## Technical writing files that do need approval +/data/deprecations/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman +/data/removals/templates/ @marcel.amirault @gitlab-org/tw-leadership @sarahgerman +.markdownlint.yml @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership +/doc/.markdownlint/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership +/doc/.vale/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership +/lib/tasks/gitlab/tw/codeowners.rake @aqualls @gitlab-org/tw-leadership + ^[Backend] *.rb @gitlab-org/maintainers/rails-backend *.rake @gitlab-org/maintainers/rails-backend @@ -140,17 +148,18 @@ Dangerfile @gl-quality/eng-prod /ee/app/workers/clear_shared_runners_minutes_worker.rb @gitlab-org/maintainers/cicd-verify /ee/lib/**/ci/ @gitlab-org/maintainers/cicd-verify /ee/lib/ee/api/entities/merge_train.rb @gitlab-org/maintainers/cicd-verify -/**/javascripts/jobs/ @pburdette @jivanvl -/**/javascripts/pipelines/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres -/app/assets/javascripts/pipeline_new/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres -/app/assets/javascripts/ci_lint/ @f_caplette @bsandlin @mgandres -/app/assets/javascripts/ci_variable_list/ @pburdette @f_caplette @jivanvl @mfluharty @bsandlin @mgandres -/app/assets/javascripts/pipeline_schedules/ @pburdette @jivanvl -/app/assets/javascripts/pipeline_editor/ @f_caplette @bsandlin @mgandres -/ee/app/assets/javascripts/ci_minutes_usage/ @pburdette @jivanvl -/ee/app/assets/javascripts/usage_quotas/ci_minutes_usage/ @pburdette @jivanvl -/ee/app/assets/javascripts/usage_quotas/pipelines/ @pburdette @jivanvl -/ee/app/assets/javascripts/reports/ @mfluharty +/**/javascripts/jobs/ @gitlab-org/ci-cd/verify/frontend +/**/javascripts/pipelines/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/pipeline_new/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/ci_lint/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/ci_variable_list/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/pipeline_schedules/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/pipeline_editor/ @gitlab-org/ci-cd/verify/frontend +/app/assets/javascripts/runner/ @gitlab-org/ci-cd/verify/frontend +/ee/app/assets/javascripts/ci_minutes_usage/ @gitlab-org/ci-cd/verify/frontend +/ee/app/assets/javascripts/usage_quotas/ci_minutes_usage/ @gitlab-org/ci-cd/verify/frontend +/ee/app/assets/javascripts/usage_quotas/pipelines/ @gitlab-org/ci-cd/verify/frontend +/ee/app/assets/javascripts/reports/ @gitlab-org/ci-cd/verify/frontend ^[Templates] /lib/gitlab/ci/templates/ @gitlab-org/maintainers/cicd-templates @@ -333,19 +342,18 @@ ee/lib/ee/gitlab/checks/** @proglottis @toon @zj-gitlab lib/gitlab/checks/** @proglottis @toon @zj-gitlab ^[Documentation Directories] -.markdownlint.yml @marcel.amirault @eread @aqualls @dianalogan @kpaizee /doc/ @gl-docsteam -/doc/.markdownlint/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee -/doc/.vale/ @marcel.amirault @eread @aqualls @dianalogan @kpaizee +/data/deprecations/ @gl-docsteam +/data/removals/ @gl-docsteam ^[Documentation Pages] /doc/administration/application_settings_cache.md @sselhorn /doc/administration/audit_event_streaming.md @eread /doc/administration/audit_events.md @eread /doc/administration/audit_reports.md @eread -/doc/administration/auditor_users.md @eread -/doc/administration/auth/ @eread -/doc/administration/auth/ldap/ @eread +/doc/administration/auditor_users.md @jglassman1 +/doc/administration/auth/ @jglassman1 +/doc/administration/auth/ldap/ @jglassman1 /doc/administration/cicd.md @marcel.amirault /doc/administration/clusters/ @phillipwells /doc/administration/compliance.md @eread @@ -374,7 +382,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/integration/kroki.md @msedlakjakubowski /doc/administration/integration/mailgun.md @msedlakjakubowski /doc/administration/integration/plantuml.md @aqualls -/doc/administration/integration/terminal.md @ashrafkhamis +/doc/administration/integration/terminal.md @phillipwells /doc/administration/invalidate_markdown_cache.md @msedlakjakubowski /doc/administration/issue_closing_pattern.md @aqualls /doc/administration/job_artifacts.md @marcel.amirault @@ -382,11 +390,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/lfs/ @aqualls /doc/administration/libravatar.md @axil /doc/administration/load_balancer.md @axil +/doc/administration/logs/ @axil /doc/administration/logs/index.md @msedlakjakubowski -/doc/administration/logs/log_parsing.md @axil -/doc/administration/logs/tracing_correlation_id.md @axil /doc/administration/maintenance_mode/ @axil -/doc/administration/merge_request_diffs.md @aqualls +/doc/administration/merge_request_diffs.md @ashrafkhamis /doc/administration/monitoring/ @msedlakjakubowski /doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski /doc/administration/monitoring/ip_allowlist.md @sselhorn @@ -401,12 +408,13 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/operations/moving_repositories.md @eread /doc/administration/package_information/ @axil /doc/administration/packages/ @claytoncornell -/doc/administration/pages/ @aqualls +/doc/administration/pages/ @ashrafkhamis /doc/administration/polling.md @axil /doc/administration/postgresql/ @aqualls /doc/administration/raketasks/ @axil -/doc/administration/raketasks/ldap.md @eread +/doc/administration/raketasks/ldap.md @jglassman1 /doc/administration/raketasks/praefect.md @eread +/doc/administration/raketasks/uploads/ @axil /doc/administration/read_only_gitlab.md @axil /doc/administration/redis/ @axil /doc/administration/reference_architectures/ @axil @@ -418,25 +426,26 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/restart_gitlab.md @axil /doc/administration/server_hooks.md @eread /doc/administration/sidekiq/ @axil +/doc/administration/sidekiq/sidekiq_memory_killer.md @sselhorn /doc/administration/smime_signing_email.md @axil -/doc/administration/snippets/ @aqualls -/doc/administration/static_objects_external_storage.md @aqualls +/doc/administration/snippets/ @ashrafkhamis +/doc/administration/static_objects_external_storage.md @ashrafkhamis /doc/administration/system_hooks.md @ashrafkhamis /doc/administration/terraform_state.md @phillipwells /doc/administration/timezone.md @axil /doc/administration/troubleshooting/ @axil /doc/administration/troubleshooting/postgresql.md @aqualls /doc/administration/uploads.md @axil -/doc/administration/user_settings.md @eread -/doc/administration/wikis/ @aqualls -/doc/api/access_requests.md @eread +/doc/administration/user_settings.md @jglassman1 +/doc/administration/wikis/ @ashrafkhamis +/doc/api/access_requests.md @jglassman1 /doc/api/admin_sidekiq_queues.md @axil /doc/api/alert_management_alerts.md @msedlakjakubowski /doc/api/api_resources.md @ashrafkhamis -/doc/api/appearance.md @eread -/doc/api/applications.md @eread +/doc/api/appearance.md @jglassman1 +/doc/api/applications.md @jglassman1 /doc/api/audit_events.md @eread -/doc/api/avatar.md @eread +/doc/api/avatar.md @jglassman1 /doc/api/award_emoji.md @msedlakjakubowski /doc/api/boards.md @msedlakjakubowski /doc/api/branches.md @aqualls @@ -445,7 +454,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/cluster_agents.md @phillipwells /doc/api/commits.md @aqualls /doc/api/container_registry.md @claytoncornell -/doc/api/custom_attributes.md @ashrafkhamis +/doc/api/custom_attributes.md @msedlakjakubowski /doc/api/dependencies.md @rdickenson /doc/api/dependency_proxy.md @claytoncornell /doc/api/deploy_keys.md @rdickenson @@ -466,10 +475,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/features.md @rdickenson /doc/api/freeze_periods.md @rdickenson /doc/api/geo_nodes.md @axil -/doc/api/graphql/ @ashrafkhamis +/doc/api/graphql/audit_report.md @eread /doc/api/graphql/custom_emoji.md @msedlakjakubowski +/doc/api/graphql/getting_started.md @ashrafkhamis +/doc/api/graphql/index.md @ashrafkhamis +/doc/api/graphql/reference/ @ashrafkhamis +/doc/api/graphql/removed_items.md @ashrafkhamis /doc/api/graphql/sample_issue_boards.md @msedlakjakubowski -/doc/api/group_access_tokens.md @eread +/doc/api/graphql/users_example.md @jglassman1 +/doc/api/group_access_tokens.md @jglassman1 /doc/api/group_activity_analytics.md @fneill /doc/api/group_badges.md @fneill /doc/api/group_boards.md @msedlakjakubowski @@ -482,8 +496,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/group_protected_environments.md @rdickenson /doc/api/group_relations_export.md @eread /doc/api/group_releases.md @rdickenson -/doc/api/group_repository_storage_moves.md @aqualls -/doc/api/group_wikis.md @aqualls +/doc/api/group_repository_storage_moves.md @ashrafkhamis +/doc/api/group_wikis.md @ashrafkhamis /doc/api/groups.md @fneill /doc/api/import.md @eread /doc/api/index.md @ashrafkhamis @@ -504,30 +518,31 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/lint.md @marcel.amirault /doc/api/managed_licenses.md @fneill /doc/api/markdown.md @msedlakjakubowski -/doc/api/members.md @eread +/doc/api/members.md @jglassman1 /doc/api/merge_request_approvals.md @aqualls /doc/api/merge_request_context_commits.md @aqualls /doc/api/merge_requests.md @aqualls /doc/api/merge_trains.md @marcel.amirault -/doc/api/metadata.md @ashrafkhamis +/doc/api/metadata.md @phillipwells /doc/api/metrics_dashboard_annotations.md @msedlakjakubowski /doc/api/metrics_user_starred_dashboards.md @msedlakjakubowski /doc/api/milestones.md @msedlakjakubowski -/doc/api/namespaces.md @eread +/doc/api/namespaces.md @jglassman1 /doc/api/notes.md @msedlakjakubowski /doc/api/notification_settings.md @msedlakjakubowski -/doc/api/oauth2.md @eread +/doc/api/oauth2.md @jglassman1 /doc/api/openapi/ @ashrafkhamis /doc/api/packages.md @claytoncornell /doc/api/packages/ @claytoncornell -/doc/api/pages.md @aqualls -/doc/api/pages_domains.md @aqualls +/doc/api/pages.md @ashrafkhamis +/doc/api/pages_domains.md @ashrafkhamis /doc/api/personal_access_tokens.md @eread /doc/api/pipeline_schedules.md @marcel.amirault /doc/api/pipeline_triggers.md @marcel.amirault /doc/api/pipelines.md @marcel.amirault -/doc/api/plan_limits.md @eread -/doc/api/project_access_tokens.md @eread +/doc/api/plan_limits.md @jglassman1 +/doc/api/product_analytics.md @lciutacu +/doc/api/project_access_tokens.md @jglassman1 /doc/api/project_aliases.md @aqualls /doc/api/project_badges.md @aqualls /doc/api/project_clusters.md @phillipwells @@ -535,7 +550,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/project_level_variables.md @marcel.amirault /doc/api/project_relations_export.md @eread /doc/api/project_repository_storage_moves.md @eread -/doc/api/project_snippets.md @aqualls +/doc/api/project_snippets.md @ashrafkhamis /doc/api/project_statistics.md @aqualls /doc/api/project_templates.md @aqualls /doc/api/project_vulnerabilities.md @aqualls @@ -555,14 +570,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/resource_state_events.md @msedlakjakubowski /doc/api/resource_weight_events.md @msedlakjakubowski /doc/api/runners.md @sselhorn -/doc/api/scim.md @eread -/doc/api/search.md @aqualls +/doc/api/saml.md @jglassman1 +/doc/api/scim.md @jglassman1 +/doc/api/search.md @ashrafkhamis /doc/api/secure_files.md @marcel.amirault -/doc/api/settings.md @eread +/doc/api/settings.md @jglassman1 /doc/api/sidekiq_metrics.md @axil -/doc/api/snippet_repository_storage_moves.md @aqualls -/doc/api/snippets.md @aqualls -/doc/api/statistics.md @eread +/doc/api/snippet_repository_storage_moves.md @ashrafkhamis +/doc/api/snippets.md @ashrafkhamis +/doc/api/statistics.md @jglassman1 /doc/api/status_checks.md @eread /doc/api/suggestions.md @aqualls /doc/api/system_hooks.md @ashrafkhamis @@ -574,17 +590,19 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/todos.md @msedlakjakubowski /doc/api/topics.md @fneill /doc/api/usage_data.md @claytoncornell -/doc/api/users.md @eread -/doc/api/version.md @ashrafkhamis +/doc/api/users.md @jglassman1 +/doc/api/version.md @phillipwells /doc/api/visual_review_discussions.md @marcel.amirault /doc/api/vulnerabilities.md @claytoncornell /doc/api/vulnerability_exports.md @claytoncornell /doc/api/vulnerability_findings.md @claytoncornell -/doc/api/wikis.md @aqualls +/doc/api/wikis.md @ashrafkhamis +/doc/architecture/blueprints/ci_pipeline_components/ @marcel.amirault /doc/architecture/blueprints/container_registry_metadata_database/ @claytoncornell /doc/architecture/blueprints/database/scalability/patterns/ @aqualls /doc/architecture/blueprints/database_scaling/ @aqualls /doc/architecture/blueprints/gitlab_to_kubernetes_communication/ @phillipwells +/doc/architecture/blueprints/work_items/ @msedlakjakubowski /doc/ci/ @marcel.amirault /doc/ci/caching/ @marcel.amirault /doc/ci/chatops/ @phillipwells @@ -596,17 +614,14 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/ci/cloud_services/azure/ @marcel.amirault /doc/ci/cloud_services/google_cloud/ @marcel.amirault /doc/ci/directed_acyclic_graph/ @marcel.amirault -/doc/ci/docker/index.md @marcel.amirault -/doc/ci/docker/using_docker_build.md @marcel.amirault +/doc/ci/docker/ @marcel.amirault /doc/ci/docker/using_docker_images.md @sselhorn -/doc/ci/docker/using_kaniko.md @marcel.amirault /doc/ci/environments/ @rdickenson +/doc/ci/examples/ @marcel.amirault /doc/ci/examples/authenticating-with-hashicorp-vault/ @marcel.amirault /doc/ci/examples/deployment/ @rdickenson /doc/ci/examples/end_to_end_testing_webdriverio/ @marcel.amirault -/doc/ci/examples/index.md @marcel.amirault /doc/ci/examples/laravel_with_gitlab_and_envoy/ @marcel.amirault -/doc/ci/examples/php.md @marcel.amirault /doc/ci/examples/semantic-release.md @claytoncornell /doc/ci/interactive_web_terminal/ @sselhorn /doc/ci/introduction/ @marcel.amirault @@ -640,7 +655,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/build_test_package.md @axil /doc/development/bulk_import.md @eread /doc/development/cached_queries.md @sselhorn -/doc/development/cascading_settings.md @eread +/doc/development/cascading_settings.md @jglassman1 /doc/development/chatops_on_gitlabcom.md @phillipwells /doc/development/cicd/ @marcel.amirault /doc/development/code_intelligence/ @aqualls @@ -659,11 +674,12 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/elasticsearch.md @ashrafkhamis /doc/development/experiment_guide/ @phillipwells /doc/development/export_csv.md @eread -/doc/development/fe_guide/content_editor.md @aqualls +/doc/development/fe_guide/content_editor.md @ashrafkhamis +/doc/development/fe_guide/customizable_dashboards.md @lciutacu /doc/development/fe_guide/dark_mode.md @sselhorn /doc/development/fe_guide/graphql.md @sselhorn /doc/development/fe_guide/merge_request_widget_extensions.md @aqualls -/doc/development/fe_guide/source_editor.md @aqualls +/doc/development/fe_guide/source_editor.md @ashrafkhamis /doc/development/fe_guide/view_component.md @rdickenson /doc/development/feature_categorization/ @sselhorn /doc/development/feature_development.md @sselhorn @@ -673,19 +689,19 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/geo/ @axil /doc/development/git_object_deduplication.md @eread /doc/development/gitaly.md @eread -/doc/development/gitlab_flavored_markdown/ @aqualls -/doc/development/gitlab_flavored_markdown/specification_guide/ @aqualls +/doc/development/gitlab_flavored_markdown/ @ashrafkhamis +/doc/development/gitlab_flavored_markdown/specification_guide/ @ashrafkhamis +/doc/development/graphql_guide/ @ashrafkhamis /doc/development/graphql_guide/batchloader.md @aqualls -/doc/development/graphql_guide/graphql_pro.md @ashrafkhamis -/doc/development/graphql_guide/index.md @ashrafkhamis -/doc/development/graphql_guide/monitoring.md @ashrafkhamis -/doc/development/graphql_guide/pagination.md @ashrafkhamis /doc/development/i18n/ @eread /doc/development/image_scaling.md @sselhorn /doc/development/import_export.md @eread /doc/development/index.md @sselhorn -/doc/development/integrations/ @ashrafkhamis -/doc/development/integrations/secure.md @claytoncornell +/doc/development/integrations/codesandbox.md @sselhorn +/doc/development/integrations/index.md @ashrafkhamis +/doc/development/integrations/jenkins.md @ashrafkhamis +/doc/development/integrations/jira_connect.md @ashrafkhamis +/doc/development/integrations/secure.md @rdickenson /doc/development/integrations/secure_partner_integration.md @rdickenson /doc/development/internal_api/ @aqualls /doc/development/internal_users.md @sselhorn @@ -698,9 +714,9 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/merge_request_concepts/ @aqualls /doc/development/omnibus.md @axil /doc/development/packages/ @claytoncornell -/doc/development/pages/ @aqualls -/doc/development/permissions.md @eread -/doc/development/policies.md @eread +/doc/development/pages/ @ashrafkhamis +/doc/development/permissions.md @jglassman1 +/doc/development/policies.md @jglassman1 /doc/development/product_qualified_lead_guide/ @phillipwells /doc/development/project_templates.md @fneill /doc/development/prometheus_metrics.md @msedlakjakubowski @@ -709,14 +725,14 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/secure_coding_guidelines.md @sselhorn /doc/development/service_ping/ @claytoncornell /doc/development/snowplow/ @claytoncornell -/doc/development/spam_protection_and_captcha/ @eread +/doc/development/spam_protection_and_captcha/ @jglassman1 /doc/development/sql.md @aqualls /doc/development/testing_guide/ @sselhorn /doc/development/testing_guide/contract/ @sselhorn /doc/development/testing_guide/end_to_end/ @sselhorn /doc/development/value_stream_analytics.md @fneill /doc/development/value_stream_analytics/ @fneill -/doc/development/wikis.md @aqualls +/doc/development/wikis.md @ashrafkhamis /doc/development/work_items.md @msedlakjakubowski /doc/development/work_items_widgets.md @msedlakjakubowski /doc/development/workhorse/ @aqualls @@ -727,43 +743,25 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/install/ @axil /doc/install/aws/ @axil /doc/install/azure/ @axil -/doc/install/cloud_native/ @axil /doc/install/google_cloud_platform/ @axil +/doc/install/migrate/ @axil /doc/install/openshift_and_gitlab/ @axil +/doc/integration/ @jglassman1 /doc/integration/advanced_search/ @ashrafkhamis -/doc/integration/akismet.md @ashrafkhamis -/doc/integration/alicloud.md @eread +/doc/integration/akismet.md @phillipwells /doc/integration/arkose.md @phillipwells -/doc/integration/auth0.md @eread -/doc/integration/azure.md @eread -/doc/integration/bitbucket.md @eread -/doc/integration/cas.md @eread /doc/integration/datadog.md @ashrafkhamis -/doc/integration/ding_talk.md @eread /doc/integration/external-issue-tracker.md @ashrafkhamis -/doc/integration/facebook.md @eread -/doc/integration/github.md @eread -/doc/integration/gitlab.md @eread -/doc/integration/gitpod.md @aqualls +/doc/integration/gitpod.md @ashrafkhamis /doc/integration/gmail_action_buttons_for_gitlab.md @ashrafkhamis -/doc/integration/google.md @eread /doc/integration/index.md @ashrafkhamis /doc/integration/jenkins.md @ashrafkhamis /doc/integration/jira/ @ashrafkhamis -/doc/integration/kerberos.md @eread /doc/integration/mattermost/ @axil -/doc/integration/oauth2_generic.md @eread -/doc/integration/oauth_provider.md @eread -/doc/integration/omniauth.md @eread -/doc/integration/openid_connect_provider.md @eread -/doc/integration/recaptcha.md @ashrafkhamis -/doc/integration/salesforce.md @eread -/doc/integration/saml.md @eread /doc/integration/security_partners/ @rdickenson /doc/integration/slash_commands.md @ashrafkhamis /doc/integration/sourcegraph.md @aqualls /doc/integration/trello_power_up.md @ashrafkhamis -/doc/integration/twitter.md @eread /doc/integration/vault.md @phillipwells /doc/operations/error_tracking.md msedlakjakubowski /doc/operations/feature_flags.md @rdickenson @@ -771,22 +769,23 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/operations/index.md @msedlakjakubowski /doc/operations/metrics/ @msedlakjakubowski /doc/operations/metrics/dashboards/ @msedlakjakubowski -/doc/operations/product_analytics.md @claytoncornell +/doc/operations/product_analytics.md @lciutacu /doc/operations/tracing.md @msedlakjakubowski /doc/policy/ @axil /doc/raketasks/ @axil /doc/raketasks/generate_sample_prometheus_data.md @msedlakjakubowski -/doc/raketasks/migrate_snippets.md @aqualls +/doc/raketasks/migrate_snippets.md @ashrafkhamis /doc/raketasks/spdx.md @rdickenson /doc/raketasks/x509_signatures.md @aqualls -/doc/security/ @eread +/doc/security/ @jglassman1 /doc/subscriptions/ @fneill /doc/subscriptions/gitlab_com/ @fneill /doc/subscriptions/gitlab_dedicated/ @axil /doc/subscriptions/self_managed/ @fneill -/doc/topics/authentication/ @eread +/doc/topics/authentication/ @jglassman1 /doc/topics/autodevops/ @phillipwells /doc/topics/autodevops/cloud_deployments/ @phillipwells +/doc/topics/awesome_co.md @rdickenson /doc/topics/git/ @aqualls /doc/topics/git/how_to_install_git/ @aqualls /doc/topics/git/lfs/ @aqualls @@ -801,7 +800,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/update/upgrading_postgresql_using_slony.md @aqualls /doc/user/admin_area/analytics/ @fneill /doc/user/admin_area/broadcast_messages.md @phillipwells -/doc/user/admin_area/credentials_inventory.md @eread +/doc/user/admin_area/credentials_inventory.md @jglassman1 /doc/user/admin_area/custom_project_templates.md @eread /doc/user/admin_area/diff_limits.md @aqualls /doc/user/admin_area/geo_sites.md @axil @@ -809,17 +808,17 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/admin_area/license.md @fneill /doc/user/admin_area/license_file.md @fneill /doc/user/admin_area/merge_requests_approvals.md @aqualls -/doc/user/admin_area/moderate_users.md @eread +/doc/user/admin_area/moderate_users.md @jglassman1 /doc/user/admin_area/monitoring/background_migrations.md @aqualls /doc/user/admin_area/monitoring/health_check.md @msedlakjakubowski /doc/user/admin_area/reporting/git_abuse_rate_limit.md @phillipwells /doc/user/admin_area/reporting/spamcheck.md @axil -/doc/user/admin_area/review_abuse_reports.md @eread +/doc/user/admin_area/review_abuse_reports.md @jglassman1 /doc/user/admin_area/settings/account_and_limit_settings.md @aqualls /doc/user/admin_area/settings/continuous_integration.md @marcel.amirault /doc/user/admin_area/settings/deprecated_api_rate_limits.md @aqualls /doc/user/admin_area/settings/email.md @msedlakjakubowski -/doc/user/admin_area/settings/external_authorization.md @eread +/doc/user/admin_area/settings/external_authorization.md @jglassman1 /doc/user/admin_area/settings/files_api_rate_limits.md @aqualls /doc/user/admin_area/settings/git_lfs_rate_limits.md @aqualls /doc/user/admin_area/settings/gitaly_timeouts.md @eread @@ -833,15 +832,15 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/admin_area/settings/rate_limit_on_issues_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_notes_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @marcel.amirault -/doc/user/admin_area/settings/rate_limit_on_users_api.md @eread +/doc/user/admin_area/settings/rate_limit_on_users_api.md @jglassman1 /doc/user/admin_area/settings/third_party_offers.md @fneill /doc/user/admin_area/settings/usage_statistics.md @claytoncornell /doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls -/doc/user/analytics/ci_cd_analytics.md @rdickenson /doc/user/analytics/ @fneill +/doc/user/analytics/ci_cd_analytics.md @rdickenson /doc/user/application_security/api_fuzzing/ @rdickenson /doc/user/application_security/configuration/ @rdickenson -/doc/user/application_security/container_scanning/ @claytoncornell +/doc/user/application_security/container_scanning/ @rdickenson /doc/user/application_security/coverage_fuzzing/ @rdickenson /doc/user/application_security/cve_id_request.md @claytoncornell /doc/user/application_security/dast/ @rdickenson @@ -874,23 +873,22 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/discussions/ @aqualls /doc/user/feature_flags.md @sselhorn /doc/user/free_user_limit.md @phillipwells -/doc/user/group/access_and_permissions.md @fneill +/doc/user/group/ @fneill /doc/user/group/clusters/ @phillipwells /doc/user/group/contribution_analytics/ @fneill /doc/user/group/custom_project_templates.md @eread /doc/user/group/devops_adoption/ @fneill /doc/user/group/epics/ @msedlakjakubowski /doc/user/group/import/ @eread -/doc/user/group/index.md @fneill /doc/user/group/insights/ @fneill /doc/user/group/issues_analytics/ @msedlakjakubowski /doc/user/group/iterations/ @msedlakjakubowski -/doc/user/group/manage.md @fneill /doc/user/group/planning_hierarchy/ @msedlakjakubowski /doc/user/group/repositories_analytics/ @marcel.amirault /doc/user/group/roadmap/ @msedlakjakubowski -/doc/user/group/saml_sso/ @eread -/doc/user/group/settings/ @eread +/doc/user/group/saml_sso/ @jglassman1 +/doc/user/group/settings/group_access_tokens.md @jglassman1 +/doc/user/group/settings/import_export.md @eread /doc/user/group/subgroups/ @fneill /doc/user/group/value_stream_analytics/ @fneill /doc/user/infrastructure/ @phillipwells @@ -898,10 +896,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/infrastructure/clusters/connect/ @phillipwells /doc/user/infrastructure/clusters/deploy/ @phillipwells /doc/user/infrastructure/clusters/manage/ @phillipwells -/doc/user/infrastructure/clusters/manage/management_project_applications/certmanager.md @phillipwells -/doc/user/infrastructure/clusters/manage/management_project_applications/ingress.md @phillipwells +/doc/user/infrastructure/clusters/manage/management_project_applications/ @phillipwells /doc/user/infrastructure/clusters/manage/management_project_applications/runner.md @sselhorn -/doc/user/infrastructure/clusters/manage/management_project_applications/vault.md @phillipwells /doc/user/infrastructure/iac/ @phillipwells /doc/user/markdown.md @aqualls /doc/user/namespace/ @fneill @@ -913,6 +909,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/packages/dependency_proxy/ @claytoncornell /doc/user/packages/generic_packages/ @claytoncornell /doc/user/packages/go_proxy/ @claytoncornell +/doc/user/packages/harbor_container_registry/ @claytoncornell /doc/user/packages/helm_repository/ @claytoncornell /doc/user/packages/infrastructure_registry/ @phillipwells /doc/user/packages/maven_repository/ @claytoncornell @@ -923,68 +920,67 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/packages/rubygems_registry/ @claytoncornell /doc/user/packages/terraform_module_registry/ @phillipwells /doc/user/packages/workflows/ @claytoncornell -/doc/user/permissions.md @eread -/doc/user/profile/account/ @eread -/doc/user/profile/index.md @eread +/doc/user/permissions.md @jglassman1 +/doc/user/profile/ @jglassman1 +/doc/user/profile/account/ @jglassman1 /doc/user/profile/notifications.md @msedlakjakubowski -/doc/user/profile/personal_access_tokens.md @eread -/doc/user/profile/unknown_sign_in_notification.md @eread -/doc/user/project/autocomplete_characters.md @aqualls -/doc/user/project/badges.md @aqualls +/doc/user/project/ @aqualls /doc/user/project/clusters/ @phillipwells /doc/user/project/clusters/runbooks/ @phillipwells -/doc/user/project/code_intelligence.md @aqualls -/doc/user/project/code_owners.md @aqualls /doc/user/project/deploy_boards.md @rdickenson /doc/user/project/deploy_keys/ @rdickenson /doc/user/project/deploy_tokens/ @rdickenson /doc/user/project/description_templates.md @msedlakjakubowski -/doc/user/project/file_lock.md @aqualls -/doc/user/project/git_attributes.md @aqualls -/doc/user/project/highlighting.md @aqualls /doc/user/project/import/ @eread /doc/user/project/import/jira.md @msedlakjakubowski /doc/user/project/index.md @fneill +/doc/user/project/insights/ @fneill /doc/user/project/integrations/ @ashrafkhamis /doc/user/project/integrations/prometheus.md @msedlakjakubowski /doc/user/project/integrations/prometheus_library/ @msedlakjakubowski /doc/user/project/issue_board.md @msedlakjakubowski /doc/user/project/issues/ @msedlakjakubowski /doc/user/project/issues/csv_import.md @eread +/doc/user/project/labels.md @msedlakjakubowski /doc/user/project/members/ @fneill /doc/user/project/merge_requests/ @aqualls /doc/user/project/merge_requests/approvals/ @aqualls /doc/user/project/merge_requests/csv_export.md @eread +/doc/user/project/merge_requests/methods/ @aqualls +/doc/user/project/merge_requests/reviews/ @aqualls /doc/user/project/merge_requests/status_checks.md @eread /doc/user/project/milestones/ @msedlakjakubowski -/doc/user/project/pages/ @aqualls -/doc/user/project/pages/custom_domains_ssl_tls_certification/ @aqualls -/doc/user/project/pages/getting_started/ @aqualls -/doc/user/project/protected_branches.md @aqualls -/doc/user/project/protected_tags.md @aqualls -/doc/user/project/push_options.md @aqualls +/doc/user/project/pages/ @ashrafkhamis +/doc/user/project/pages/custom_domains_ssl_tls_certification/ @ashrafkhamis +/doc/user/project/pages/getting_started/ @ashrafkhamis /doc/user/project/quick_actions.md @msedlakjakubowski /doc/user/project/releases/ @rdickenson /doc/user/project/repository/ @aqualls /doc/user/project/repository/branches/ @aqualls +/doc/user/project/repository/file_finder.md @ashrafkhamis +/doc/user/project/repository/gpg_signed_commits/ @aqualls +/doc/user/project/repository/jupyter_notebooks/ @aqualls /doc/user/project/repository/managing_large_repositories.md @axil +/doc/user/project/repository/mirror/ @aqualls /doc/user/project/repository/reducing_the_repo_size_using_git.md @eread +/doc/user/project/repository/web_editor.md @ashrafkhamis +/doc/user/project/repository/x509_signed_commits/ @aqualls /doc/user/project/requirements/ @msedlakjakubowski /doc/user/project/service_desk.md @msedlakjakubowski /doc/user/project/settings/import_export.md @eread /doc/user/project/settings/index.md @fneill -/doc/user/project/settings/project_access_tokens.md @eread +/doc/user/project/settings/project_access_tokens.md @jglassman1 /doc/user/project/time_tracking.md @msedlakjakubowski -/doc/user/project/web_ide/ @aqualls -/doc/user/project/wiki/ @aqualls +/doc/user/project/web_ide/ @ashrafkhamis +/doc/user/project/wiki/ @ashrafkhamis /doc/user/project/working_with_projects.md @fneill /doc/user/public_access.md @fneill /doc/user/reserved_names.md @fneill /doc/user/search/ @ashrafkhamis /doc/user/search/global_search/ @ashrafkhamis -/doc/user/shortcuts.md @aqualls -/doc/user/snippets.md @aqualls -/doc/user/ssh.md @eread +/doc/user/shortcuts.md @ashrafkhamis +/doc/user/snippets.md @ashrafkhamis +/doc/user/ssh.md @jglassman1 /doc/user/tasks.md @msedlakjakubowski /doc/user/todos.md @msedlakjakubowski /doc/user/usage_quotas.md @fneill diff --git a/.gitlab/ci/_skip.yml b/.gitlab/ci/_skip.yml index 27a3ff5b83..9d3745cf2f 100644 --- a/.gitlab/ci/_skip.yml +++ b/.gitlab/ci/_skip.yml @@ -1,7 +1,7 @@ # no-op pipeline template for skipping whole child pipeline execution no-op: - image: ${GITLAB_DEPENDENCY_PROXY}alpine:latest + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:latest stage: test variables: GIT_STRATEGY: none diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 1b041c9af3..3c7056a92c 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -15,27 +15,7 @@ build-qa-image: stage: build-images needs: [] script: - # Tag with commit SHA by default - - export QA_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}" - # For branches, tag with slugified branch name. For tags, use the tag directly - - export QA_IMAGE_BRANCH="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_TAG:-$CI_COMMIT_REF_SLUG}" - # Auto-deploy tag format uses first 12 letters of commit SHA. Tag with that - # reference also - - export QA_IMAGE_FOR_AUTO_DEPLOY="${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA:0:11}" - - echo $QA_IMAGE - - echo $QA_IMAGE_BRANCH - - echo $QA_IMAGE_FOR_AUTO_DEPLOY - - | - /kaniko/executor \ - --context=${CI_PROJECT_DIR} \ - --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \ - --destination=${QA_IMAGE} \ - --destination=${QA_IMAGE_BRANCH} \ - --destination=${QA_IMAGE_FOR_AUTO_DEPLOY} \ - --build-arg=CHROME_VERSION=${CHROME_VERSION} \ - --build-arg=DOCKER_VERSION=${DOCKER_VERSION} \ - --build-arg=QA_BUILD_TARGET=${QA_BUILD_TARGET:-qa} \ - --cache=true + - ./scripts/build_qa_image # This image is used by: # - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335 diff --git a/.gitlab/ci/caching.gitlab-ci.yml b/.gitlab/ci/caching.gitlab-ci.yml new file mode 100644 index 0000000000..6a13fc3c56 --- /dev/null +++ b/.gitlab/ci/caching.gitlab-ci.yml @@ -0,0 +1,65 @@ +cache-workhorse: + extends: + - .default-retry + - .default-before_script + - .rails-cache + - .setup-test-env-cache + - .caching:rules:cache-workhorse + stage: prepare + variables: + SETUP_DB: "false" + script: + - source scripts/gitlab_component_helpers.sh + - 'gitlab_workhorse_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }' + - run_timed_command "scripts/setup-test-env" + - run_timed_command "select_gitlab_workhorse_essentials" + - run_timed_command "create_gitlab_workhorse_package" + - run_timed_command "upload_gitlab_workhorse_package" + artifacts: + expire_in: 7d + paths: + - ${TMP_TEST_GITLAB_WORKHORSE_PATH}/ + +.cache-assets-base: + extends: + - .compile-assets-base + - .assets-compile-cache + - .caching:rules:cache-assets + stage: prepare + variables: + WEBPACK_REPORT: "false" + script: + - yarn_install_script + - export GITLAB_ASSETS_HASH=$(bundle exec rake gitlab:assets:hash_sum) + - source scripts/gitlab_component_helpers.sh + - 'gitlab_assets_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }' + - assets_compile_script + - echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt" + - run_timed_command "create_gitlab_assets_package" + - run_timed_command "upload_gitlab_assets_package" + +cache-assets:test: + extends: .cache-assets-base + +cache-assets:test as-if-foss: + extends: + - .cache-assets-base + - .as-if-foss + +cache-assets:production: + extends: .cache-assets-base + variables: + NODE_ENV: "production" + RAILS_ENV: "production" + +packages-cleanup: + extends: + - .default-retry + - .caching:rules:packages-cleanup + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} + stage: prepare + before_script: + - source scripts/utils.sh + - install_gitlab_gem + script: + - scripts/packages/automated_cleanup.rb diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index 7e15717118..022f1c17a9 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -2,7 +2,7 @@ extends: - .default-retry - .docs:rules:review-docs - image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-alpine stage: review needs: [] variables: diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 3bd65b565e..085c0aa890 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -1,11 +1,3 @@ -.yarn-install: &yarn-install - - source scripts/utils.sh - - run_timed_command "retry yarn install --frozen-lockfile" - -.storybook-yarn-install: &storybook-yarn-install - - source scripts/utils.sh - - run_timed_command "retry yarn run storybook:install --frozen-lockfile" - .compile-assets-base: extends: - .default-retry @@ -21,9 +13,16 @@ WEBPACK_COMPILE_LOG_PATH: "tmp/webpack-output.log" stage: prepare script: - - *yarn-install - - run_timed_command "bin/rake gitlab:assets:compile" - - run_timed_command "scripts/clean-old-cached-assets" + - yarn_install_script + - export GITLAB_ASSETS_HASH=$(bin/rake gitlab:assets:hash_sum) + - 'echo "CACHE_ASSETS_AS_PACKAGE: ${CACHE_ASSETS_AS_PACKAGE}"' + # The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable + - | + if [[ "${CACHE_ASSETS_AS_PACKAGE}" == "true" ]]; then + source scripts/gitlab_component_helpers.sh + gitlab_assets_archive_doesnt_exist || run_timed_command "download_and_extract_gitlab_assets" + fi + - assets_compile_script compile-production-assets: extends: @@ -42,8 +41,6 @@ compile-production-assets: - public/assets/ - "${WEBPACK_COMPILE_LOG_PATH}" when: always - before_script: - - !reference [.default-before_script, before_script] after_script: - rm -f /etc/apt/sources.list.d/google*.list # We don't need to update Chrome here @@ -71,6 +68,9 @@ update-assets-compile-production-cache: - .assets-compile-cache-push - .shared:rules:update-cache stage: prepare + script: + - !reference [compile-production-assets, script] + - echo -n "${GITLAB_ASSETS_HASH}" > "cached-assets-hash.txt" artifacts: {} # This job's purpose is only to update the cache. update-assets-compile-test-cache: @@ -79,25 +79,31 @@ update-assets-compile-test-cache: - .assets-compile-cache-push - .shared:rules:update-cache stage: prepare + script: + - !reference [compile-test-assets, script] + - 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 + - yarn_install_script update-storybook-yarn-cache: extends: - .default-retry + - .default-utils-before_script - .storybook-yarn-cache-push - .shared:rules:update-cache stage: prepare script: - - *storybook-yarn-install + - yarn_install_script .frontend-fixtures-base: extends: @@ -180,7 +186,7 @@ graphql-schema-dump as-if-foss: SETUP_DB: "false" before_script: - !reference [.default-before_script, before_script] - - *yarn-install + - yarn_install_script stage: test .jest-base: @@ -247,6 +253,7 @@ jest-integration: coverage-frontend: extends: - .default-retry + - .default-utils-before_script - .yarn-cache - .frontend:rules:coverage-frontend needs: @@ -255,9 +262,8 @@ coverage-frontend: - job: "jest minimal" optional: true stage: post-test - before_script: - - *yarn-install script: + - yarn_install_script - run_timed_command "yarn node scripts/frontend/merge_coverage_frontend.js" # Removing the individual coverage results, as we just merged them. - if ls coverage-frontend/jest-* > /dev/null 2>&1; then @@ -277,31 +283,33 @@ coverage-frontend: .qa-frontend-node: extends: - .default-retry - - .yarn-cache + - .default-utils-before_script + - .qa-frontend-node-cache - .frontend:rules:qa-frontend-node stage: test - dependencies: [] + needs: [] script: - - *yarn-install + - yarn_install_script - run_timed_command "retry yarn run webpack-prod" qa-frontend-node:14: extends: .qa-frontend-node - image: ${GITLAB_DEPENDENCY_PROXY}node:14 + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:14 qa-frontend-node:16: extends: .qa-frontend-node - image: ${GITLAB_DEPENDENCY_PROXY}node:16 + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:16 qa-frontend-node:latest: extends: - .qa-frontend-node - .frontend:rules:qa-frontend-node-latest - image: ${GITLAB_DEPENDENCY_PROXY}node:latest + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}node:latest webpack-dev-server: extends: - .default-retry + - .default-utils-before_script - .yarn-cache - .frontend:rules:default-frontend-jobs stage: test @@ -310,7 +318,7 @@ webpack-dev-server: WEBPACK_MEMORY_TEST: "true" WEBPACK_VENDOR_DLL: "true" script: - - *yarn-install + - yarn_install_script - run_timed_command "retry yarn webpack-vendor" - run_timed_command "node --expose-gc node_modules/.bin/webpack-dev-server --config config/webpack.config.js" artifacts: @@ -322,13 +330,14 @@ webpack-dev-server: bundle-size-review: extends: - .default-retry + - .default-utils-before_script - .assets-compile-cache - .frontend:rules:bundle-size-review image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:danger stage: test needs: [] script: - - *yarn-install + - yarn_install_script - scripts/bundle_size_review artifacts: when: always @@ -366,8 +375,8 @@ startup-css-check as-if-foss: - .frontend-test-base - .storybook-yarn-cache script: - - *storybook-yarn-install - - yarn run storybook:build + - run_timed_command "retry yarn run storybook:install --frozen-lockfile" + - run_timed_command "yarn run storybook:build" needs: ["graphql-schema-dump"] compile-storybook: diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 7bdca62b68..ed59a0dd8f 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -8,13 +8,17 @@ - job_execution_timeout - stuck_or_timeout_failure -.default-before_script: +.default-utils-before_script: before_script: - echo $FOSS_ONLY - '[ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb' - export GOPATH=$CI_PROJECT_DIR/.go - mkdir -p $GOPATH - source scripts/utils.sh + +.default-before_script: + before_script: + - !reference [.default-utils-before_script, before_script] - source scripts/prepare_build.sh .ruby-gems-cache: &ruby-gems-cache @@ -79,19 +83,30 @@ policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. .assets-cache: &assets-cache - key: "assets-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v2" + key: "assets-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v5" + # This list should match GITLAB_ASSETS_PATHS_LIST from scripts/gitlab_component_helpers.sh paths: - - assets-hash.txt - - public/assets/webpack/ - - tmp/cache/assets/sprockets/ - - tmp/cache/babel-loader/ - - tmp/cache/vue-loader/ + - cached-assets-hash.txt + - app/assets/javascripts/locale/**/app.js + - public/assets/ policy: pull .assets-cache-push: &assets-cache-push <<: *assets-cache policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. +.assets-tmp-cache: &assets-tmp-cache + key: "assets-tmp-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}-v1" + paths: + - tmp/cache/assets/sprockets/ + - tmp/cache/babel-loader/ + - tmp/cache/vue-loader/ + policy: pull + +.assets-tmp-cache-push: &assets-tmp-cache-push + <<: *assets-tmp-cache + policy: push # We want to rebuild the cache from scratch to ensure we don't pile up outdated cache files. + .storybook-node-modules-cache: &storybook-node-modules-cache key: "storybook-node-modules-${DEBIAN_VERSION}-${NODE_ENV}" paths: @@ -174,7 +189,7 @@ cache: - *ruby-gems-cache -.danger-review-cache: +.ruby-node-cache: cache: - *ruby-gems-cache - *node-modules-cache @@ -199,6 +214,12 @@ cache: - *node-modules-cache +.qa-frontend-node-cache: + cache: + - *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 @@ -208,12 +229,14 @@ - *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: cache: @@ -323,7 +346,7 @@ FOSS_ONLY: '1' .use-docker-in-docker: - image: ${GITLAB_DEPENDENCY_PROXY}docker:${DOCKER_VERSION} + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}docker:${DOCKER_VERSION} services: - docker:${DOCKER_VERSION}-dind variables: diff --git a/.gitlab/ci/notify.gitlab-ci.yml b/.gitlab/ci/notify.gitlab-ci.yml index 95318d5ce0..51b0f4071e 100644 --- a/.gitlab/ci/notify.gitlab-ci.yml +++ b/.gitlab/ci/notify.gitlab-ci.yml @@ -1,12 +1,12 @@ .notify-slack: - image: ${GITLAB_DEPENDENCY_PROXY}alpine + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine/curl stage: notify dependencies: [] cache: {} variables: MERGE_REQUEST_URL: ${CI_MERGE_REQUEST_PROJECT_URL}/-/merge_requests/${CI_MERGE_REQUEST_IID} before_script: - - apk update && apk add git curl bash + - apk update && apk add git bash - echo "NOTIFY_CHANNEL is ${NOTIFY_CHANNEL}" - echo "CI_PIPELINE_URL is ${CI_PIPELINE_URL}" @@ -34,13 +34,28 @@ notify-security-pipeline: - scripts/slack ${NOTIFY_CHANNEL} " ☠️ Pipeline for merged result failed! ☠️ See ${CI_PIPELINE_URL} (triggered from ${MERGE_REQUEST_URL})" ci_failing "GitLab Release Tools Bot" notify-pipeline-failure: - extends: - - .notify-slack + extends: .notify-slack + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION} rules: - - if: '$NOTIFY_PIPELINE_FAILURE_CHANNEL' + # Don't report child pipeline failures + - if: '$CI_PIPELINE_SOURCE == "parent_pipeline"' + when: never + - if: '$CI_SLACK_WEBHOOK_URL && $NOTIFY_PIPELINE_FAILURE_CHANNEL' when: on_failure allow_failure: true variables: - NOTIFY_CHANNEL: "${NOTIFY_PIPELINE_FAILURE_CHANNEL}" + SLACK_CHANNEL: "${NOTIFY_PIPELINE_FAILURE_CHANNEL}" + FAILED_PIPELINE_REPORT_FILE: "failed_pipeline_report.json" + before_script: + - source scripts/utils.sh + - apt-get update && apt-get install -y jq + - install_gitlab_gem script: - - scripts/slack ${NOTIFY_CHANNEL} "❌ \`${CI_COMMIT_REF_NAME}\` pipeline failed! See ${CI_PIPELINE_URL}" ci_failing "notify-pipeline-failure" + - scripts/generate-failed-pipeline-slack-message.rb + - | + curl -X POST -H 'Content-Type: application/json' --data @${FAILED_PIPELINE_REPORT_FILE} "$CI_SLACK_WEBHOOK_URL" + artifacts: + paths: + - ${FAILED_PIPELINE_REPORT_FILE} + when: always + expire_in: 2 days diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index d96da7744a..1a1c67bf57 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -1,11 +1,13 @@ # E2E tests pipeline loaded dynamically by script: scripts/generate-e2e-pipeline +default: + interruptible: true + include: - - local: .gitlab/ci/global.gitlab-ci.yml - local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml - local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml - project: gitlab-org/quality/pipeline-common - ref: 1.2.1 + ref: 1.3.0 file: - /ci/base.gitlab-ci.yml - /ci/allure-report.yml @@ -27,13 +29,12 @@ stages: .ruby-image: image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3 -.bundle-install: +.qa-install: + variables: + BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES: "true" + BUNDLE_SILENCE_ROOT_WARNING: "true" extends: - .gitlab-qa-install - - .qa-cache - variables: - RUN_WITH_BUNDLE: "true" # installs and runs gitlab-qa via bundler - QA_PATH: qa .omnibus-env: variables: @@ -44,6 +45,8 @@ stages: echo "SECURITY_SOURCES=${SECURITY_SOURCES:-false}" > $BUILD_ENV echo "OMNIBUS_GITLAB_CACHE_UPDATE=${OMNIBUS_GITLAB_CACHE_UPDATE:-false}" >> $BUILD_ENV for version_file in *_VERSION; do echo "$version_file=$(cat $version_file)" >> $BUILD_ENV; done + echo "OMNIBUS_GITLAB_RUBY3_BUILD=${OMNIBUS_GITLAB_RUBY3_BUILD:-false}" >> $BUILD_ENV + echo "OMNIBUS_GITLAB_CACHE_EDITION=${OMNIBUS_GITLAB_CACHE_EDITION:-GITLAB}" >> $BUILD_ENV echo "Built environment file for omnibus build:" cat $BUILD_ENV artifacts: @@ -59,14 +62,16 @@ stages: .qa: extends: - .qa-base - - .bundle-install + - .qa-install - .gitlab-qa-report stage: test tags: - e2e needs: - - trigger-omnibus - - download-knapsack-report + - job: trigger-omnibus + optional: true + - job: download-knapsack-report + artifacts: true variables: QA_GENERATE_ALLURE_REPORT: "true" QA_CAN_TEST_PRAEFECT: "false" @@ -80,14 +85,33 @@ stages: # ========================================== # Prepare stage # ========================================== +check-release-set: + extends: .rules:prepare + stage: .pre + script: + - | + if [ -z "$RELEASE" ]; then + echo "E2E test pipeline requires omnibus installation docker image to be set via $RELEASE environment variable" + exit 1 + else + echo "Omnibus installation image is set to '$RELEASE'" + fi + +dont-interrupt-me: + extends: .rules:dont-interrupt + stage: .pre + interruptible: false + script: + - echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible." + trigger-omnibus-env: extends: - .omnibus-env - - .rules:prepare + - .rules:omnibus-build stage: .pre trigger-omnibus: - extends: .rules:prepare + extends: .rules:omnibus-build stage: .pre needs: - trigger-omnibus-env @@ -106,6 +130,8 @@ trigger-omnibus: TOP_UPSTREAM_SOURCE_PROJECT: $CI_PROJECT_PATH SECURITY_SOURCES: $SECURITY_SOURCES CACHE_UPDATE: $OMNIBUS_GITLAB_CACHE_UPDATE + RUBY3_BUILD: $OMNIBUS_GITLAB_RUBY3_BUILD + CACHE_EDITION: $OMNIBUS_GITLAB_CACHE_EDITION SKIP_QA_DOCKER: "true" SKIP_QA_TEST: "true" ee: "true" @@ -115,30 +141,34 @@ trigger-omnibus: download-knapsack-report: extends: - - .bundle-install - - .ruby-image + - .gitlab-qa-image - .rules:prepare stage: .pre + variables: + KNAPSACK_DIR: ${CI_PROJECT_DIR}/qa/knapsack + GIT_STRATEGY: none script: + # when using qa-image, code runs in /home/gitlab/qa folder - bundle exec rake "knapsack:download[test]" + - mkdir -p "$KNAPSACK_DIR" && cp knapsack/*.json "${KNAPSACK_DIR}/" allow_failure: true artifacts: paths: - - qa/knapsack/ee-*.json + - qa/knapsack/*.json expire_in: 1 day -# e2e test jobs run on separate runner which has separate cache setup cache-gems: extends: - - .bundle-install + - .qa-install - .ruby-image - - .qa-cache-push - .rules:prepare stage: .pre tags: - e2e script: - echo "Populated qa cache" + cache: + policy: pull-push # ========================================== # Test stage @@ -154,11 +184,11 @@ cache-gems: _ee:quarantine: extends: - .qa - - .rules:test:quarantine + - .rules:test:manual needs: - - trigger-omnibus + - job: trigger-omnibus + optional: true stage: test - allow_failure: true variables: QA_RSPEC_TAGS: --tag quarantine @@ -332,8 +362,9 @@ ee:update-minor: UPDATE_TYPE: minor QA_RSPEC_TAGS: --tag smoke rules: - - !reference [.rules:test:qa, rules] + - !reference [.rules:test:update, rules] - if: $QA_SUITES =~ /Test::Instance::Smoke/ + - !reference [.rules:test:manual, rules] ee:update-major: extends: @@ -343,8 +374,9 @@ ee:update-major: UPDATE_TYPE: major QA_RSPEC_TAGS: --tag smoke rules: - - !reference [.rules:test:qa, rules] + - !reference [.rules:test:update, rules] - if: $QA_SUITES =~ /Test::Instance::Smoke/ + - !reference [.rules:test:manual, rules] ee:gitaly-cluster: extends: .qa @@ -353,6 +385,7 @@ ee:gitaly-cluster: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::GitalyCluster/ + - !reference [.rules:test:manual, rules] ee:group-saml: extends: .qa @@ -361,6 +394,7 @@ ee:group-saml: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::GroupSAML/ + - !reference [.rules:test:manual, rules] ee:instance-saml: extends: .qa @@ -369,6 +403,7 @@ ee:instance-saml: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::InstanceSAML/ + - !reference [.rules:test:manual, rules] ee:jira: extends: .qa @@ -379,6 +414,7 @@ ee:jira: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::Jira/ + - !reference [.rules:test:manual, rules] ee:ldap-no-server: extends: .qa @@ -387,6 +423,7 @@ ee:ldap-no-server: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::LDAPNoServer/ + - !reference [.rules:test:manual, rules] ee:ldap-tls: extends: .qa @@ -395,6 +432,7 @@ ee:ldap-tls: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::LDAPTLS/ + - !reference [.rules:test:manual, rules] ee:ldap-no-tls: extends: .qa @@ -403,6 +441,7 @@ ee:ldap-no-tls: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::LDAPNoTLS/ + - !reference [.rules:test:manual, rules] ee:mtls: extends: .qa @@ -411,6 +450,7 @@ ee:mtls: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::MTLS/ + - !reference [.rules:test:manual, rules] ee:mattermost: extends: .qa @@ -419,6 +459,7 @@ ee:mattermost: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::Mattermost/ + - !reference [.rules:test:manual, rules] ee:registry: extends: .qa @@ -427,6 +468,7 @@ ee:registry: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::Registry/ + - !reference [.rules:test:manual, rules] ee:registry-with-cdn: extends: .qa @@ -443,6 +485,7 @@ ee:registry-with-cdn: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::RegistryWithCDN/ + - !reference [.rules:test:manual, rules] ee:repository-storage: extends: .qa @@ -451,6 +494,7 @@ ee:repository-storage: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Instance::RepositoryStorage/ + - !reference [.rules:test:manual, rules] ee:service-ping-disabled: extends: .qa @@ -459,6 +503,7 @@ ee:service-ping-disabled: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::ServicePingDisabled/ + - !reference [.rules:test:manual, rules] ee:smtp: extends: .qa @@ -467,6 +512,7 @@ ee:smtp: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::SMTP/ + - !reference [.rules:test:manual, rules] ee:cloud-activation: extends: .qa @@ -476,6 +522,7 @@ ee:cloud-activation: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::CloudActivation/ + - !reference [.rules:test:manual, rules] ee:large-setup: extends: .qa @@ -485,6 +532,7 @@ ee:large-setup: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Instance::LargeSetup/ + - !reference [.rules:test:manual, rules] ee:metrics: extends: .qa @@ -493,6 +541,7 @@ ee:metrics: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Instance::Metrics/ + - !reference [.rules:test:manual, rules] ee:elasticsearch: extends: .qa @@ -504,6 +553,7 @@ ee:elasticsearch: rules: - !reference [.rules:test:qa, rules] - if: $QA_SUITES =~ /Test::Integration::Elasticsearch/ + - !reference [.rules:test:manual, rules] ee:registry-object-storage-tls: extends: ee:object-storage-aws @@ -536,7 +586,7 @@ e2e-test-report: upload-knapsack-report: extends: - .generate-knapsack-report-base - - .bundle-install + - .qa-install - .ruby-image - .rules:report:process-results stage: report @@ -544,7 +594,7 @@ upload-knapsack-report: relate-test-failures: extends: - - .bundle-install + - .qa-install - .ruby-image - .rules:report:process-results stage: report @@ -562,7 +612,7 @@ relate-test-failures: generate-test-session: extends: - - .bundle-install + - .qa-install - .ruby-image - .rules:report:process-results stage: report @@ -585,7 +635,7 @@ generate-test-session: notify-slack: extends: - .notify-slack-qa - - .bundle-install + - .qa-install - .ruby-image - .rules:report:process-results stage: notify @@ -594,6 +644,7 @@ notify-slack: SLACK_ICON_EMOJI: ci_failing STATUS_SYM: ☠️ STATUS: failed + TYPE: "(package-and-test) " when: on_failure script: - bundle exec gitlab-qa-report --prepare-stage-reports "$CI_PROJECT_DIR/gitlab-qa-run-*/**/rspec-*.xml" # generate summary diff --git a/.gitlab/ci/package-and-test/rules.gitlab-ci.yml b/.gitlab/ci/package-and-test/rules.gitlab-ci.yml index d866dec1cd..47625340a3 100644 --- a/.gitlab/ci/package-and-test/rules.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/rules.gitlab-ci.yml @@ -41,12 +41,27 @@ rules: - when: always +.rules:dont-interrupt: + rules: + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH + allow_failure: true + - if: $CI_MERGE_REQUEST_IID + when: manual + allow_failure: true + +.rules:omnibus-build: + rules: + - if: $SKIP_OMNIBUS_TRIGGER == "true" + when: never + - when: always + # ------------------------------------------ # Test # ------------------------------------------ -.rules:test:quarantine: +.rules:test:manual: rules: - when: manual + allow_failure: true variables: QA_TESTS: "" @@ -78,7 +93,10 @@ rules: - *qa-framework-changes - <<: *specific-specs - when: never + when: manual + allow_failure: true + variables: + QA_TESTS: "" - *feature-flags-set-manual # general qa job rule for jobs without the need to run in parallel @@ -87,11 +105,21 @@ - *qa-framework-changes - *feature-flags-set-manual +.rules:test:update: + rules: + # skip upgrade jobs if gitlab version is not provided + # these jobs need gitlab version because we can't reliably detect it from just the image + - if: $GITLAB_VERSION == null + when: never + - !reference [.rules:test:qa, rules] + # ------------------------------------------ # Report # ------------------------------------------ .rules:report:allure-report: rules: + - if: $SKIP_ALLURE_REPORT == "true" + when: never - when: always .rules:report:process-results: diff --git a/.gitlab/ci/package-and-test/variables.gitlab-ci.yml b/.gitlab/ci/package-and-test/variables.gitlab-ci.yml index 324092c80f..cd22fa0e6e 100644 --- a/.gitlab/ci/package-and-test/variables.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/variables.gitlab-ci.yml @@ -1,9 +1,10 @@ # Default variables for package-and-test variables: - RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" SKIP_REPORT_IN_ISSUES: "true" OMNIBUS_GITLAB_CACHE_UPDATE: "false" + OMNIBUS_GITLAB_RUBY3_BUILD: "false" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB" QA_LOG_LEVEL: "info" QA_TESTS: "" QA_FEATURE_FLAGS: "" diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index c5a182b055..bd587cb441 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -76,8 +76,15 @@ e2e:package-and-test: - e2e-test-pipeline-generate variables: SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes! + RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" + GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}" + RUN_WITH_BUNDLE: "true" # instructs pipeline to install and run gitlab-qa gem via bundler + QA_PATH: qa # sets the optional path for bundler to run from trigger: strategy: depend + forward: + yaml_variables: true + pipeline_variables: true include: - artifact: package-and-test-pipeline.yml job: e2e-test-pipeline-generate diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 0f524f0318..c60f85634b 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -1,160 +1,5 @@ -####################### -# rspec job base specs -.rails-job-base: - extends: - - .default-retry - - .default-before_script - - .rails-cache - -.base-script: - script: - - source ./scripts/rspec_helpers.sh - # Only install knapsack after bundle install! Otherwise oddly some native - # gems could not be found under some circumstance. No idea why, hours wasted. - - run_timed_command "gem install knapsack --no-document" - - echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly" - - run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here - - echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K" - -.minimal-rspec-tests: - variables: - RSPEC_TESTS_MAPPING_ENABLED: "true" - -.single-db: - variables: - DECOMPOSED_DB: "false" - -.single-db-rspec: - extends: .single-db - -.praefect-with-db: - variables: - GITALY_PRAEFECT_WITH_DB: '1' - -.rspec-base: - extends: - - .rails-job-base - - .base-artifacts - stage: test - variables: - RUBY_GC_MALLOC_LIMIT: 67108864 - RUBY_GC_MALLOC_LIMIT_MAX: 134217728 - RECORD_DEPRECATIONS: "true" - GEO_SECONDARY_PROXY: 0 - needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"] - script: - - !reference [.base-script, script] - - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration" - -.base-artifacts: - artifacts: - expire_in: 31d - when: always - paths: - - coverage/ - - crystalball/ - - deprecations/ - - knapsack/ - - rspec/ - - tmp/capybara/ - - log/*.log - reports: - junit: ${JUNIT_RESULT_FILE} - -.rspec-base-migration: - extends: - - .base-artifacts - - .rails:rules:ee-and-foss-migration - script: - - !reference [.base-script, script] - - rspec_paralellized_job "--tag ~quarantine --tag level:migration" - -.rspec-base-pg11: - extends: - - .rspec-base - - .use-pg11 - -.rspec-base-pg12: - extends: - - .rspec-base - - .use-pg12 - -.rspec-base-pg12-as-if-foss: - extends: - - .rspec-base - - .as-if-foss - - .use-pg12 - needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"] - -.rspec-base-pg13: - extends: - - .rspec-base - - .use-pg13 - -.rspec-ee-base-pg11: - extends: - - .rspec-base - - .use-pg11-ee - -.rspec-ee-base-pg12: - extends: - - .rspec-base - - .use-pg12-ee - -.rspec-ee-base-pg12-es8: - extends: - - .rspec-base - - .use-pg12-es8-ee - - .rails:rules:run-search-tests - -.rspec-ee-base-pg12-opensearch1: - extends: - - .rspec-base - - .use-pg12-opensearch1-ee - - .rails:rules:run-search-tests - -.rspec-ee-base-pg13: - extends: - - .rspec-base - - .use-pg13-ee - -.db-job-base: - extends: - - .rails-job-base - - .rails:rules:ee-and-foss-migration - - .use-pg12 - stage: test - needs: ["setup-test-env"] -# rspec job base specs -###################### - -############################ -# rspec job parallel configs -.rspec-migration-parallel: - parallel: 12 - -.rspec-ee-migration-parallel: - parallel: 4 - -.rspec-unit-parallel: - parallel: 28 - -.rspec-ee-unit-parallel: - parallel: 18 - -.rspec-integration-parallel: - parallel: 12 - -.rspec-ee-integration-parallel: - parallel: 6 - -.rspec-system-parallel: - parallel: 28 - -.rspec-ee-system-parallel: - parallel: 10 -# rspec job parallel configs -############################ +include: + - local: .gitlab/ci/rails/shared.gitlab-ci.yml ############################################################### # EE/FOSS: default refs (MRs, default branch, schedules) jobs # @@ -168,7 +13,7 @@ setup-test-env: SETUP_DB: "false" script: - echo $CI_MERGE_REQUEST_APPROVED - - source scripts/gitlab_workhorse_component_helpers.sh + - source scripts/gitlab_component_helpers.sh - run_timed_command "download_and_extract_gitlab_workhorse_package" || true - run_timed_command "scripts/setup-test-env" - run_timed_command "select_gitlab_workhorse_essentials" @@ -197,22 +42,6 @@ setup-test-env: - ${TMP_TEST_GITLAB_WORKHORSE_PATH}/ when: always -build-components: - extends: - - setup-test-env - - .rails:rules:build-components - script: - - source scripts/gitlab_workhorse_component_helpers.sh - - 'gitlab_workhorse_archive_doesnt_exist || { echoinfo "INFO: Exiting early as package exists."; exit 0; }' - - run_timed_command "scripts/setup-test-env" - - run_timed_command "select_gitlab_workhorse_essentials" - - run_timed_command "create_gitlab_workhorse_package" - - run_timed_command "upload_gitlab_workhorse_package" - artifacts: - expire_in: 7d - paths: - - ${TMP_TEST_GITLAB_WORKHORSE_PATH}/ - update-setup-test-env-cache: extends: - setup-test-env @@ -407,6 +236,21 @@ db:check-migrations-single-db: - .single-db - .rails:rules:single-db +db:post_deployment_migrations_validator: + extends: + - .db-job-base + - .rails:rules:ee-and-foss-mr-with-migration + script: + - git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME --depth 20 + - scripts/post_deployment_migrations_validator + allow_failure: true + +db:post_deployment_migrations_validator-single-db: + extends: + - db:post_deployment_migrations_validator + - .single-db + - .rails:rules:single-db + db:migrate-non-superuser: extends: - .db-job-base @@ -943,18 +787,41 @@ rspec fail-fast: paths: - tmp/capybara/ -rspec foss-impact: +rspec-foss-impact:pipeline-generate: extends: - - .rspec-base-pg12-as-if-foss - .rails:rules:rspec-foss-impact - needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"] + stage: prepare + needs: ["detect-tests"] script: - - !reference [.base-script, script] - - rspec_matched_foss_tests "${RSPEC_MATCHING_TESTS_PATH}" "--tag ~quarantine" + - scripts/generate-rspec-foss-impact-pipeline "${RSPEC_MATCHING_TESTS_FOSS_PATH}" "${RSPEC_FOSS_IMPACT_PIPELINE_YML}" artifacts: - expire_in: 7d + expire_in: 1 day paths: - - tmp/capybara/ + - $RSPEC_FOSS_IMPACT_PIPELINE_YML + +rspec-foss-impact:trigger: + extends: + - .rails:rules:rspec-foss-impact + stage: test + needs: + - job: "setup-test-env" + artifacts: false + - job: "retrieve-tests-metadata" + artifacts: false + - job: "compile-test-assets as-if-foss" + artifacts: false + - job: "rspec-foss-impact:pipeline-generate" + artifacts: true + variables: + PARENT_PIPELINE_ID: $CI_PIPELINE_ID + trigger: + strategy: depend + forward: + yaml_variables: true + pipeline_variables: true + include: + - artifact: $RSPEC_FOSS_IMPACT_PIPELINE_YML + job: rspec-foss-impact:pipeline-generate fail-pipeline-early: extends: diff --git a/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb b/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb new file mode 100644 index 0000000000..4ae4cb75a2 --- /dev/null +++ b/.gitlab/ci/rails/rspec-foss-impact.gitlab-ci.yml.erb @@ -0,0 +1,50 @@ +# RSpec FOSS impact pipeline loaded dynamically by script: scripts/generate-rspec-foss-impact-pipeline + +include: + - local: .gitlab/ci/rails/shared.gitlab-ci.yml + +default: + image: $DEFAULT_CI_IMAGE + tags: + - gitlab-org + # Default job timeout set to 90m https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/10520 + timeout: 90m + interruptible: true + +stages: + - test + +dont-interrupt-me: + extends: .rules:dont-interrupt + stage: .pre + interruptible: false + script: + - echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible." + +rspec foss-impact: + extends: .rspec-base-pg12-as-if-foss + needs: + - pipeline: $PARENT_PIPELINE_ID + job: detect-tests + - pipeline: $PARENT_PIPELINE_ID + job: setup-test-env + - pipeline: $PARENT_PIPELINE_ID + job: retrieve-tests-metadata + - pipeline: $PARENT_PIPELINE_ID + job: compile-test-assets as-if-foss + rules: + - when: always + variables: + RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_FOSS_PATH}" + RSPEC_TESTS_MAPPING_ENABLED: "true" +<% if Integer(parallel_value) > 1 %> + parallel: <%= parallel_value %> +<% end %> + script: + - !reference [.base-script, script] + - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration" + artifacts: + expire_in: 7d + paths: + - "${RSPEC_MATCHING_TESTS_FOSS_PATH}" + - tmp/capybara/ diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml new file mode 100644 index 0000000000..60c9826abf --- /dev/null +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -0,0 +1,172 @@ +include: + - local: .gitlab/ci/global.gitlab-ci.yml + - local: .gitlab/ci/rules.gitlab-ci.yml + +.rules:dont-interrupt: + rules: + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH + allow_failure: true + - if: $CI_MERGE_REQUEST_IID + when: manual + allow_failure: true + +####################### +# rspec job base specs +.rails-job-base: + extends: + - .default-retry + - .default-before_script + - .rails-cache + +.base-script: + script: + - source ./scripts/rspec_helpers.sh + # Only install knapsack after bundle install! Otherwise oddly some native + # gems could not be found under some circumstance. No idea why, hours wasted. + - run_timed_command "gem install knapsack --no-document" + - echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly" + - run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here + - echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K" + +.minimal-rspec-tests: + variables: + RSPEC_TESTS_MAPPING_ENABLED: "true" + +.single-db: + variables: + DECOMPOSED_DB: "false" + +.single-db-rspec: + extends: .single-db + +.praefect-with-db: + variables: + GITALY_PRAEFECT_WITH_DB: '1' + +.rspec-base: + extends: + - .rails-job-base + - .base-artifacts + stage: test + variables: + RUBY_GC_MALLOC_LIMIT: 67108864 + RUBY_GC_MALLOC_LIMIT_MAX: 134217728 + RECORD_DEPRECATIONS: "true" + GEO_SECONDARY_PROXY: 0 + RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}" + needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"] + script: + - !reference [.base-script, script] + - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration" + +.base-artifacts: + artifacts: + expire_in: 31d + when: always + paths: + - coverage/ + - crystalball/ + - deprecations/ + - knapsack/ + - rspec/ + - tmp/capybara/ + - log/*.log + reports: + junit: ${JUNIT_RESULT_FILE} + +.rspec-base-migration: + extends: + - .base-artifacts + - .rails:rules:ee-and-foss-migration + variables: + RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}" + script: + - !reference [.base-script, script] + - rspec_paralellized_job "--tag ~quarantine --tag level:migration" + +.rspec-base-pg11: + extends: + - .rspec-base + - .use-pg11 + +.rspec-base-pg12: + extends: + - .rspec-base + - .use-pg12 + +.rspec-base-pg12-as-if-foss: + extends: + - .rspec-base + - .as-if-foss + - .use-pg12 + needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets as-if-foss", "detect-tests"] + +.rspec-base-pg13: + extends: + - .rspec-base + - .use-pg13 + +.rspec-ee-base-pg11: + extends: + - .rspec-base + - .use-pg11-ee + +.rspec-ee-base-pg12: + extends: + - .rspec-base + - .use-pg12-ee + +.rspec-ee-base-pg12-es8: + extends: + - .rspec-base + - .use-pg12-es8-ee + - .rails:rules:run-search-tests + +.rspec-ee-base-pg12-opensearch1: + extends: + - .rspec-base + - .use-pg12-opensearch1-ee + - .rails:rules:run-search-tests + +.rspec-ee-base-pg13: + extends: + - .rspec-base + - .use-pg13-ee + +.db-job-base: + extends: + - .rails-job-base + - .rails:rules:ee-and-foss-migration + - .use-pg12 + stage: test + needs: ["setup-test-env"] +# rspec job base specs +###################### + +############################ +# rspec job parallel configs +.rspec-migration-parallel: + parallel: 12 + +.rspec-ee-migration-parallel: + parallel: 4 + +.rspec-unit-parallel: + parallel: 28 + +.rspec-ee-unit-parallel: + parallel: 18 + +.rspec-integration-parallel: + parallel: 12 + +.rspec-ee-integration-parallel: + parallel: 6 + +.rspec-system-parallel: + parallel: 28 + +.rspec-ee-system-parallel: + parallel: 10 +# rspec job parallel configs +############################ diff --git a/.gitlab/ci/releases.gitlab-ci.yml b/.gitlab/ci/releases.gitlab-ci.yml index 77f23814f3..df7b07f554 100644 --- a/.gitlab/ci/releases.gitlab-ci.yml +++ b/.gitlab/ci/releases.gitlab-ci.yml @@ -4,7 +4,7 @@ .merge-train-sync: # We don't need/want any global before/after commands, so we overwrite these # settings. - image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:edge stage: sync before_script: - apk add --no-cache --update curl bash jq diff --git a/.gitlab/ci/review-apps/dast-api.gitlab-ci.yml b/.gitlab/ci/review-apps/dast-api.gitlab-ci.yml new file mode 100644 index 0000000000..e2f32f120a --- /dev/null +++ b/.gitlab/ci/review-apps/dast-api.gitlab-ci.yml @@ -0,0 +1,14 @@ +include: + - template: DAST-API.gitlab-ci.yml + +dast_api: + variables: + DAST_API_PROFILE: Passive + DAST_API_GRAPHQL: /api/graphql + DAST_API_TARGET_URL: ${CI_ENVIRONMENT_URL} + DAST_API_OVERRIDES_ENV: "{\"headers\":{\"Authorization\":\"Bearer $REVIEW_APPS_ROOT_TOKEN\"}}" + needs: ["review-deploy"] + # Uncomment resource_group if DAST_API_PROFILE is changed to an active scan + # resource_group: dast_api_scan + rules: + - !reference [".reports:rules:schedule-dast", rules] diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index e28ffc8281..d3f5d01446 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -1,3 +1,6 @@ +default: + interruptible: true + stages: - prepare - deploy @@ -11,17 +14,25 @@ include: - local: .gitlab/ci/review-apps/rules.gitlab-ci.yml - local: .gitlab/ci/review-apps/qa.gitlab-ci.yml - local: .gitlab/ci/review-apps/dast.gitlab-ci.yml + - local: .gitlab/ci/review-apps/dast-api.gitlab-ci.yml .base-before_script: &base-before_script - source ./scripts/utils.sh - source ./scripts/review_apps/review-apps.sh - apt-get update && apt-get install -y jq +dont-interrupt-me: + extends: .rules:dont-interrupt + stage: prepare + interruptible: false + script: + - echo "This jobs makes sure this pipeline won't be interrupted! See https://docs.gitlab.com/ee/ci/yaml/#interruptible." + review-build-cng-env: extends: - .default-retry - .review:rules:review-build-cng - image: ${GITLAB_DEPENDENCY_PROXY}ruby:3.0-alpine3.13 + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:3.0-alpine3.13 stage: prepare needs: [] before_script: @@ -90,6 +101,10 @@ review-deploy: - .review:rules:review-deploy stage: deploy needs: ["review-build-cng"] + cache: + key: "review-deploy-dependencies-charts-${GITLAB_HELM_CHART_REF}-v1" + paths: + - "gitlab-${GITLAB_HELM_CHART_REF}" before_script: - export GITLAB_SHELL_VERSION=$( @@ -96,12 +93,3 @@ danger-review-local: - .review:rules:danger-local script: - run_timed_command danger_as_local - -reviewers-recommender: - extends: - - .default-retry - # extends generated values cannot overwrite values from included files - # Use !reference as a workaround here - rules: !reference [".review:rules:reviewers-recommender", rules] - stage: test - needs: [] diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 9dc2f5eff2..afe900f39a 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -31,11 +31,14 @@ .if-merge-request: &if-merge-request if: '$CI_MERGE_REQUEST_IID' +# Once https://gitlab.com/gitlab-org/gitlab/-/issues/373904 is implemented, we should be able to change this back to +# if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVALS_COUNT > 0' +# or any similar condition to check that the MR has *any* approval (not just required approval). .if-merge-request-approved: &if-merge-request-approved - if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED' + if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_LABELS =~ /pipeline:run-full-rspec/' .if-merge-request-not-approved: &if-merge-request-not-approved - if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED != "true"' + if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_LABELS !~ /pipeline:run-full-rspec/' .if-automated-merge-request: &if-automated-merge-request if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "release-tools/update-gitaly" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /stable-ee$/' @@ -70,9 +73,6 @@ .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' -.if-merge-request-labels-community-contribution: &if-merge-request-labels-community-contribution - if: '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/' - .if-merge-request-labels-jh-contribution: &if-merge-request-labels-jh-contribution if: '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/' @@ -130,6 +130,9 @@ .if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG' +.if-ruby3-branch: &if-ruby3-branch + if: '$CI_COMMIT_BRANCH == "ruby3"' + # For Security merge requests, the gitlab-release-tools-bot triggers a new # pipeline for the "Pipelines for merged results" feature. If the pipeline # fails, we notify release managers. @@ -179,6 +182,7 @@ - "GITLAB_WORKHORSE_VERSION" - "workhorse/**/*" - ".gitlab/ci/workhorse.gitlab-ci.yml" + - "spec/support/gitlab-git-test.git/**/*" .yaml-lint-patterns: &yaml-lint-patterns - "*.yml" @@ -246,8 +250,21 @@ - "babel.config.js" - "config/webpack.config.js" - "config/**/*.js" - - "vendor/assets/**/*" - "{,ee/,jh/}app/assets/**/*" + - "vendor/assets/**/*" + +# This list should match the list in Tasks::Gitlab::Assets.assets_impacting_compilation +.assets-compilation-patterns: &assets-compilation-patterns + - "{package.json,yarn.lock}" + - ".browserslistrc" + - "babel.config.js" + - "config/webpack.config.js" + - "*.js" + - "config/**/*.js" + - "locale/**/gitlab.po" + - "{,ee/,jh/}app/assets/**/*" + - "fixtures/emojis/**/*" + - "vendor/assets/**/*" .frontend-patterns-for-as-if-foss: &frontend-patterns-for-as-if-foss - "{package.json,yarn.lock}" @@ -516,7 +533,7 @@ - "vendor/assets/javascripts/**/*" .feature-flag-development-config-patterns: &feature-flag-development-config-patterns - - "{,ee/}config/feature_flags/{development,ops}/*.yml" + - "{,ee/,jh/}config/feature_flags/{development,ops}/*.yml" ################## # Conditions set # @@ -532,9 +549,6 @@ rules: - <<: *if-merge-request-approved when: never - # Temporarily disabled minimal rspec jobs before and after approval because of https://gitlab.com/gitlab-org/gitlab/-/issues/373064. - - <<: *if-merge-request-not-approved - when: never - <<: *if-automated-merge-request when: never - <<: *if-security-merge-request @@ -550,12 +564,12 @@ - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *core-backend-patterns - - <<: *if-merge-request - changes: *ci-patterns - <<: *if-automated-merge-request changes: *backend-patterns - <<: *if-security-merge-request changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never .rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules: rules: @@ -579,12 +593,12 @@ changes: *core-backend-patterns - <<: *if-merge-request changes: *workhorse-patterns - - <<: *if-merge-request - changes: *ci-patterns - <<: *if-automated-merge-request changes: *code-backstage-patterns - <<: *if-security-merge-request changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never .rails:rules:system:minimal-default-rules: rules: @@ -629,8 +643,6 @@ ###################### .build-images:rules:build-qa-image: rules: - - <<: *if-not-ee - when: never - <<: *if-not-canonical-namespace when: never - <<: *if-merge-request-targeting-stable-branch @@ -643,6 +655,7 @@ - <<: *if-default-branch-or-tag - <<: *if-dot-com-gitlab-org-schedule - <<: *if-force-ci + - <<: *if-ruby3-branch .build-images:rules:build-assets-image: rules: @@ -651,9 +664,60 @@ - <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-labels-run-review-app - <<: *if-auto-deploy-branches + - <<: *if-ruby3-branch - changes: *ci-build-images-patterns - changes: *code-qa-patterns +################# +# Caching rules # +################# +.caching:rules:cache-workhorse: + rules: + # That would run for any project that has a "maintenance" pipeline schedule + # but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab + - <<: *if-default-branch-schedule-maintenance + - <<: *if-dot-com-gitlab-org-default-branch + changes: ["workhorse/**/*"] + - <<: *if-dot-com-gitlab-org-merge-request + changes: + - ".gitlab/ci/caching.gitlab-ci.yml" + - "scripts/gitlab_component_helpers.sh" + when: manual + allow_failure: true + +.caching:rules:cache-assets: + rules: + # The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable + - if: '$CACHE_ASSETS_AS_PACKAGE != "true"' + when: never + # That would run for any project that has a "maintenance" pipeline schedule + # but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab + - <<: *if-default-branch-schedule-maintenance + - <<: *if-dot-com-gitlab-org-default-branch + changes: *assets-compilation-patterns + - <<: *if-dot-com-gitlab-org-merge-request + changes: + - ".gitlab/ci/caching.gitlab-ci.yml" + - "scripts/gitlab_component_helpers.sh" + - "lib/tasks/gitlab/assets.rake" + when: manual + allow_failure: true + +.caching:rules:packages-cleanup: + rules: + # The new strategy to cache assets as generic packages is experimental and can be disabled by removing the `CACHE_ASSETS_AS_PACKAGE` variable + - if: '$CACHE_ASSETS_AS_PACKAGE != "true"' + when: never + # That would run for any project that has a "maintenance" pipeline schedule + # but in fact, the cache package is only uploaded for gitlab.com/gitlab-org/gitlab and jihulab.com/gitlab-cn/gitlab + - <<: *if-default-branch-schedule-maintenance + - <<: *if-dot-com-gitlab-org-merge-request + changes: + - ".gitlab/ci/caching.gitlab-ci.yml" + - "scripts/packages/automated_cleanup.rb" + when: manual + allow_failure: true + ###################### # CI Templates Rules # ###################### @@ -768,8 +832,6 @@ - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *startup-css-patterns - - <<: *if-merge-request - changes: *ci-patterns .frontend:rules:frontend_fixture-as-if-foss: rules: @@ -906,8 +968,6 @@ changes: *code-qa-patterns - <<: *if-merge-request-labels-as-if-foss - <<: *if-merge-request-labels-run-all-rspec - - <<: *if-merge-request - changes: *ci-patterns .qa:rules:internal-as-if-foss: rules: @@ -928,6 +988,7 @@ allow_failure: true - <<: *if-force-ci allow_failure: true + - <<: *if-ruby3-branch .qa:rules:package-and-test: rules: @@ -939,6 +1000,8 @@ when: never - <<: *if-merge-request-targeting-stable-branch allow_failure: true + - <<: *if-ruby3-branch + allow_failure: true - <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e changes: *feature-flag-development-config-patterns when: manual @@ -975,16 +1038,6 @@ ############### # Rails rules # ############### -.rails:rules:build-components: - rules: - - <<: *if-dot-com-ee-schedule - - <<: *if-dot-com-gitlab-org-default-branch - changes: - - "workhorse/**/*" - - <<: *if-dot-com-gitlab-org-merge-request - when: manual - allow_failure: true - .rails:rules:setup-test-env: rules: - changes: *setup-test-env-patterns @@ -1009,8 +1062,6 @@ - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *core-backend-patterns - - <<: *if-merge-request - changes: *ci-patterns # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request @@ -1019,6 +1070,8 @@ changes: *db-patterns - <<: *if-security-merge-request changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never - changes: *db-patterns .rails:rules:ee-and-foss-migration:minimal: @@ -1112,8 +1165,6 @@ - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *core-backend-patterns - - <<: *if-merge-request - changes: *ci-patterns # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request @@ -1122,6 +1173,8 @@ changes: *db-patterns - <<: *if-security-merge-request changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never - changes: *db-patterns .rails:rules:ee-only-migration:minimal: @@ -1201,8 +1254,6 @@ - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request changes: *core-backend-patterns - - <<: *if-merge-request - changes: *ci-patterns # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request-labels-as-if-foss @@ -1211,6 +1262,8 @@ changes: *db-patterns - <<: *if-security-merge-request changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never .rails:rules:as-if-foss-migration:minimal: rules: @@ -1416,9 +1469,6 @@ - if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"' changes: *code-backstage-patterns when: always - - if: '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"' - changes: *ci-patterns - when: always ######################### # Static analysis rules # @@ -1482,6 +1532,12 @@ changes: ["vendor/gems/mail-smtp_pool/**/*"] - <<: *if-merge-request-labels-run-all-rspec +.vendor:rules:attr_encrypted: + rules: + - <<: *if-merge-request + changes: ["vendor/gems/attr_encrypted/**/*"] + - <<: *if-merge-request-labels-run-all-rspec + .vendor:rules:microsoft_graph_mailer: rules: - <<: *if-merge-request @@ -1518,12 +1574,6 @@ changes: ["vendor/gems/omniauth-gitlab/**/*"] - <<: *if-merge-request-labels-run-all-rspec -.vendor:rules:omniauth-google-oauth2: - rules: - - <<: *if-merge-request - changes: ["vendor/gems/omniauth-google-oauth2/**/*"] - - <<: *if-merge-request-labels-run-all-rspec - .vendor:rules:omniauth-salesforce: rules: - <<: *if-merge-request @@ -1660,7 +1710,7 @@ rules: - if: '$LICENSE_MANAGEMENT_DISABLED || $GITLAB_FEATURES !~ /\blicense_scanning\b/' when: never - - changes: *code-backstage-qa-patterns + - changes: *dependency-patterns ################ # Review rules # @@ -1783,14 +1833,6 @@ - <<: *if-merge-request changes: *danger-patterns -.review:rules:reviewers-recommender: - rules: - - <<: *if-not-canonical-namespace - when: never - - <<: *if-merge-request-labels-community-contribution - when: never - - <<: *if-merge-request - ############### # Setup rules # ############### diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 4f3111de2b..e417b054cd 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -30,7 +30,7 @@ cache gems: .absolutely-minimal-job: extends: - .minimal-job - image: ${GITLAB_DEPENDENCY_PROXY}alpine:edge + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:edge variables: GIT_STRATEGY: none @@ -79,7 +79,7 @@ verify-ruby-2.7: verify-tests-yml: extends: - .setup:rules:verify-tests-yml - image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine3.13 + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-alpine3.13 stage: test needs: [] script: @@ -116,7 +116,7 @@ generate-frontend-fixtures-mapping: detect-tests: extends: .rails:rules:detect-tests - image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION} needs: [] stage: prepare variables: @@ -134,14 +134,17 @@ detect-tests: tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH}; tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH}; tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH}; - echo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)"; - echo "Related rspec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)"; + filter_rspec_matched_foss_tests ${RSPEC_MATCHING_TESTS_PATH} ${RSPEC_MATCHING_TESTS_FOSS_PATH}; + echoinfo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)"; + echoinfo "Related RSpec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)"; + echoinfo "Related FOSS RSpec tests: $(cat $RSPEC_MATCHING_TESTS_FOSS_PATH)"; fi artifacts: expire_in: 7d paths: - ${RSPEC_CHANGED_FILES_PATH} - ${RSPEC_MATCHING_TESTS_PATH} + - ${RSPEC_MATCHING_TESTS_FOSS_PATH} - ${FRONTEND_FIXTURES_MAPPING_PATH} detect-previous-failed-tests: diff --git a/.gitlab/ci/static-analysis.gitlab-ci.yml b/.gitlab/ci/static-analysis.gitlab-ci.yml index e845e7eb88..59ea665ae0 100644 --- a/.gitlab/ci/static-analysis.gitlab-ci.yml +++ b/.gitlab/ci/static-analysis.gitlab-ci.yml @@ -31,7 +31,7 @@ static-analysis: - .static-analysis:rules:static-analysis parallel: 2 script: - - run_timed_command "retry yarn install --frozen-lockfile" + - yarn_install_script - scripts/static-analysis static-analysis as-if-foss: @@ -84,7 +84,7 @@ eslint: variables: USE_BUNDLE_INSTALL: "false" script: - - run_timed_command "retry yarn install --frozen-lockfile" + - yarn_install_script - run_timed_command "yarn run lint:eslint:all" eslint as-if-foss: diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index f4fa39300b..e147305e25 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -1,5 +1,5 @@ .tests-metadata-state: - image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION} before_script: - source scripts/utils.sh artifacts: diff --git a/.gitlab/ci/vendored-gems.gitlab-ci.yml b/.gitlab/ci/vendored-gems.gitlab-ci.yml index 577bd37ca9..a22ac5337f 100644 --- a/.gitlab/ci/vendored-gems.gitlab-ci.yml +++ b/.gitlab/ci/vendored-gems.gitlab-ci.yml @@ -6,6 +6,14 @@ vendor mail-smtp_pool: include: vendor/gems/mail-smtp_pool/.gitlab-ci.yml strategy: depend +vendor attr_encrypted: + extends: + - .vendor:rules:attr_encrypted + needs: [] + trigger: + include: vendor/gems/attr_encrypted/.gitlab-ci.yml + strategy: depend + vendor microsoft_graph_mailer: extends: - .vendor:rules:microsoft_graph_mailer @@ -54,14 +62,6 @@ vendor omniauth-gitlab: include: vendor/gems/omniauth-gitlab/.gitlab-ci.yml strategy: depend -vendor omniauth-google-oauth2: - extends: - - .vendor:rules:omniauth-google-oauth2 - needs: [] - trigger: - include: vendor/gems/omniauth-google-oauth2/.gitlab-ci.yml - strategy: depend - vendor omniauth-salesforce: extends: - .vendor:rules:omniauth-salesforce diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index efd37b2247..a11d5f000c 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -1,9 +1,10 @@ workhorse:verify: extends: .workhorse:rules:workhorse - image: ${GITLAB_DEPENDENCY_PROXY}golang:1.17 + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}golang:${GO_VERSION} stage: test needs: [] script: + - go version - make -C workhorse # test build - make -C workhorse verify @@ -12,7 +13,6 @@ workhorse:verify: image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}:git-2.36 variables: GITALY_ADDRESS: "tcp://127.0.0.1:8075" - GO_VERSION: "1.17" stage: test needs: - setup-test-env @@ -27,7 +27,7 @@ workhorse:test go: extends: .workhorse:test parallel: matrix: - - GO_VERSION: ["1.17", "1.18"] + - GO_VERSION: ["1.17", "1.18", "1.19"] script: - make -C workhorse test-coverage coverage: '/\d+.\d+%/' diff --git a/.gitlab/issue_templates/Actionable Insight - Exploration needed.md b/.gitlab/issue_templates/Actionable Insight - Exploration needed.md index 76316fc626..e410715909 100644 --- a/.gitlab/issue_templates/Actionable Insight - Exploration needed.md +++ b/.gitlab/issue_templates/Actionable Insight - Exploration needed.md @@ -1,4 +1,4 @@ - diff --git a/.gitlab/issue_templates/Actionable Insight - Product change.md b/.gitlab/issue_templates/Actionable Insight - Product change.md index 6c03022063..fba467afd0 100644 --- a/.gitlab/issue_templates/Actionable Insight - Product change.md +++ b/.gitlab/issue_templates/Actionable Insight - Product change.md @@ -1,4 +1,4 @@ - diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md index b9fed3745d..1266ee7efe 100644 --- a/.gitlab/issue_templates/Bug.md +++ b/.gitlab/issue_templates/Bug.md @@ -39,7 +39,10 @@ will also determine whether the bug is fixed in a more recent version. --> ### Output of checks - + + + + #### Results of GitLab environment info diff --git a/.gitlab/issue_templates/Deprecations.md b/.gitlab/issue_templates/Deprecations.md index 76c66a3a89..ef6764c362 100644 --- a/.gitlab/issue_templates/Deprecations.md +++ b/.gitlab/issue_templates/Deprecations.md @@ -1,4 +1,4 @@ -For guidance on the overall deprecations, removals and breaking changes workflow, please visit https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features +For guidance on the overall deprecations, removals and breaking changes workflow, please visit [Breaking changes, deprecations, and removing features](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features) @@ -10,6 +10,9 @@ This should contain a brief description of the feature or functionality that is It is recommended that you link to the documentation. The description of the deprecation should state what actions the user should take to rectify the behavior. If the deprecation is scheduled for an upcoming release, the content should remain in the deprecations documentation page until it has been completed. For example, if a deprecation is announced in 14.9 and scheduled to be completed in 15.0, the same content would be included in the documentation for 14.9, 14.10, and 15.0. + +**If this issue proposes a breaking change outside a major release XX.0, you need to get approval from your manager and request collaboration from Product Operations on communication. Be sure to follow the guidance [here](https://about.gitlab.com/handbook/product/gitlab-the-product/#breaking-changes-deprecations-and-removing-features.)** + --> ### Breaking Change diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md index f3830a5cc1..a9f96a61d2 100644 --- a/.gitlab/issue_templates/Feature Flag Roll Out.md +++ b/.gitlab/issue_templates/Feature Flag Roll Out.md @@ -82,6 +82,7 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s ### Preparation before global rollout +- [ ] Set a milestone to the rollout issue to signal for enabling and removing the feature flag when it is stable. - [ ] Check if the feature flag change needs to be accompanied with a [change management issue](https://about.gitlab.com/handbook/engineering/infrastructure/change-management/#feature-flags-and-the-change-management-process). Cross link the issue here if it does. @@ -167,4 +168,11 @@ You can either [create a follow-up issue for Feature Flag Cleanup](https://gitla /chatops run feature set false ``` -/label ~"feature flag" ~"type::feature" ~"feature::addition" + + +/label ~group:: +/label ~"feature flag" +/assign me +/due in 1 month diff --git a/.gitlab/issue_templates/Feature proposal - detailed.md b/.gitlab/issue_templates/Feature proposal - detailed.md index 48052ed49e..9eac2ca27c 100644 --- a/.gitlab/issue_templates/Feature proposal - detailed.md +++ b/.gitlab/issue_templates/Feature proposal - detailed.md @@ -37,7 +37,7 @@ Personas are described at https://about.gitlab.com/handbook/marketing/product-ma +https://about.gitlab.com/handbook/product/ux/ux-research-training/user-story-mapping/ --> ### Proposal diff --git a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md index 7ef5287aba..6c9b8bb6d7 100644 --- a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md +++ b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md @@ -51,20 +51,16 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org bin/rails generate migration CreateCoolWidgetRegistry --database geo ``` -Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0. - -For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue. - - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. ```ruby # frozen_string_literal: true - class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0] + class CreateCoolWidgetRegistry < Gitlab::Database::Migration[2.0] disable_ddl_transaction! def up - ApplicationRecord.transaction do + Geo::TrackingBase.transaction do create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| t.bigint :cool_widget_id, null: false t.datetime_with_timezone :created_at, null: false @@ -105,6 +101,13 @@ For more information, see the [Enable Geo migrations to use Migration[2.0]](http ``` - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). + +- [ ] Add the new table to the GitLab Schema defined in [`ee/lib/ee/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/database/gitlab_schemas.yml). + + ```yaml + cool_widget_registry: :gitlab_geo + ``` + - [ ] Run Geo tracking database migrations: ```shell @@ -141,7 +144,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verification_started_at t.datetime_with_timezone :verification_retry_at t.datetime_with_timezone :verified_at - t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade } + t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade } t.integer :verification_state, default: 0, limit: 2, null: false t.integer :verification_retry_count, limit: 2 t.binary :verification_checksum, using: 'verification_checksum::bytea' @@ -162,6 +165,12 @@ The Geo primary site needs to checksum every replicable so secondaries can verif - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). +- [ ] Add the new table to the GitLab Schema defined in [`lib/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/gitlab_schemas.yml) with the databases they need to be added to. + + ```yaml + cool_widget_states: :gitlab_main + ``` + - [ ] Run database migrations: ```shell @@ -260,7 +269,6 @@ That's all of the required database changes. def pool_repository nil end - ... def cool_widget_state super || build_cool_widget_state @@ -380,14 +388,16 @@ That's all of the required database changes. ```ruby # frozen_string_literal: true - class Geo::CoolWidgetRegistry < Geo::BaseRegistry - include ::Geo::ReplicableRegistry - include ::Geo::VerifiableRegistry + module Geo + class CoolWidgetRegistry < Geo::BaseRegistry + include ::Geo::ReplicableRegistry + include ::Geo::VerifiableRegistry - MODEL_CLASS = ::CoolWidget - MODEL_FOREIGN_KEY = :cool_widget_id + MODEL_CLASS = ::CoolWidget + MODEL_FOREIGN_KEY = :cool_widget_id - belongs_to :cool_widget, class_name: 'CoolWidget' + belongs_to :cool_widget, class_name: 'CoolWidget' + end end ``` @@ -454,13 +464,13 @@ That's all of the required database changes. - [ ] Add the following to `spec/factories/cool_widgets.rb`: ```ruby - trait(:verification_succeeded) do + trait :verification_succeeded do with_file verification_checksum { 'abc' } verification_state { CoolWidget.verification_state_value(:verification_succeeded) } end - trait(:verification_failed) do + trait :verification_failed do with_file verification_failure { 'Could not calculate the checksum' } verification_state { CoolWidget.verification_state_value(:verification_failed) } @@ -498,11 +508,11 @@ That's all of the required database changes. factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do cool_widget - trait(:checksummed) do + trait :checksummed do verification_checksum { 'abc' } end - trait(:checksum_failure) do + trait :checksum_failure do verification_failure { 'Could not calculate the checksum' } end end @@ -552,8 +562,9 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, null: true, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, - description: 'Find Cool Widget registries on this Geo node', - feature_flag: :geo_cool_widget_replication + description: 'Find Cool Widget registries on this Geo node. '\ + 'Ignored if `geo_cool_widget_replication` feature flag is disabled.', + alpha: { milestone: '15.5' } # Update the milestone ``` - [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`. @@ -618,13 +629,15 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir module Geo # rubocop:disable Graphql/AuthorizeTypes because it is included class CoolWidgetRegistryType < BaseObject + graphql_name 'CoolWidgetRegistry' + include ::Types::Geo::RegistryType - graphql_name 'CoolWidgetRegistry' description 'Represents the Geo replication and verification state of a cool_widget' field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.' end + # rubocop:enable Graphql/AuthorizeTypes end end ``` @@ -708,14 +721,15 @@ As illustrated by the above two examples, batch destroy logic cannot be handled - [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`. - [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there. - [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true` -- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `feature_flag` option for the released type: +- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `alpha` option for the released type: ```ruby field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, null: true, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, - description: 'Find Cool Widget registries on this Geo node', - feature_flag: :geo_cool_widget_replication # REMOVE THIS LINE + description: 'Find Cool Widget registries on this Geo node. '\ + 'Ignored if `geo_cool_widget_replication` feature flag is disabled.', + alpha: { milestone: '15.5' } # Update the milestone ``` - [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs. diff --git a/.gitlab/issue_templates/Geo Replicate a new blob type.md b/.gitlab/issue_templates/Geo Replicate a new blob type.md index 17a4dd4bc3..76fe177292 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -53,20 +53,16 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org bin/rails generate migration CreateCoolWidgetRegistry --database geo ``` -Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0. - -For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue. - - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. ```ruby # frozen_string_literal: true - class CreateCoolWidgetRegistry < Gitlab::Database::Migration[1.0] + class CreateCoolWidgetRegistry < Gitlab::Database::Migration[2.0] disable_ddl_transaction! def up - ApplicationRecord.transaction do + Geo::TrackingBase.transaction do create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| t.bigint :cool_widget_id, null: false t.datetime_with_timezone :created_at, null: false @@ -105,6 +101,13 @@ For more information, see the [Enable Geo migrations to use Migration[2.0]](http ``` - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). + +- [ ] Add the new table to the GitLab Schema defined in [`ee/lib/ee/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/ee/gitlab/database/gitlab_schemas.yml). + + ```yaml + cool_widget_registry: :gitlab_geo + ``` + - [ ] Run Geo tracking database migrations: ```shell @@ -143,7 +146,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verification_started_at t.datetime_with_timezone :verification_retry_at t.datetime_with_timezone :verified_at - t.references :cool_widget, primary_key: true, null: false, foreign_key: { on_delete: :cascade } + t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade } t.integer :verification_state, default: 0, limit: 2, null: false t.integer :verification_retry_count, limit: 2 t.binary :verification_checksum, using: 'verification_checksum::bytea' @@ -164,6 +167,12 @@ The Geo primary site needs to checksum every replicable so secondaries can verif - [ ] If deviating from the above example, then be sure to order columns according to [our guidelines](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/ordering_table_columns.md). +- [ ] Add the new table to the GitLab Schema defined in [`lib/gitlab/database/gitlab_schemas.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/gitlab_schemas.yml) with the databases they need to be added to. + + ```yaml + cool_widget_states: :gitlab_main + ``` + - [ ] Run database migrations: ```shell @@ -238,7 +247,8 @@ That's all of the required database changes. # we want to know which records to replicate. This is not easy to automate # because for example: # - # * The "selective sync" feature allows admins to choose which namespaces # to replicate, per secondary site. Most Models are scoped to a + # * The "selective sync" feature allows admins to choose which namespaces + # to replicate, per secondary site. Most Models are scoped to a # namespace, but the nature of the relationship to a namespace varies # between Models. # * The "selective sync" feature allows admins to choose which shards to @@ -256,7 +266,6 @@ That's all of the required database changes. CoolWidgetState end end - ... def cool_widget_state super || build_cool_widget_state @@ -308,7 +317,7 @@ That's all of the required database changes. end ``` -- [ ] Generate the feature flag definition fileы by running the feature flag commands and following the command prompts: +- [ ] Generate the feature flag definition file by running the feature flag commands and following the command prompts: ```shell bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo' @@ -346,14 +355,16 @@ That's all of the required database changes. ```ruby # frozen_string_literal: true - class Geo::CoolWidgetRegistry < Geo::BaseRegistry - include ::Geo::ReplicableRegistry - include ::Geo::VerifiableRegistry + module Geo + class CoolWidgetRegistry < Geo::BaseRegistry + include ::Geo::ReplicableRegistry + include ::Geo::VerifiableRegistry - MODEL_CLASS = ::CoolWidget - MODEL_FOREIGN_KEY = :cool_widget_id + MODEL_CLASS = ::CoolWidget + MODEL_FOREIGN_KEY = :cool_widget_id - belongs_to :cool_widget, class_name: 'CoolWidget' + belongs_to :cool_widget, class_name: 'CoolWidget' + end end ``` @@ -420,13 +431,13 @@ That's all of the required database changes. - [ ] Add the following to `spec/factories/cool_widgets.rb`: ```ruby - trait(:verification_succeeded) do + trait :verification_succeeded do with_file verification_checksum { 'abc' } verification_state { CoolWidget.verification_state_value(:verification_succeeded) } end - trait(:verification_failed) do + trait :verification_failed do with_file verification_failure { 'Could not calculate the checksum' } verification_state { CoolWidget.verification_state_value(:verification_failed) } @@ -438,6 +449,8 @@ That's all of the required database changes. - [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`: ``` ruby + # frozen_string_literal: true + module Geo class CoolWidgetState < ApplicationRecord include EachBatch @@ -462,11 +475,11 @@ That's all of the required database changes. factory :geo_cool_widget_state, class: 'Geo::CoolWidgetState' do cool_widget - trait(:checksummed) do + trait :checksummed do verification_checksum { 'abc' } end - trait(:checksum_failure) do + trait :checksum_failure do verification_failure { 'Could not calculate the checksum' } end end @@ -516,8 +529,9 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, null: true, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, - description: 'Find Cool Widget registries on this Geo node', - feature_flag: :geo_cool_widget_replication + description: 'Find Cool Widget registries on this Geo node. '\ + 'Ignored if `geo_cool_widget_replication` feature flag is disabled.', + alpha: { milestone: '15.5' } # Update the milestone ``` - [ ] Add the new `cool_widget_registries` field name to the `expected_fields` array in `ee/spec/graphql/types/geo/geo_node_type_spec.rb`. @@ -582,13 +596,15 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir module Geo # rubocop:disable Graphql/AuthorizeTypes because it is included class CoolWidgetRegistryType < BaseObject + graphql_name 'CoolWidgetRegistry' + include ::Types::Geo::RegistryType - graphql_name 'CoolWidgetRegistry' description 'Represents the Geo replication and verification state of a cool_widget' - field :cool_widget_id, GraphQL::ID_TYPE, null: false, description: 'ID of the Cool Widget' + field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.' end + # rubocop:enable Graphql/AuthorizeTypes end end ``` @@ -673,14 +689,15 @@ As illustrated by the above two examples, batch destroy logic cannot be handled - [ ] Add a step to `Test replication and verification of Cool Widgets on a non-GDK-deployment. For example, using GitLab Environment Toolkit`. - [ ] Add a step to `Ping the Geo PM and EM to coordinate testing`. For example, you might add steps to generate Cool Widgets, and then a Geo engineer may take it from there. - [ ] In `ee/config/feature_flags/development/geo_cool_widget_replication.yml`, set `default_enabled: true` -- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `feature_flag` option for the released type: +- [ ] In `ee/app/graphql/types/geo/geo_node_type.rb`, remove the `alpha` option for the released type: ```ruby field :cool_widget_registries, ::Types::Geo::CoolWidgetRegistryType.connection_type, null: true, resolver: ::Resolvers::Geo::CoolWidgetRegistriesResolver, - description: 'Find Cool Widget registries on this Geo node', - feature_flag: :geo_cool_widget_replication # REMOVE THIS LINE + description: 'Find Cool Widget registries on this Geo node. '\ + 'Ignored if `geo_cool_widget_replication` feature flag is disabled.', + alpha: { milestone: '15.5' } # Update the milestone ``` - [ ] Run `bundle exec rake gitlab:graphql:compile_docs` after the step above to regenerate the GraphQL docs. diff --git a/.gitlab/issue_templates/QA Failure.md b/.gitlab/issue_templates/QA Failure.md index 3171923d8c..bcfe7c42e9 100644 --- a/.gitlab/issue_templates/QA Failure.md +++ b/.gitlab/issue_templates/QA Failure.md @@ -56,6 +56,9 @@ If you include multiple screenshots it can be helpful to hide all but the first /label ~Quality ~QA ~test + +/label ~"type::ignore" + /label ~"failure::broken-test" ~"failure::flaky-test" ~"failure::stale-test" ~"failure::test-environment" ~"failure::investigating" ~"failure::new" diff --git a/.gitlab/issue_templates/Solution Validation.md b/.gitlab/issue_templates/Solution Validation.md index 27f97d8dd1..e7ab7fe820 100644 --- a/.gitlab/issue_templates/Solution Validation.md +++ b/.gitlab/issue_templates/Solution Validation.md @@ -26,7 +26,7 @@ /label ~"workflow::solution validation" \ No newline at end of file diff --git a/.gitlab/issue_templates/UX Theme.md b/.gitlab/issue_templates/UX Theme.md index 043cb70535..2ba60523e2 100644 --- a/.gitlab/issue_templates/UX Theme.md +++ b/.gitlab/issue_templates/UX Theme.md @@ -1,6 +1,6 @@ +One of the advantages of working with UX themes is that it allows us to think and design holistically by designing the theme as a whole as opposed to a single issue at a time trying to piece them together as you go. For more details please refer to this section of the handbook when creating UX Themes: https://about.gitlab.com/handbook/product/ux/product-design/ux-roadmaps/#theme-structure --> ### UX Theme + | Confidence | Research | @@ -55,7 +55,7 @@ Note: This is not a backlog. If the subthemes can not be delivered in the theme Note: if feature issues already exist then you can add them to this table. Keep in mind that subthemes require validation if they are assumptive -Refer to https://about.gitlab.com/handbook/engineering/ux/product-designer/#ux-issue-weights for calculating UX weights. +Refer to https://about.gitlab.com/handbook/product/ux/product-designer/#ux-issue-weights for calculating UX weights. --> | Issue | UX Weight | diff --git a/.gitlab/merge_request_templates/Deprecations.md b/.gitlab/merge_request_templates/Deprecations.md index dcd5d79e0d..6a5ee6e74e 100644 --- a/.gitlab/merge_request_templates/Deprecations.md +++ b/.gitlab/merge_request_templates/Deprecations.md @@ -56,7 +56,7 @@ feature for all reviews. Reviewers will then `approve` the MR and remove themsel - [ ] (Recommended) PMM - [ ] (Optional) Product Designer - [ ] (Optional) Group Manager or Director -- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). +- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments). ### Tech writer review diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md index 4932fbd7f2..2096b06d73 100644 --- a/.gitlab/merge_request_templates/Documentation.md +++ b/.gitlab/merge_request_templates/Documentation.md @@ -8,7 +8,7 @@ ## Author's checklist -- [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/engineering/ux/technical-writing/fundamentals/). +- [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/product/ux/technical-writing/fundamentals/). - [ ] Follow the: - [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html). - [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/). @@ -16,7 +16,7 @@ - [ ] If you're adding or changing the main heading of the page (H1), ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added. - [ ] If you are a GitLab team member, [request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-attention-request-feature) based on: - The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata). - - The [associated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). + - The [associated Technical Writer](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments). If you are a GitLab team member and only adding documentation, do not add any of the following labels: @@ -34,7 +34,7 @@ Documentation-related MRs should be reviewed by a Technical Writer for a non-blo - [ ] If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items: - [ ] Ensure docs metadata is present and up-to-date. - - [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#labels) are added to this MR. + - [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/product/ux/technical-writing/workflow/#labels) are added to this MR. - [ ] Ensure a release milestone is set. - If relevant to this MR, ensure [content topic type](https://docs.gitlab.com/ee/development/documentation/structure.html) principles are in use, including: - [ ] The headings should be something you'd do a Google search for. Instead of `Default behavior`, say something like `Default behavior when you close an issue`. diff --git a/.gitlab/merge_request_templates/Removals.md b/.gitlab/merge_request_templates/Removals.md index 4801af2a12..afe95f853b 100644 --- a/.gitlab/merge_request_templates/Removals.md +++ b/.gitlab/merge_request_templates/Removals.md @@ -61,7 +61,7 @@ feature for all reviews. Reviewers will `approve` the MR and remove themselves f - [ ] (Recommended) PMM - [ ] (Optional) Product Designer - [ ] (Optional) Group Manager or Director -- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). +- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments). ### Tech writer review diff --git a/.gitpod.yml b/.gitpod.yml index 3fb623b9fb..535c60b42c 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -86,7 +86,7 @@ tasks: printf "$(date) – GitLab is up (took ~%.1f minutes)\n" "$((10*$SECONDS/60))e-1" | tee -a /workspace/startup.log gp preview $(gp url 3000) || true PREBUILD_LOG=(/workspace/.gitpod/prebuild-log-*) - [[ -f /workspace/gitpod_start_time.sh ]] && printf "Took %.1f minutes from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitpod.yml being executed through to completion %s\n" "$((10*(($(date +%s)-${START_TIME_IN_SECONDS}))/60))e-1" "$([[ -f "$PREBUILD_LOG" ]] && echo "With Prebuilds")" + [[ -f /workspace/gitpod_start_time.sh ]] && printf "Took %.1f minutes from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitpod.yml being executed through to completion %s\n" "$((10*(($(date +%s)-${START_TIME_IN_SECONDS}))/60))e-1" "$([[ -f "$PREBUILD_LOG" ]] && echo "With Prebuilds")" ) ports: @@ -111,10 +111,10 @@ ports: vscode: extensions: - - rebornix.ruby@0.28.0 - - wingrunr21.vscode-ruby@0.27.0 - - karunamurti.haml@1.3.1 - - octref.vetur@0.34.1 - - dbaeumer.vscode-eslint@2.1.8 - - gitlab.gitlab-workflow@3.24.0 - - DavidAnson.vscode-markdownlint@0.44.4 + - rebornix.ruby@0.28.1 + - wingrunr21.vscode-ruby@0.28.0 + - karunamurti.haml@1.4.1 + - octref.vetur@0.36.0 + - dbaeumer.vscode-eslint@2.2.6 + - GitLab.gitlab-workflow@3.48.1 + - DavidAnson.vscode-markdownlint@0.47.0 diff --git a/.haml-lint.yml b/.haml-lint.yml index 7d772831b2..60f86eb415 100644 --- a/.haml-lint.yml +++ b/.haml-lint.yml @@ -101,6 +101,7 @@ linters: - Style/IfUnlessModifier - Style/IndentationWidth - Style/Next + - Style/SoleNestedConditional - Style/TrailingWhitespace - Style/WhileUntilModifier - Cop/StaticTranslationDefinition diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml index 9f201dcc28..ce4f697300 100644 --- a/.haml-lint_todo.yml +++ b/.haml-lint_todo.yml @@ -1,7 +1,19 @@ # This configuration was generated by # `haml-lint --auto-gen-config` -# on 2021-04-01 00:00:00 +0000 using Haml-Lint version 0.36.0. +# on 2022-09-15 12:13:31 +0000 using Haml-Lint version 0.40.1. # The point is for the user to remove these configuration records # one by one as the lints are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of Haml-Lint, may require this file to be generated again. + +linters: + + # Offense count: 11 + RuboCop: + exclude: + - "app/views/layouts/_page.html.haml" + - "app/views/layouts/header/_default.html.haml" + - "app/views/projects/merge_requests/dropdowns/_branch.html.haml" + - "app/views/projects/merge_requests/dropdowns/_project.html.haml" + - "app/views/shared/_flash_user_callout.html.haml" + - "app/views/shared/_label.html.haml" \ No newline at end of file diff --git a/.projections.json.example b/.projections.json.example index dc1b42b917..5a5c87704c 100644 --- a/.projections.json.example +++ b/.projections.json.example @@ -1,5 +1,7 @@ { "ee/*": { "type": "ee" }, + "app/*": { "type": "ce" }, + "lib/*": { "type": "ce" }, "config/initializers/*.rb": { "alternate": "spec/initializers/{}_spec.rb", "type": "source" @@ -57,37 +59,40 @@ "type": "source" }, "app/presenters/*.rb": { + "alternate": "spec/app/presenters/{}_spec.rb", "related": "ee/app/presenters/ee/{}.rb", "type": "source" }, "app/serializers/*.rb": { + "alternate": "spec/app/serializers/{}_spec.rb", "related": "ee/app/serializers/ee/{}.rb", "type": "source" }, "app/services/*.rb": { + "alternate": "spec/app/services/{}_spec.rb", "related": "ee/app/services/ee/{}.rb", "type": "source" }, "app/uploaders/*.rb": { + "alternate": "spec/app/uploaders/{}_spec.rb", "related": "ee/app/uploaders/ee/{}.rb", "type": "source" }, "app/validators/*.rb": { + "alternate": "spec/app/validators/{}_spec.rb", "related": "ee/app/validators/ee/{}.rb", "type": "source" }, "app/views/*.rb": { + "alternate": "spec/app/views/{}_spec.rb", "related": "ee/app/views/ee/{}.rb", "type": "source" }, "app/workers/*.rb": { + "alternate": "spec/app/workers/{}_spec.rb", "related": "ee/app/workers/ee/{}.rb", "type": "source" }, - "app/*.rb": { - "alternate": "spec/{}_spec.rb", - "type": "source" - }, "spec/*_spec.rb": { "alternate": "app/{}.rb", "type": "test" @@ -124,8 +129,79 @@ "alternate": "ee/lib/api/{}.rb", "type": "test" }, + "ee/app/controllers/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/controllers/{}.rb", + "type": "source" + }, + "ee/app/finders/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/finders/{}.rb", + "type": "source" + }, + "ee/app/graphql/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/graphql/{}.rb", + "type": "source" + }, + "ee/app/helpers/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/helpers/{}.rb", + "type": "source" + }, + "ee/app/mailers/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/mailers/{}.rb", + "type": "source" + }, + "ee/app/models/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/models/{}.rb", + "type": "source" + }, + "ee/app/policies/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/policies/{}.rb", + "type": "source" + }, + "ee/app/presenters/ee/*.rb": { + "alternate": "ee/spec/{}_spec.rb", + "related": "app/presenters/{}.rb", + "type": "source" + }, + "ee/app/serializers/ee/*.rb": { + "alternate": "spec/app/serializers/{}_spec.rb", + "related": "app/serializers/{}.rb", + "type": "source" + }, + "ee/app/services/ee/*.rb": { + "alternate": "spec/app/services/{}_spec.rb", + "related": "app/services/{}.rb", + "type": "source" + }, + "ee/app/uploaders/ee/*.rb": { + "alternate": "spec/app/uploaders/{}_spec.rb", + "related": "app/uploaders/{}.rb", + "type": "source" + }, + "ee/app/validators/ee/*.rb": { + "alternate": "spec/app/validators/{}_spec.rb", + "related": "app/validators/{}.rb", + "type": "source" + }, + "ee/app/views/ee/*.rb": { + "alternate": "spec/app/views/{}_spec.rb", + "related": "app/views/{}.rb", + "type": "source" + }, + "ee/app/workers/ee/*.rb": { + "alternate": "spec/app/workers/{}_spec.rb", + "related": "app/workers/{}.rb", + "type": "source" + }, "ee/app/*.rb": { "alternate": "ee/spec/{}_spec.rb", + "related": "app/{}.rb", "type": "source" }, "ee/spec/*_spec.rb": { @@ -136,6 +212,11 @@ "alternate": "ee/spec/lib/{}_spec.rb", "type": "source" }, + "ee/lib/ee/*.rb": { + "alternate": "ee/spec/lib/{}_spec.rb", + "related": "lib/{}.rb", + "type": "source" + }, "ee/spec/lib/*_spec.rb": { "alternate": "ee/lib/{}.rb", "type": "test" @@ -154,16 +235,18 @@ }, "ee/app/assets/javascripts/*.js": { "alternate": "ee/spec/frontend/{}_spec.js", + "related": "app/assets/javascripts/{}.js", "type": "source" }, "ee/app/assets/javascripts/*.vue": { "alternate": "ee/spec/frontend/{}_spec.js", + "related": "app/assets/javascripts/{}.vue", "type": "source" }, "ee/spec/frontend/*_spec.js": { "alternate": ["ee/app/assets/javascripts/{}.vue", "ee/app/assets/javascripts/{}.js"], "type": "test" }, - "*.rb": {"dispatch": "bundle exec rubocop {file}"}, - "*_spec.rb": {"dispatch": "bundle exec rspec {file}"} + "*.rb": { "dispatch": "bundle exec rubocop {file}" }, + "*_spec.rb": { "dispatch": "bundle exec rspec {file}" } } diff --git a/.rubocop.yml b/.rubocop.yml index 7fe3fc35b6..b84effd5b1 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -13,6 +13,9 @@ inherit_from: <% end %> - '.rubocop_todo.yml' <% end %> + <% if RUBY_VERSION[/^\d+\.\d+/, 0] == '3.0' %> + - ./rubocop/rubocop-ruby30.yml + <% end %> - ./rubocop/rubocop-migrations.yml - ./rubocop/rubocop-usage-data.yml - ./rubocop/rubocop-code_reuse.yml @@ -26,7 +29,8 @@ inherit_mode: - Exclude AllCops: - TargetRubyVersion: 2.7 + # Target the current Ruby version. For example, "2.7" or "3.0". + TargetRubyVersion: <%= RUBY_VERSION[/^\d+\.\d+/, 0] %> TargetRailsVersion: 6.0 Exclude: - 'vendor/**/*' @@ -40,11 +44,23 @@ AllCops: - 'plugins/**/*' - 'file_hooks/**/*' - 'workhorse/**/*' + - 'shared/packages/**/*' - 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git - 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate` # Use absolute path to avoid orphan directories with changed workspace root. CacheRootDirectory: <%= Dir.getwd %>/tmp MaxFilesInCache: 35000 + NewCops: disable + SuggestExtensions: false + +RSpec: + Language: + Includes: + Examples: + - run_permission_checks + - run_group_permission_checks + - it_should_email! + - it_should_not_email! Metrics/ParameterLists: Exclude: @@ -80,7 +96,6 @@ Lint/EmptyFile: # This cop checks whether some constant value isn't a # mutable literal (e.g. array or hash). Style/MutableConstant: - Enabled: true Exclude: - 'db/migrate/**/*' - 'db/post_migrate/**/*' @@ -101,8 +116,7 @@ Style/FrozenStringLiteralComment: EnforcedStyle: always_true Style/SpecialGlobalVars: - # https://gitlab.com/gitlab-org/gitlab/-/issues/358427 - EnforcedStyle: use_perl_names + EnforcedStyle: use_builtin_english_names RSpec/FilePath: Exclude: @@ -448,6 +462,12 @@ RSpec/FactoriesInMigrationSpecs: - 'spec/lib/ee/gitlab/background_migration/**/*.rb' - 'ee/spec/lib/ee/gitlab/background_migration/**/*.rb' +RSpec/FactoryBot/AvoidCreate: + Enabled: true + Include: + - 'spec/serializers/**/*.rb' + - 'ee/spec/serializers/**/*.rb' + Cop/IncludeSidekiqWorker: Enabled: true Exclude: @@ -690,7 +710,7 @@ Gitlab/RailsLogger: - 'ee/spec/**/*.rb' # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606 -FactoryBot/InlineAssociation: +RSpec/FactoryBot/InlineAssociation: Include: - 'spec/factories/**/*.rb' - 'ee/spec/factories/**/*.rb' @@ -775,3 +795,39 @@ Fips/OpenSSL: Gemspec/AvoidExecutingGit: Enabled: false + +Lint/BinaryOperatorWithIdenticalOperands: + Exclude: + - '{,ee/,qa/}spec/**/*_{spec,shared_examples,shared_context}.rb' + +Cop/SidekiqRedisCall: + Enabled: true + Exclude: + - '{,ee/,jh/}spec/**/*' + - 'lib/gitlab/database/migration_helpers.rb' + - 'lib/gitlab/sidekiq_migrate_jobs.rb' + - 'lib/gitlab/sidekiq_versioning.rb' + +Cop/RedisQueueUsage: + Enabled: true + Exclude: + - '{,ee/,jh/}spec/**/*' + - 'config/initializers/sidekiq.rb' + - 'lib/gitlab/instrumentation/redis.rb' + - 'lib/gitlab/redis.rb' + - 'lib/system_check/app/redis_version_check.rb' + - 'lib/gitlab/mail_room.rb' + +Cop/SidekiqApiUsage: + Enabled: true + Exclude: + - '{,ee/,jh/}spec/**/*' + - 'db/post_migrate/**/*' + - 'lib/gitlab/sidekiq_middleware/**/*' + - 'lib/gitlab/background_migration/**/*' + - 'lib/gitlab/hashed_storage/migrator.rb' + - 'lib/api/sidekiq_metrics.rb' + - 'lib/gitlab/sidekiq_config.rb' + - 'lib/gitlab/sidekiq_queue.rb' + - 'config/initializers/sidekiq.rb' + - 'config/initializers/forbid_sidekiq_in_transactions.rb' diff --git a/.rubocop_todo/cop/static_translation_definition.yml b/.rubocop_todo/cop/static_translation_definition.yml index 22f5070d07..ecbee866a6 100644 --- a/.rubocop_todo/cop/static_translation_definition.yml +++ b/.rubocop_todo/cop/static_translation_definition.yml @@ -1,20 +1,6 @@ --- Cop/StaticTranslationDefinition: Exclude: - - 'app/models/application_setting.rb' - 'app/models/diff_viewer/image.rb' - 'app/models/diff_viewer/rich.rb' - 'app/models/diff_viewer/simple.rb' - - 'app/models/group_group_link.rb' - - 'app/models/jira_import_state.rb' - - 'app/models/member.rb' - - 'app/models/project.rb' - - 'app/models/project_group_link.rb' - - 'app/models/user.rb' - - 'app/models/users/banned_user.rb' - - 'ee/app/models/allowed_email_domain.rb' - - 'ee/app/models/dast/site_profile_secret_variable.rb' - - 'ee/app/models/group_merge_request_approval_setting.rb' - - 'ee/app/models/incident_management/escalation_policy.rb' - - 'ee/app/models/incident_management/escalation_rule.rb' - - 'ee/app/models/vulnerabilities/read.rb' diff --git a/.rubocop_todo/gitlab/no_code_coverage_comment.yml b/.rubocop_todo/gitlab/no_code_coverage_comment.yml new file mode 100644 index 0000000000..0dcee5f32e --- /dev/null +++ b/.rubocop_todo/gitlab/no_code_coverage_comment.yml @@ -0,0 +1,19 @@ +--- +Gitlab/NoCodeCoverageComment: + Details: grace period + Exclude: + - 'app/models/integration.rb' + - 'app/services/ci/job_artifacts/destroy_batch_service.rb' + - 'app/workers/database/batched_background_migration/single_database_worker.rb' + - 'config/initializers/net_http_response_patch.rb' + - 'ee/app/models/concerns/geo/replicable_model.rb' + - 'ee/lib/gitlab/geo/replicator.rb' + - 'lib/gitlab/auth/o_auth/session.rb' + - 'lib/gitlab/cleanup/personal_access_tokens.rb' + - 'lib/gitlab/cycle_analytics/summary/defaults.rb' + - 'lib/gitlab/database/background_migration/health_status/signals.rb' + - 'lib/gitlab/seeder.rb' + - 'lib/gitlab/webpack/dev_server_middleware.rb' + - 'lib/tasks/dev.rake' + - 'lib/tasks/gems.rake' + - 'lib/tasks/gitlab/db.rake' diff --git a/.rubocop_todo/gitlab/service_response.yml b/.rubocop_todo/gitlab/service_response.yml new file mode 100644 index 0000000000..ccf934e09b --- /dev/null +++ b/.rubocop_todo/gitlab/service_response.yml @@ -0,0 +1,84 @@ +--- +Gitlab/ServiceResponse: + Details: grace period + Exclude: + - 'app/services/alert_management/metric_images/upload_service.rb' + - 'app/services/analytics/cycle_analytics/stages/base_service.rb' + - 'app/services/boards/lists/base_update_service.rb' + - 'app/services/branches/delete_service.rb' + - 'app/services/bulk_imports/create_service.rb' + - 'app/services/bulk_imports/export_service.rb' + - 'app/services/ci/build_cancel_service.rb' + - 'app/services/ci/build_erase_service.rb' + - 'app/services/ci/build_unschedule_service.rb' + - 'app/services/ci/prometheus_metrics/observe_histograms_service.rb' + - 'app/services/ci/retry_pipeline_service.rb' + - 'app/services/ci/runners/assign_runner_service.rb' + - 'app/services/ci/runners/register_runner_service.rb' + - 'app/services/ci/runners/set_runner_associated_projects_service.rb' + - 'app/services/concerns/alert_management/responses.rb' + - 'app/services/concerns/services/return_service_responses.rb' + - 'app/services/container_expiration_policies/update_service.rb' + - 'app/services/dependency_proxy/group_settings/update_service.rb' + - 'app/services/dependency_proxy/image_ttl_group_policies/update_service.rb' + - 'app/services/groups/update_statistics_service.rb' + - 'app/services/incident_management/pager_duty/create_incident_issue_service.rb' + - 'app/services/incident_management/pager_duty/process_webhook_service.rb' + - 'app/services/issuable/bulk_update_service.rb' + - 'app/services/jira_import/start_import_service.rb' + - 'app/services/namespaces/package_settings/update_service.rb' + - 'app/services/packages/debian/create_distribution_service.rb' + - 'app/services/packages/mark_package_for_destruction_service.rb' + - 'app/services/packages/rubygems/dependency_resolver_service.rb' + - 'app/services/snippets/base_service.rb' + - 'app/services/snippets/bulk_destroy_service.rb' + - 'app/services/snippets/destroy_service.rb' + - 'app/services/snippets/repository_validation_service.rb' + - 'app/services/snippets/update_statistics_service.rb' + - 'app/services/timelogs/base_service.rb' + - 'app/services/work_items/create_and_link_service.rb' + - 'app/services/work_items/create_from_task_service.rb' + - 'app/services/work_items/delete_task_service.rb' + - 'ee/app/services/analytics/cycle_analytics/value_streams/create_service.rb' + - 'ee/app/services/app_sec/dast/profiles/destroy_service.rb' + - 'ee/app/services/app_sec/dast/scanner_profiles/destroy_service.rb' + - 'ee/app/services/app_sec/dast/scanner_profiles/update_service.rb' + - 'ee/app/services/app_sec/dast/site_profiles/destroy_service.rb' + - 'ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb' + - 'ee/app/services/ee/ci/retry_pipeline_service.rb' + - 'ee/app/services/external_status_checks/create_service.rb' + - 'ee/app/services/external_status_checks/destroy_service.rb' + - 'ee/app/services/external_status_checks/dispatch_service.rb' + - 'ee/app/services/external_status_checks/update_service.rb' + - 'ee/app/services/gitlab_subscriptions/create_trial_or_lead_service.rb' + - 'ee/app/services/group_saml/saml_group_links/create_service.rb' + - 'ee/app/services/iterations/cadences/create_iterations_in_advance_service.rb' + - 'ee/app/services/iterations/cadences/create_service.rb' + - 'ee/app/services/iterations/cadences/destroy_service.rb' + - 'ee/app/services/iterations/cadences/update_service.rb' + - 'ee/app/services/iterations/create_service.rb' + - 'ee/app/services/iterations/delete_service.rb' + - 'ee/app/services/iterations/roll_over_issues_service.rb' + - 'ee/app/services/iterations/update_service.rb' + - 'ee/app/services/security/findings/dismiss_service.rb' + - 'ee/app/services/vulnerabilities/finding_dismiss_service.rb' + - 'ee/app/services/vulnerability_issue_links/create_service.rb' + - 'ee/app/services/vulnerability_issue_links/delete_service.rb' + - 'ee/spec/graphql/mutations/security/finding/dismiss_spec.rb' + - 'spec/controllers/boards/issues_controller_spec.rb' + - 'spec/controllers/import/bulk_imports_controller_spec.rb' + - 'spec/controllers/import/fogbugz_controller_spec.rb' + - 'spec/controllers/projects/alerting/notifications_controller_spec.rb' + - 'spec/controllers/projects/issues_controller_spec.rb' + - 'spec/controllers/projects/pipelines_controller_spec.rb' + - 'spec/controllers/projects/prometheus/alerts_controller_spec.rb' + - 'spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb' + - 'spec/requests/api/ci/pipelines_spec.rb' + - 'spec/requests/api/ci/runner/runners_post_spec.rb' + - 'spec/requests/api/group_export_spec.rb' + - 'spec/requests/api/issues/issues_spec.rb' + - 'spec/requests/api/project_export_spec.rb' + - 'spec/requests/api/project_import_spec.rb' + - 'spec/requests/projects/incident_management/pagerduty_incidents_spec.rb' + - 'spec/services/bulk_imports/export_service_spec.rb' + - 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb' diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml index bd4cd38615..195f3fee98 100644 --- a/.rubocop_todo/layout/argument_alignment.yml +++ b/.rubocop_todo/layout/argument_alignment.yml @@ -854,7 +854,6 @@ Layout/ArgumentAlignment: - 'spec/rubocop/cop/rspec/be_success_matcher_spec.rb' - 'spec/serializers/feature_flag_entity_spec.rb' - 'spec/serializers/feature_flag_serializer_spec.rb' - - 'spec/serializers/pipeline_serializer_spec.rb' - 'spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb' - 'spec/services/award_emojis/destroy_service_spec.rb' - 'spec/services/bulk_update_integration_service_spec.rb' diff --git a/.rubocop_todo/layout/closing_parenthesis_indentation.yml b/.rubocop_todo/layout/closing_parenthesis_indentation.yml new file mode 100644 index 0000000000..79397e9231 --- /dev/null +++ b/.rubocop_todo/layout/closing_parenthesis_indentation.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +Layout/ClosingParenthesisIndentation: + Exclude: + - 'app/presenters/project_presenter.rb' + - 'spec/requests/api/internal/base_spec.rb' diff --git a/.rubocop_todo/layout/empty_line_between_defs.yml b/.rubocop_todo/layout/empty_line_between_defs.yml new file mode 100644 index 0000000000..ba69fc4c51 --- /dev/null +++ b/.rubocop_todo/layout/empty_line_between_defs.yml @@ -0,0 +1,8 @@ +--- +# Cop supports --auto-correct. +Layout/EmptyLineBetweenDefs: + Exclude: + - 'db/post_migrate/20220202105733_delete_service_template_records.rb' + - 'ee/lib/ee/gitlab/background_migration/populate_resolved_on_default_branch_column.rb' + - 'lib/gitlab/import_export/remote_stream_upload.rb' + - 'lib/gitlab/redis/multi_store.rb' diff --git a/.rubocop_todo/layout/first_array_element_indentation.yml b/.rubocop_todo/layout/first_array_element_indentation.yml index 5207d49304..cbe806fc16 100644 --- a/.rubocop_todo/layout/first_array_element_indentation.yml +++ b/.rubocop_todo/layout/first_array_element_indentation.yml @@ -1,203 +1,14 @@ --- # Cop supports --auto-correct. Layout/FirstArrayElementIndentation: + Details: grace period Exclude: - - 'lib/gitlab/email/message/in_product_marketing/trial.rb' - - 'lib/gitlab/email/message/in_product_marketing/verify.rb' - - 'lib/gitlab/import_export/base/relation_factory.rb' - - 'lib/gitlab/import_export/json/streaming_serializer.rb' - - 'lib/gitlab/kroki.rb' - - 'lib/gitlab/object_hierarchy.rb' - - 'lib/gitlab/pagination/keyset/simple_order_builder.rb' - - 'lib/gitlab/project_authorizations.rb' - - 'lib/gitlab/usage_data.rb' - - 'lib/system_check/app/authorized_keys_permission_check.rb' - - 'qa/qa/resource/protected_branch.rb' - - 'qa/qa/specs/features/api/1_manage/group_access_token_spec.rb' - - 'qa/qa/specs/features/api/1_manage/project_access_token_spec.rb' - - 'qa/qa/specs/features/api/1_manage/user_access_termination_spec.rb' - - 'qa/qa/specs/features/api/1_manage/user_inherited_access_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/automatic_failover_and_recovery_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/changing_repository_storage_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/gitaly_mtls_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/praefect_dataloss_spec.rb' - - 'qa/qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb' - - 'qa/qa/specs/features/browser_ui/1_manage/group/transfer_project_spec.rb' - - 'qa/qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_web_ide_from_diff_tab_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb' - - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb' - - 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/advanced_global_advanced_syntax_search_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/elasticsearch_api_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/main_index/blob_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/4_verify/new_discussion_not_dropping_merge_trains_mr_spec.rb' - - 'spec/controllers/concerns/send_file_upload_spec.rb' - - 'spec/graphql/types/packages/tag_type_spec.rb' - - 'spec/helpers/application_settings_helper_spec.rb' - - 'spec/helpers/commits_helper_spec.rb' - - 'spec/helpers/issuables_description_templates_helper_spec.rb' - - 'spec/helpers/listbox_helper_spec.rb' - - 'spec/helpers/users_helper_spec.rb' - - 'spec/lib/api/helpers/merge_requests_helpers_spec.rb' - - 'spec/lib/banzai/filter/references/label_reference_filter_spec.rb' - - 'spec/lib/csv_builders/stream_spec.rb' - - 'spec/lib/expand_variables_spec.rb' - - 'spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb' - - 'spec/lib/gitlab/background_migration/backfill_integrations_type_new_spec.rb' - - 'spec/lib/gitlab/background_migration/cleanup_orphaned_lfs_objects_projects_spec.rb' - - 'spec/lib/gitlab/background_migration/migrate_merge_request_diff_commit_users_spec.rb' - - 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb' - - 'spec/lib/gitlab/ci/ansi2json_spec.rb' - - 'spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb' - - 'spec/lib/gitlab/ci/config/external/file/artifact_spec.rb' - - 'spec/lib/gitlab/ci/config/external/file/project_spec.rb' - - 'spec/lib/gitlab/ci/config/external/mapper_spec.rb' - - 'spec/lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator_spec.rb' - - 'spec/lib/gitlab/ci/parsers/security/common_spec.rb' - - 'spec/lib/gitlab/ci/reports/codequality_reports_comparer_spec.rb' - - 'spec/lib/gitlab/ci/reports/codequality_reports_spec.rb' - - 'spec/lib/gitlab/ci/variables/builder/group_spec.rb' - - 'spec/lib/gitlab/ci/variables/builder/project_spec.rb' - - 'spec/lib/gitlab/ci/variables/builder_spec.rb' - - 'spec/lib/gitlab/ci/variables/collection/sort_spec.rb' - - 'spec/lib/gitlab/ci/yaml_processor/result_spec.rb' - - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - - 'spec/lib/gitlab/conflict/file_spec.rb' - - 'spec/lib/gitlab/database/each_database_spec.rb' - - 'spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb' - - 'spec/lib/gitlab/database/load_balancing/sticking_spec.rb' - - 'spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb' - - 'spec/lib/gitlab/database/partitioning/monthly_strategy_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_spec.rb' - - 'spec/lib/gitlab/database/similarity_score_spec.rb' - - 'spec/lib/gitlab/diff/char_diff_spec.rb' - - 'spec/lib/gitlab/diff/file_collection_sorter_spec.rb' - - 'spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - - 'spec/lib/gitlab/gitaly_client/blob_service_spec.rb' - - 'spec/lib/gitlab/github_import/importer/diff_notes_importer_spec.rb' - 'spec/lib/gitlab/github_import/importer/issues_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/lfs_objects_importer_spec.rb' - - 'spec/lib/gitlab/github_import/importer/notes_importer_spec.rb' - - 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb' - - 'spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb' - - 'spec/lib/gitlab/hook_data/release_builder_spec.rb' - - 'spec/lib/gitlab/import_export/group/tree_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/group/tree_saver_spec.rb' - - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb' - - 'spec/lib/gitlab/kubernetes/rollout_instances_spec.rb' - - 'spec/lib/gitlab/middleware/handle_malformed_strings_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/column_order_definition_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/order_spec.rb' - - 'spec/lib/gitlab/project_transfer_spec.rb' - - 'spec/lib/gitlab/prometheus_client_spec.rb' - - 'spec/lib/gitlab/push_options_spec.rb' - - 'spec/lib/gitlab/rack_attack/request_spec.rb' - - 'spec/lib/gitlab/search/abuse_detection_spec.rb' - 'spec/lib/gitlab/search/found_blob_spec.rb' - - 'spec/lib/gitlab/serializer/ci/variables_spec.rb' - - 'spec/lib/gitlab/sidekiq_config_spec.rb' - - 'spec/lib/gitlab/ssh_public_key_spec.rb' - - 'spec/lib/gitlab/usage_data/topology_spec.rb' - - 'spec/lib/gitlab/usage_data_spec.rb' - - 'spec/lib/gitlab/utils_spec.rb' - - 'spec/lib/gitlab/webpack/manifest_spec.rb' - - 'spec/lib/google_api/cloud_platform/client_spec.rb' - - 'spec/lib/peek/views/bullet_detailed_spec.rb' - - 'spec/lib/system_check/incoming_email_check_spec.rb' - - 'spec/lib/unnested_in_filters/rewriter_spec.rb' - - 'spec/migrations/add_premium_and_ultimate_plan_limits_spec.rb' - - 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb' - - 'spec/migrations/slice_merge_request_diff_commit_migrations_spec.rb' - - 'spec/models/analytics/cycle_analytics/project_stage_spec.rb' - - 'spec/models/application_setting_spec.rb' - - 'spec/models/ci/build_spec.rb' - - 'spec/models/ci/build_trace_spec.rb' - - 'spec/models/ci/daily_build_group_report_result_spec.rb' - - 'spec/models/ci/pipeline_spec.rb' - 'spec/models/ci/runner_version_spec.rb' - - 'spec/models/ci/unit_test_spec.rb' - - 'spec/models/clusters/applications/cert_manager_spec.rb' - - 'spec/models/clusters/platforms/kubernetes_spec.rb' - - 'spec/models/commit_collection_spec.rb' - - 'spec/models/compare_spec.rb' - - 'spec/models/concerns/id_in_ordered_spec.rb' - - 'spec/models/concerns/noteable_spec.rb' - - 'spec/models/diff_note_spec.rb' - - 'spec/models/discussion_spec.rb' - - 'spec/models/group_group_link_spec.rb' - - 'spec/models/group_spec.rb' - - 'spec/models/integration_spec.rb' - - 'spec/models/integrations/chat_message/issue_message_spec.rb' - - 'spec/models/integrations/chat_message/wiki_page_message_spec.rb' - - 'spec/models/integrations/jira_spec.rb' - - 'spec/models/label_note_spec.rb' - - 'spec/models/merge_request/cleanup_schedule_spec.rb' - - 'spec/models/merge_request_diff_spec.rb' - - 'spec/models/merge_request_spec.rb' - - 'spec/models/operations/feature_flags/strategy_spec.rb' - - 'spec/models/project_group_link_spec.rb' - 'spec/models/repository_spec.rb' - - 'spec/models/user_preference_spec.rb' - - 'spec/models/user_spec.rb' - - 'spec/models/wiki_directory_spec.rb' - - 'spec/policies/concerns/crud_policy_helpers_spec.rb' - - 'spec/presenters/ci/build_runner_presenter_spec.rb' - - 'spec/requests/api/ci/jobs_spec.rb' - - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb' - - 'spec/requests/api/ci/runners_spec.rb' - - 'spec/requests/api/deploy_tokens_spec.rb' - - 'spec/requests/api/graphql/ci/config_spec.rb' - - 'spec/requests/api/graphql/ci/jobs_spec.rb' - - 'spec/requests/api/graphql/mutations/uploads/delete_spec.rb' - - 'spec/requests/api/graphql/project/cluster_agents_spec.rb' - - 'spec/requests/api/graphql/project/issue/designs/designs_spec.rb' - - 'spec/requests/api/graphql/project/milestones_spec.rb' - - 'spec/requests/api/graphql/usage_trends_measurements_spec.rb' - - 'spec/requests/api/graphql/work_item_spec.rb' - - 'spec/requests/api/issues/post_projects_issues_spec.rb' - - 'spec/requests/api/issues/put_projects_issues_spec.rb' - - 'spec/requests/api/merge_requests_spec.rb' - 'spec/requests/api/task_completion_status_spec.rb' - - 'spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb' - - 'spec/requests/projects/issues_controller_spec.rb' - - 'spec/requests/projects/merge_requests_controller_spec.rb' - - 'spec/serializers/build_trace_entity_spec.rb' - - 'spec/serializers/ci/daily_build_group_report_result_serializer_spec.rb' - - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' - - 'spec/services/award_emojis/copy_service_spec.rb' - - 'spec/services/bulk_update_integration_service_spec.rb' - - 'spec/services/ci/compare_test_reports_service_spec.rb' - - 'spec/services/ci/create_pipeline_service/rules_spec.rb' - - 'spec/services/ci/find_exposed_artifacts_service_spec.rb' - - 'spec/services/design_management/move_designs_service_spec.rb' - - 'spec/services/git/tag_hooks_service_spec.rb' - - 'spec/services/google_cloud/setup_cloudsql_instance_service_spec.rb' - - 'spec/services/import/gitlab_projects/create_project_service_spec.rb' - - 'spec/services/jira_connect/sync_service_spec.rb' - - 'spec/services/merge_requests/link_lfs_objects_service_spec.rb' - - 'spec/services/merge_requests/refresh_service_spec.rb' - - 'spec/services/repositories/changelog_service_spec.rb' - - 'spec/services/resource_events/synthetic_milestone_notes_builder_service_spec.rb' - 'spec/services/security/merge_reports_service_spec.rb' - - 'spec/services/users/destroy_service_spec.rb' - 'spec/simplecov_env.rb' - 'spec/support/atlassian/jira_connect/schemata.rb' - 'spec/support/capybara.rb' diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index 94ad3fde25..50cd90019b 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -308,7 +308,6 @@ Layout/FirstHashElementIndentation: - 'lib/gitlab/asciidoc/include_processor.rb' - 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb' - 'lib/gitlab/ci/config/entry/processable.rb' - - 'lib/gitlab/config_checker/external_database_checker.rb' - 'lib/gitlab/database/query_analyzers/gitlab_schemas_metrics.rb' - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' - 'lib/gitlab/github_import/importer/diff_note_importer.rb' @@ -471,7 +470,6 @@ Layout/FirstHashElementIndentation: - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - 'spec/lib/gitlab/ci/reports/terraform_reports_spec.rb' - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - - 'spec/lib/gitlab/config_checker/external_database_checker_spec.rb' - 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb' - 'spec/lib/gitlab/data_builder/build_spec.rb' - 'spec/lib/gitlab/data_builder/issuable_spec.rb' @@ -633,7 +631,6 @@ Layout/FirstHashElementIndentation: - 'spec/support_specs/graphql/arguments_spec.rb' - 'spec/support_specs/graphql/field_selection_spec.rb' - 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tooling/danger/datateam_spec.rb' - 'spec/tooling/lib/tooling/kubernetes_client_spec.rb' - 'spec/views/projects/issues/_issue.html.haml_spec.rb' diff --git a/.rubocop_todo/layout/leading_comment_space.yml b/.rubocop_todo/layout/leading_comment_space.yml new file mode 100644 index 0000000000..fda1d4ff30 --- /dev/null +++ b/.rubocop_todo/layout/leading_comment_space.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +Layout/LeadingCommentSpace: + Exclude: + - 'config/initializers/kaminari_active_record_relation_methods_with_limit.rb' + - 'lib/uploaded_file.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 01c83d7ac5..fe9c0593f7 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -9,13 +9,11 @@ Layout/LineLength: - 'app/controllers/admin/impersonation_tokens_controller.rb' - 'app/controllers/admin/keys_controller.rb' - 'app/controllers/admin/projects_controller.rb' - - 'app/controllers/admin/runners_controller.rb' - 'app/controllers/admin/sessions_controller.rb' - 'app/controllers/admin/topics_controller.rb' - 'app/controllers/admin/users_controller.rb' - 'app/controllers/application_controller.rb' - 'app/controllers/boards/lists_controller.rb' - - 'app/controllers/clusters/clusters_controller.rb' - 'app/controllers/concerns/access_tokens_actions.rb' - 'app/controllers/concerns/analytics/cycle_analytics/stage_actions.rb' - 'app/controllers/concerns/clientside_preview_csp.rb' @@ -27,7 +25,6 @@ Layout/LineLength: - 'app/controllers/concerns/membership_actions.rb' - 'app/controllers/concerns/metrics_dashboard.rb' - 'app/controllers/concerns/notes_actions.rb' - - 'app/controllers/concerns/one_trust_csp.rb' - 'app/controllers/concerns/product_analytics_tracking.rb' - 'app/controllers/concerns/routable_actions.rb' - 'app/controllers/concerns/send_file_upload.rb' @@ -42,7 +39,6 @@ Layout/LineLength: - 'app/controllers/groups/dependency_proxy_for_containers_controller.rb' - 'app/controllers/groups/email_campaigns_controller.rb' - 'app/controllers/groups/group_members_controller.rb' - - 'app/controllers/groups/runners_controller.rb' - 'app/controllers/groups/settings/applications_controller.rb' - 'app/controllers/groups/settings/ci_cd_controller.rb' - 'app/controllers/groups/settings/integrations_controller.rb' @@ -59,7 +55,6 @@ Layout/LineLength: - 'app/controllers/import/gitlab_groups_controller.rb' - 'app/controllers/import/gitlab_projects_controller.rb' - 'app/controllers/invites_controller.rb' - - 'app/controllers/jira_connect/application_controller.rb' - 'app/controllers/jira_connect/events_controller.rb' - 'app/controllers/jira_connect/subscriptions_controller.rb' - 'app/controllers/jwt_controller.rb' @@ -84,7 +79,6 @@ Layout/LineLength: - 'app/controllers/projects/forks_controller.rb' - 'app/controllers/projects/google_cloud/gcp_regions_controller.rb' - 'app/controllers/projects/imports_controller.rb' - - 'app/controllers/projects/integrations/shimos_controller.rb' - 'app/controllers/projects/issues_controller.rb' - 'app/controllers/projects/jobs_controller.rb' - 'app/controllers/projects/labels_controller.rb' @@ -97,12 +91,10 @@ Layout/LineLength: - 'app/controllers/projects/notes_controller.rb' - 'app/controllers/projects/performance_monitoring/dashboards_controller.rb' - 'app/controllers/projects/pipeline_schedules_controller.rb' - - 'app/controllers/projects/pipelines/tests_controller.rb' - 'app/controllers/projects/pipelines_controller.rb' - 'app/controllers/projects/prometheus/metrics_controller.rb' - 'app/controllers/projects/raw_controller.rb' - 'app/controllers/projects/settings/ci_cd_controller.rb' - - 'app/controllers/projects/settings/operations_controller.rb' - 'app/controllers/projects/settings/repository_controller.rb' - 'app/controllers/projects/templates_controller.rb' - 'app/controllers/projects/tree_controller.rb' @@ -139,7 +131,6 @@ Layout/LineLength: - 'app/finders/security/security_jobs_finder.rb' - 'app/finders/todos_finder.rb' - 'app/finders/user_group_notification_settings_finder.rb' - - 'app/finders/user_recent_events_finder.rb' - 'app/graphql/batch_loaders/merge_request_diff_summary_batch_loader.rb' - 'app/graphql/mutations/alert_management/http_integration/create.rb' - 'app/graphql/mutations/alert_management/http_integration/http_integration_base.rb' @@ -162,7 +153,6 @@ Layout/LineLength: - 'app/graphql/mutations/merge_requests/set_labels.rb' - 'app/graphql/mutations/merge_requests/set_locked.rb' - 'app/graphql/mutations/merge_requests/set_milestone.rb' - - 'app/graphql/mutations/merge_requests/toggle_attention_requested.rb' - 'app/graphql/mutations/metrics/dashboard/annotations/create.rb' - 'app/graphql/mutations/namespace/package_settings/update.rb' - 'app/graphql/mutations/notes/create/note.rb' @@ -175,32 +165,20 @@ Layout/LineLength: - 'app/graphql/mutations/snippets/update.rb' - 'app/graphql/mutations/todos/create.rb' - 'app/graphql/mutations/todos/mark_all_done.rb' - - 'app/graphql/mutations/work_items/create.rb' - - 'app/graphql/mutations/work_items/create_from_task.rb' - - 'app/graphql/mutations/work_items/delete.rb' - - 'app/graphql/mutations/work_items/update.rb' - - 'app/graphql/resolvers/ci/job_token_scope_resolver.rb' - - 'app/graphql/resolvers/ci/runner_jobs_resolver.rb' - - 'app/graphql/resolvers/ci/runner_status_resolver.rb' - 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb' - 'app/graphql/resolvers/concerns/time_frame_arguments.rb' - 'app/graphql/resolvers/container_repository_tags_resolver.rb' - - 'app/graphql/resolvers/group_packages_resolver.rb' - - 'app/graphql/resolvers/package_details_resolver.rb' - - 'app/graphql/resolvers/project_jobs_resolver.rb' - 'app/graphql/resolvers/project_merge_requests_resolver.rb' - 'app/graphql/resolvers/projects_resolver.rb' - 'app/graphql/resolvers/user_discussions_count_resolver.rb' - 'app/graphql/types/admin/sidekiq_queues/delete_jobs_response_type.rb' - 'app/graphql/types/alert_management/prometheus_integration_type.rb' - 'app/graphql/types/alert_management/status_enum.rb' - - 'app/graphql/types/base_field.rb' - 'app/graphql/types/boards/board_issuable_input_base_type.rb' - 'app/graphql/types/ci/job_artifact_file_type_enum.rb' - 'app/graphql/types/ci/job_type.rb' - 'app/graphql/types/ci/pipeline_config_source_enum.rb' - 'app/graphql/types/ci/pipeline_type.rb' - - 'app/graphql/types/ci/runner_membership_filter_enum.rb' - 'app/graphql/types/ci/runner_setup_type.rb' - 'app/graphql/types/ci/runner_status_enum.rb' - 'app/graphql/types/ci/runner_type.rb' @@ -234,7 +212,6 @@ Layout/LineLength: - 'app/graphql/types/packages/nuget/dependency_link_metadatum_type.rb' - 'app/graphql/types/packages/package_dependency_link_type.rb' - 'app/graphql/types/packages/package_details_type.rb' - - 'app/graphql/types/packages/package_type.rb' - 'app/graphql/types/packages/package_type_enum.rb' - 'app/graphql/types/packages/pypi/metadatum_type.rb' - 'app/graphql/types/project_type.rb' @@ -272,7 +249,6 @@ Layout/LineLength: - 'app/helpers/ide_helper.rb' - 'app/helpers/import_helper.rb' - 'app/helpers/in_product_marketing_helper.rb' - - 'app/helpers/integrations_helper.rb' - 'app/helpers/invite_members_helper.rb' - 'app/helpers/issuables_helper.rb' - 'app/helpers/jira_connect_helper.rb' @@ -305,7 +281,6 @@ Layout/LineLength: - 'app/helpers/tags_helper.rb' - 'app/helpers/timeboxes_helper.rb' - 'app/helpers/tree_helper.rb' - - 'app/helpers/users/callouts_helper.rb' - 'app/helpers/users_helper.rb' - 'app/helpers/version_check_helper.rb' - 'app/helpers/visibility_level_helper.rb' @@ -328,15 +303,12 @@ Layout/LineLength: - 'app/models/application_setting_implementation.rb' - 'app/models/award_emoji.rb' - 'app/models/blob_viewer/base.rb' - - 'app/models/broadcast_message.rb' - 'app/models/bulk_imports/entity.rb' - 'app/models/ci/build.rb' - 'app/models/ci/job_artifact.rb' - - 'app/models/ci/namespace_mirror.rb' - 'app/models/ci/pipeline.rb' - 'app/models/ci/pipeline_artifact.rb' - 'app/models/ci/runner.rb' - - 'app/models/ci/secure_file.rb' - 'app/models/ci/unit_test.rb' - 'app/models/clusters/agent.rb' - 'app/models/clusters/applications/cert_manager.rb' @@ -365,9 +337,7 @@ Layout/LineLength: - 'app/models/concerns/ignorable_columns.rb' - 'app/models/concerns/iid_routes.rb' - 'app/models/concerns/integrations/has_data_fields.rb' - - 'app/models/concerns/integrations/has_issue_tracker_fields.rb' - 'app/models/concerns/issuable.rb' - - 'app/models/concerns/limitable.rb' - 'app/models/concerns/mentionable/reference_regexes.rb' - 'app/models/concerns/milestoneable.rb' - 'app/models/concerns/noteable.rb' @@ -433,7 +403,6 @@ Layout/LineLength: - 'app/models/integrations/jira.rb' - 'app/models/integrations/mattermost.rb' - 'app/models/integrations/microsoft_teams.rb' - - 'app/models/integrations/mock_ci.rb' - 'app/models/integrations/pipelines_email.rb' - 'app/models/integrations/pivotaltracker.rb' - 'app/models/integrations/prometheus.rb' @@ -459,7 +428,6 @@ Layout/LineLength: - 'app/models/merge_request.rb' - 'app/models/merge_request_assignee.rb' - 'app/models/merge_request_diff.rb' - - 'app/models/merge_request_reviewer.rb' - 'app/models/merge_requests_closing_issues.rb' - 'app/models/metrics/dashboard/annotation.rb' - 'app/models/milestone.rb' @@ -495,9 +463,7 @@ Layout/LineLength: - 'app/models/repository.rb' - 'app/models/serverless/domain.rb' - 'app/models/service_desk_setting.rb' - - 'app/models/snippet.rb' - 'app/models/suggestion.rb' - - 'app/models/terraform/state.rb' - 'app/models/todo.rb' - 'app/models/upload.rb' - 'app/models/user.rb' @@ -519,7 +485,6 @@ Layout/LineLength: - 'app/presenters/merge_request_presenter.rb' - 'app/presenters/packages/composer/packages_presenter.rb' - 'app/presenters/packages/conan/package_presenter.rb' - - 'app/presenters/pages_domain_presenter.rb' - 'app/presenters/project_clusterable_presenter.rb' - 'app/presenters/project_presenter.rb' - 'app/presenters/snippet_blob_presenter.rb' @@ -536,25 +501,18 @@ Layout/LineLength: - 'app/serializers/merge_request_poll_cached_widget_entity.rb' - 'app/serializers/merge_request_poll_widget_entity.rb' - 'app/serializers/merge_request_sidebar_extras_entity.rb' - - 'app/serializers/merge_request_user_entity.rb' - 'app/serializers/merge_request_widget_entity.rb' - 'app/serializers/note_entity.rb' - 'app/serializers/project_note_entity.rb' - - 'app/serializers/prometheus_alert_entity.rb' - 'app/services/application_settings/update_service.rb' - 'app/services/auth/container_registry_authentication_service.rb' - - 'app/services/auto_merge/base_service.rb' - 'app/services/auto_merge/merge_when_pipeline_succeeds_service.rb' - 'app/services/boards/base_items_list_service.rb' - - 'app/services/boards/destroy_service.rb' - 'app/services/boards/issues/create_service.rb' - 'app/services/boards/issues/move_service.rb' - 'app/services/boards/lists/base_create_service.rb' - 'app/services/branches/delete_service.rb' - - 'app/services/bulk_create_integration_service.rb' - - 'app/services/bulk_imports/file_decompression_service.rb' - 'app/services/bulk_imports/uploads_export_service.rb' - - 'app/services/bulk_update_integration_service.rb' - 'app/services/ci/create_pipeline_service.rb' - 'app/services/ci/drop_pipeline_service.rb' - 'app/services/ci/generate_coverage_reports_service.rb' @@ -606,11 +564,8 @@ Layout/LineLength: - 'app/services/git/process_ref_changes_service.rb' - 'app/services/google_cloud/create_service_accounts_service.rb' - 'app/services/google_cloud/generate_pipeline_service.rb' - - 'app/services/google_cloud/service_accounts_service.rb' - 'app/services/groups/create_service.rb' - 'app/services/groups/destroy_service.rb' - - 'app/services/groups/import_export/import_service.rb' - - 'app/services/groups/open_issues_count_service.rb' - 'app/services/groups/transfer_service.rb' - 'app/services/groups/update_service.rb' - 'app/services/import/bitbucket_server_service.rb' @@ -640,7 +595,6 @@ Layout/LineLength: - 'app/services/lfs/unlock_file_service.rb' - 'app/services/loose_foreign_keys/batch_cleaner_service.rb' - 'app/services/loose_foreign_keys/cleaner_service.rb' - - 'app/services/members/approve_access_request_service.rb' - 'app/services/members/destroy_service.rb' - 'app/services/members/invitation_reminder_email_service.rb' - 'app/services/members/update_service.rb' @@ -649,10 +603,8 @@ Layout/LineLength: - 'app/services/merge_requests/base_service.rb' - 'app/services/merge_requests/build_service.rb' - 'app/services/merge_requests/create_from_issue_service.rb' - - 'app/services/merge_requests/create_pipeline_service.rb' - 'app/services/merge_requests/merge_base_service.rb' - 'app/services/merge_requests/merge_service.rb' - - 'app/services/merge_requests/mergeability/run_checks_service.rb' - 'app/services/merge_requests/mergeability_check_service.rb' - 'app/services/merge_requests/push_options_handler_service.rb' - 'app/services/merge_requests/refresh_service.rb' @@ -665,7 +617,6 @@ Layout/LineLength: - 'app/services/milestones/destroy_service.rb' - 'app/services/namespace_settings/update_service.rb' - 'app/services/notes/build_service.rb' - - 'app/services/notes/copy_service.rb' - 'app/services/notes/quick_actions_service.rb' - 'app/services/notes/resolve_service.rb' - 'app/services/notification_recipients/builder/default.rb' @@ -687,7 +638,6 @@ Layout/LineLength: - 'app/services/packages/npm/create_package_service.rb' - 'app/services/packages/nuget/search_service.rb' - 'app/services/packages/nuget/update_package_from_metadata_service.rb' - - 'app/services/packages/rubygems/dependency_resolver_service.rb' - 'app/services/pages/migrate_from_legacy_storage_service.rb' - 'app/services/pages/migrate_legacy_storage_to_deployment_service.rb' - 'app/services/personal_access_tokens/create_service.rb' @@ -718,7 +668,6 @@ Layout/LineLength: - 'app/services/repository_archive_clean_up_service.rb' - 'app/services/resource_access_tokens/create_service.rb' - 'app/services/resource_access_tokens/revoke_service.rb' - - 'app/services/resource_events/change_labels_service.rb' - 'app/services/search/global_service.rb' - 'app/services/search_service.rb' - 'app/services/security/ci_configuration/container_scanning_create_service.rb' @@ -727,7 +676,6 @@ Layout/LineLength: - 'app/services/security/ci_configuration/sast_iac_create_service.rb' - 'app/services/security/ci_configuration/sast_parser_service.rb' - 'app/services/security/ci_configuration/secret_detection_create_service.rb' - - 'app/services/service_ping/submit_service.rb' - 'app/services/snippets/count_service.rb' - 'app/services/snippets/create_service.rb' - 'app/services/spam/spam_action_service.rb' @@ -790,7 +738,6 @@ Layout/LineLength: - 'config/application.rb' - 'config/initializers/00_rails_disable_joins.rb' - 'config/initializers/01_secret_token.rb' - - 'config/initializers/0_marginalia.rb' - 'config/initializers/1_settings.rb' - 'config/initializers/5_backend.rb' - 'config/initializers/7_prometheus_metrics.rb' @@ -798,9 +745,7 @@ Layout/LineLength: - 'config/initializers/active_record_force_reconnects.rb' - 'config/initializers/active_record_keyset_pagination.rb' - 'config/initializers/active_record_schema_versions.rb' - - 'config/initializers/active_record_transaction_observer.rb' - 'config/initializers/carrierwave_patch.rb' - - 'config/initializers/content_security_policy.rb' - 'config/initializers/deprecations.rb' - 'config/initializers/devise_dynamic_password_length_validation.rb' - 'config/initializers/direct_upload_support.rb' @@ -812,10 +757,8 @@ Layout/LineLength: - 'config/initializers/pages_storage_check.rb' - 'config/initializers/rails_host_authorization.rb' - 'config/initializers/session_store.rb' - - 'config/initializers/sidekiq.rb' - 'config/initializers/validate_database_config.rb' - 'config/initializers/validate_puma.rb' - - 'config/initializers/wikicloth_redos_patch.rb' - 'config/initializers/zz_metrics.rb' - 'config/object_store_settings.rb' - 'config/routes.rb' @@ -828,7 +771,6 @@ Layout/LineLength: - 'config/routes/uploads.rb' - 'config/routes/user.rb' - 'config/settings.rb' - - 'danger/ce_ee_vue_templates/Dangerfile' - 'danger/ci_config/Dangerfile' - 'danger/documentation/Dangerfile' - 'danger/feature_flag/Dangerfile' @@ -1122,35 +1064,28 @@ Layout/LineLength: - 'ee/app/controllers/concerns/credentials_inventory_actions.rb' - 'ee/app/controllers/concerns/ee/issuable_collections.rb' - 'ee/app/controllers/concerns/group_invite_members.rb' - - 'ee/app/controllers/concerns/insights_actions.rb' - - 'ee/app/controllers/ee/admin/dev_ops_report_controller.rb' - 'ee/app/controllers/ee/admin/users_controller.rb' - 'ee/app/controllers/ee/application_controller.rb' - 'ee/app/controllers/ee/groups/group_members_controller.rb' - 'ee/app/controllers/ee/groups_controller.rb' - 'ee/app/controllers/ee/projects/deploy_tokens_controller.rb' - - 'ee/app/controllers/ee/projects/pipelines_controller.rb' - 'ee/app/controllers/ee/projects/settings/operations_controller.rb' - 'ee/app/controllers/ee/projects/settings/repository_controller.rb' - 'ee/app/controllers/ee/projects_controller.rb' - 'ee/app/controllers/ee/repositories/git_http_client_controller.rb' - 'ee/app/controllers/ee/repositories/git_http_controller.rb' - 'ee/app/controllers/ee/repositories/lfs_api_controller.rb' - - 'ee/app/controllers/ee/sessions_controller.rb' - 'ee/app/controllers/groups/analytics/cycle_analytics/stages_controller.rb' - 'ee/app/controllers/groups/analytics/cycle_analytics/summary_controller.rb' - 'ee/app/controllers/groups/analytics/cycle_analytics/value_streams_controller.rb' - - 'ee/app/controllers/groups/analytics/cycle_analytics_controller.rb' - 'ee/app/controllers/groups/analytics/productivity_analytics_controller.rb' - 'ee/app/controllers/groups/hooks_controller.rb' - 'ee/app/controllers/groups/ldap_settings_controller.rb' - 'ee/app/controllers/groups/omniauth_callbacks_controller.rb' - 'ee/app/controllers/groups/saml_group_links_controller.rb' - 'ee/app/controllers/groups/sso_controller.rb' - - 'ee/app/controllers/groups/usage_quotas_controller.rb' - 'ee/app/controllers/oauth/geo_auth_controller.rb' - 'ee/app/controllers/operations_controller.rb' - - 'ee/app/controllers/profiles/usage_quotas_controller.rb' - 'ee/app/controllers/projects/audit_events_controller.rb' - 'ee/app/controllers/projects/insights_controller.rb' - 'ee/app/controllers/projects/integrations/zentao/issues_controller.rb' @@ -1160,7 +1095,6 @@ Layout/LineLength: - 'ee/app/controllers/projects/security/policies_controller.rb' - 'ee/app/controllers/projects/security/vulnerabilities/notes_controller.rb' - 'ee/app/controllers/subscriptions_controller.rb' - - 'ee/app/controllers/trial_registrations_controller.rb' - 'ee/app/controllers/trials_controller.rb' - 'ee/app/enums/vulnerabilities/dismissal_reason_enum.rb' - 'ee/app/finders/compliance_management/merge_requests/compliance_violations_finder.rb' @@ -1169,12 +1103,10 @@ Layout/LineLength: - 'ee/app/finders/merge_requests/by_approvers_finder.rb' - 'ee/app/finders/projects/integrations/jira/by_ids_finder.rb' - 'ee/app/finders/projects/integrations/jira/issues_finder.rb' - - 'ee/app/finders/security/findings_finder.rb' - 'ee/app/finders/security/pipeline_vulnerabilities_finder.rb' - 'ee/app/finders/security/vulnerabilities_finder.rb' - 'ee/app/graphql/ee/mutations/boards/lists/create.rb' - 'ee/app/graphql/ee/mutations/ci/runner/update.rb' - - 'ee/app/graphql/ee/mutations/issues/create.rb' - 'ee/app/graphql/ee/resolvers/base_issues_resolver.rb' - 'ee/app/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable.rb' - 'ee/app/graphql/mutations/audit_events/external_audit_event_destinations/create.rb' @@ -1194,7 +1126,6 @@ Layout/LineLength: - 'ee/app/graphql/mutations/incident_management/oncall_rotation/create.rb' - 'ee/app/graphql/mutations/incident_management/oncall_rotation/update.rb' - 'ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb' - - 'ee/app/graphql/mutations/iterations/create.rb' - 'ee/app/graphql/mutations/iterations/update.rb' - 'ee/app/graphql/mutations/security/training_provider_update.rb' - 'ee/app/graphql/mutations/security_policy/assign_security_policy_project.rb' @@ -1209,13 +1140,11 @@ Layout/LineLength: - 'ee/app/graphql/resolvers/compliance_management/merge_requests/compliance_violation_resolver.rb' - 'ee/app/graphql/resolvers/concerns/resolves_orchestration_policy.rb' - 'ee/app/graphql/resolvers/dora_metrics_resolver.rb' - - 'ee/app/graphql/resolvers/epics_resolver.rb' - 'ee/app/graphql/resolvers/external_issue_resolver.rb' - 'ee/app/graphql/resolvers/incident_management/oncall_rotations_resolver.rb' - 'ee/app/graphql/resolvers/incident_management/oncall_schedule_resolver.rb' - 'ee/app/graphql/resolvers/iterations/cadences_resolver.rb' - 'ee/app/graphql/resolvers/iterations_resolver.rb' - - 'ee/app/graphql/resolvers/network_policy_resolver.rb' - 'ee/app/graphql/resolvers/security_orchestration/scan_execution_policy_resolver.rb' - 'ee/app/graphql/resolvers/security_report_summary_resolver.rb' - 'ee/app/graphql/resolvers/timebox_report_resolver.rb' @@ -1246,8 +1175,6 @@ Layout/LineLength: - 'ee/app/graphql/types/instance_security_dashboard_type.rb' - 'ee/app/graphql/types/iteration_sort_enum.rb' - 'ee/app/graphql/types/iteration_type.rb' - - 'ee/app/graphql/types/merge_requests/approval_state_type.rb' - - 'ee/app/graphql/types/network_policy_type.rb' - 'ee/app/graphql/types/scanned_resource_type.rb' - 'ee/app/graphql/types/security/training_url_request_status_enum.rb' - 'ee/app/graphql/types/security_orchestration/orchestration_policy_type.rb' @@ -1256,7 +1183,6 @@ Layout/LineLength: - 'ee/app/graphql/types/vulnerability/external_issue_link_external_tracker_enum.rb' - 'ee/app/graphql/types/vulnerability_confidence_enum.rb' - 'ee/app/graphql/types/vulnerability_detail_type.rb' - - 'ee/app/graphql/types/vulnerability_request_type.rb' - 'ee/app/graphql/types/vulnerability_type.rb' - 'ee/app/helpers/admin/emails_helper.rb' - 'ee/app/helpers/admin/ip_restriction_helper.rb' @@ -1264,7 +1190,6 @@ Layout/LineLength: - 'ee/app/helpers/analytics/code_review_helper.rb' - 'ee/app/helpers/billing_plans_helper.rb' - 'ee/app/helpers/ee/application_helper.rb' - - 'ee/app/helpers/ee/application_settings_helper.rb' - 'ee/app/helpers/ee/button_helper.rb' - 'ee/app/helpers/ee/environments_helper.rb' - 'ee/app/helpers/ee/feature_flags_helper.rb' @@ -1279,7 +1204,6 @@ Layout/LineLength: - 'ee/app/helpers/ee/lock_helper.rb' - 'ee/app/helpers/ee/merge_requests_helper.rb' - 'ee/app/helpers/ee/mirror_helper.rb' - - 'ee/app/helpers/ee/nav/top_nav_helper.rb' - 'ee/app/helpers/ee/notes_helper.rb' - 'ee/app/helpers/ee/personal_access_tokens_helper.rb' - 'ee/app/helpers/ee/profiles_helper.rb' @@ -1300,11 +1224,9 @@ Layout/LineLength: - 'ee/app/helpers/projects/security/dast_profiles_helper.rb' - 'ee/app/helpers/projects/security/discover_helper.rb' - 'ee/app/helpers/push_rules_helper.rb' - - 'ee/app/helpers/security_helper.rb' - 'ee/app/helpers/trial_status_widget_helper.rb' - 'ee/app/helpers/vulnerabilities_helper.rb' - 'ee/app/mailers/ee/emails/profile.rb' - - 'ee/app/mailers/ee/emails/projects.rb' - 'ee/app/mailers/ee/preview/notify_preview.rb' - 'ee/app/mailers/emails/namespace_storage_usage_mailer.rb' - 'ee/app/models/analytics/cycle_analytics/group_stage.rb' @@ -1346,7 +1268,6 @@ Layout/LineLength: - 'ee/app/models/ee/key.rb' - 'ee/app/models/ee/lfs_object.rb' - 'ee/app/models/ee/list.rb' - - 'ee/app/models/ee/member.rb' - 'ee/app/models/ee/merge_request/metrics.rb' - 'ee/app/models/ee/merge_request_diff.rb' - 'ee/app/models/ee/milestone_release.rb' @@ -1455,7 +1376,6 @@ Layout/LineLength: - 'ee/app/services/ee/auth/container_registry_authentication_service.rb' - 'ee/app/services/ee/boards/base_service.rb' - 'ee/app/services/ee/ci/job_artifacts/destroy_batch_service.rb' - - 'ee/app/services/ee/ci/queue/build_queue_service.rb' - 'ee/app/services/ee/ci/register_job_service.rb' - 'ee/app/services/ee/ci/retry_pipeline_service.rb' - 'ee/app/services/ee/groups/autocomplete_service.rb' @@ -1469,11 +1389,8 @@ Layout/LineLength: - 'ee/app/services/ee/issuable/common_system_notes_service.rb' - 'ee/app/services/ee/issues/base_service.rb' - 'ee/app/services/ee/issues/clone_service.rb' - - 'ee/app/services/ee/issues/move_service.rb' - - 'ee/app/services/ee/merge_requests/base_service.rb' - 'ee/app/services/ee/merge_requests/merge_base_service.rb' - 'ee/app/services/ee/merge_requests/refresh_service.rb' - - 'ee/app/services/ee/notification_service.rb' - 'ee/app/services/ee/personal_access_tokens/create_service.rb' - 'ee/app/services/ee/personal_access_tokens/revoke_service.rb' - 'ee/app/services/ee/projects/create_from_template_service.rb' @@ -1482,13 +1399,11 @@ Layout/LineLength: - 'ee/app/services/ee/projects/deploy_tokens/destroy_service.rb' - 'ee/app/services/ee/projects/gitlab_projects_import_service.rb' - 'ee/app/services/ee/projects/group_links/create_service.rb' - - 'ee/app/services/ee/projects/transfer_service.rb' - 'ee/app/services/ee/projects/update_service.rb' - 'ee/app/services/ee/protected_branches/api_service.rb' - 'ee/app/services/ee/protected_branches/create_service.rb' - 'ee/app/services/ee/protected_branches/update_service.rb' - 'ee/app/services/ee/resource_access_tokens/create_service.rb' - - 'ee/app/services/ee/resource_events/change_labels_service.rb' - 'ee/app/services/ee/system_note_service.rb' - 'ee/app/services/ee/users/update_service.rb' - 'ee/app/services/elastic/cluster_reindexing_service.rb' @@ -1496,7 +1411,6 @@ Layout/LineLength: - 'ee/app/services/epics/issue_promote_service.rb' - 'ee/app/services/epics/update_service.rb' - 'ee/app/services/external_status_checks/create_service.rb' - - 'ee/app/services/external_status_checks/dispatch_service.rb' - 'ee/app/services/geo/blob_upload_service.rb' - 'ee/app/services/geo/event_service.rb' - 'ee/app/services/geo/file_registry_removal_service.rb' @@ -1536,7 +1450,6 @@ Layout/LineLength: - 'ee/app/services/projects/licenses/create_policy_service.rb' - 'ee/app/services/projects/mark_for_deletion_service.rb' - 'ee/app/services/projects/update_mirror_service.rb' - - 'ee/app/services/requirements_management/update_requirement_service.rb' - 'ee/app/services/resource_events/change_weight_service.rb' - 'ee/app/services/security/auto_fix_service.rb' - 'ee/app/services/security/dependency_list_service.rb' @@ -1554,7 +1467,6 @@ Layout/LineLength: - 'ee/app/services/security/security_orchestration_policies/policy_configuration_validation_service.rb' - 'ee/app/services/security/security_orchestration_policies/process_policy_service.rb' - 'ee/app/services/security/security_orchestration_policies/project_create_service.rb' - - 'ee/app/services/security/security_orchestration_policies/rule_schedule_service.rb' - 'ee/app/services/security/security_orchestration_policies/validate_policy_service.rb' - 'ee/app/services/security/store_scan_service.rb' - 'ee/app/services/security/track_scan_service.rb' @@ -1563,7 +1475,6 @@ Layout/LineLength: - 'ee/app/services/system_notes/escalations_service.rb' - 'ee/app/services/timebox_report_service.rb' - 'ee/app/services/vulnerabilities/base_service.rb' - - 'ee/app/services/vulnerabilities/confirm_service.rb' - 'ee/app/services/vulnerabilities/dismiss_service.rb' - 'ee/app/services/vulnerabilities/historical_statistics/adjustment_service.rb' - 'ee/app/services/vulnerabilities/resolve_service.rb' @@ -1626,11 +1537,6 @@ Layout/LineLength: - 'ee/db/geo/migrate/20211124000002_add_indexes_to_lfs_object_registry.rb' - 'ee/db/geo/migrate/20211207162157_add_indexes_to_pages_deployment_registry.rb' - 'ee/db/geo/post_migrate/20220202101354_migrate_job_artifact_registry.rb' - - 'ee/elastic/migrate/20210302104500_migrate_notes_to_separate_index.rb' - - 'ee/elastic/migrate/20210421140400_add_new_data_to_merge_requests_documents.rb' - - 'ee/elastic/migrate/20210429154500_migrate_merge_requests_to_separate_index.rb' - - 'ee/elastic/migrate/20210510113500_delete_merge_requests_from_original_index.rb' - - 'ee/elastic/migrate/20210510143200_delete_notes_from_original_index.rb' - 'ee/lib/analytics/devops_adoption/snapshot_calculator.rb' - 'ee/lib/analytics/productivity_analytics_request_params.rb' - 'ee/lib/api/analytics/code_review_analytics.rb' @@ -1645,9 +1551,7 @@ Layout/LineLength: - 'ee/lib/api/group_push_rule.rb' - 'ee/lib/api/group_repository_storage_moves.rb' - 'ee/lib/api/helpers/project_approval_rules_helpers.rb' - - 'ee/lib/api/iterations.rb' - 'ee/lib/api/license.rb' - - 'ee/lib/api/managed_licenses.rb' - 'ee/lib/api/merge_request_approval_rules.rb' - 'ee/lib/api/merge_request_approval_settings.rb' - 'ee/lib/api/project_approval_rules.rb' @@ -1688,7 +1592,6 @@ Layout/LineLength: - 'ee/lib/ee/api/namespaces.rb' - 'ee/lib/ee/api/protected_branches.rb' - 'ee/lib/ee/audit/project_changes_auditor.rb' - - 'ee/lib/ee/audit/protected_branches_changes_auditor.rb' - 'ee/lib/ee/banzai/filter/references/iteration_reference_filter.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/data_collector.rb' @@ -1703,13 +1606,10 @@ Layout/LineLength: - 'ee/lib/ee/gitlab/background_migration/fix_incorrect_max_seats_used.rb' - 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb' - 'ee/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids.rb' - - 'ee/lib/ee/gitlab/background_migration/populate_namespace_statistics.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_uuids_for_security_findings.rb' - 'ee/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb' - 'ee/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location.rb' - - 'ee/lib/ee/gitlab/checks/diff_check.rb' - 'ee/lib/ee/gitlab/checks/push_rules/commit_check.rb' - 'ee/lib/ee/gitlab/checks/push_rules/file_size_check.rb' - 'ee/lib/ee/gitlab/ci/config_ee.rb' @@ -1719,7 +1619,6 @@ Layout/LineLength: - 'ee/lib/ee/gitlab/ci/reports/security/reports.rb' - 'ee/lib/ee/gitlab/ci/status/build/manual.rb' - 'ee/lib/ee/gitlab/git_access.rb' - - 'ee/lib/ee/gitlab/graphql/pagination/keyset/order_info.rb' - 'ee/lib/ee/gitlab/import_export/after_export_strategies/custom_template_export_import_strategy.rb' - 'ee/lib/ee/gitlab/middleware/read_only/controller.rb' - 'ee/lib/ee/gitlab/project_template.rb' @@ -1741,7 +1640,6 @@ Layout/LineLength: - 'ee/lib/elastic/latest/git_instance_proxy.rb' - 'ee/lib/elastic/latest/issue_class_proxy.rb' - 'ee/lib/elastic/latest/issue_instance_proxy.rb' - - 'ee/lib/elastic/latest/merge_request_class_proxy.rb' - 'ee/lib/elastic/latest/note_class_proxy.rb' - 'ee/lib/elastic/latest/project_class_proxy.rb' - 'ee/lib/elastic/latest/repository_class_proxy.rb' @@ -1758,7 +1656,6 @@ Layout/LineLength: - 'ee/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_removed.rb' - 'ee/lib/gitlab/analytics/cycle_analytics/summary/base_time.rb' - 'ee/lib/gitlab/analytics/cycle_analytics/summary/group/deployment_frequency.rb' - - 'ee/lib/gitlab/analytics/cycle_analytics/summary/lead_time.rb' - 'ee/lib/gitlab/auth/group_saml/response_check.rb' - 'ee/lib/gitlab/auth/group_saml/session_enforcer.rb' - 'ee/lib/gitlab/auth/group_saml/user.rb' @@ -1843,7 +1740,6 @@ Layout/LineLength: - 'ee/spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb' - 'ee/spec/controllers/projects/audit_events_controller_spec.rb' - 'ee/spec/controllers/projects/dependencies_controller_spec.rb' - - 'ee/spec/controllers/projects/insights_controller_spec.rb' - 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb' - 'ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb' - 'ee/spec/controllers/projects/issues_controller_spec.rb' @@ -1862,12 +1758,6 @@ Layout/LineLength: - 'ee/spec/controllers/registrations/welcome_controller_spec.rb' - 'ee/spec/controllers/subscriptions/groups_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb' - - 'ee/spec/controllers/trials_controller_spec.rb' - - 'ee/spec/elastic/migrate/20210201104800_migrate_notes_to_separate_index_spec.rb' - - 'ee/spec/elastic/migrate/20210421140400_add_new_data_to_merge_requests_documents_spec.rb' - - 'ee/spec/elastic/migrate/20210429154500_migrate_merge_requests_to_separate_index_spec.rb' - - 'ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb' - - 'ee/spec/elastic/migrate/20210510143200_delete_notes_from_original_index_spec.rb' - 'ee/spec/elastic/migrate/migration_shared_examples.rb' - 'ee/spec/factories/ci/builds.rb' - 'ee/spec/factories/ci/job_artifacts.rb' @@ -1879,7 +1769,6 @@ Layout/LineLength: - 'ee/spec/factories/geo/container_repository_registry.rb' - 'ee/spec/factories/iterations.rb' - 'ee/spec/factories/namespaces.rb' - - 'ee/spec/factories/requirements_management/requirements.rb' - 'ee/spec/factories/vulnerabilities/exports.rb' - 'ee/spec/factories/vulnerabilities/findings.rb' - 'ee/spec/features/admin/admin_audit_logs_spec.rb' @@ -1898,7 +1787,6 @@ Layout/LineLength: - 'ee/spec/features/boards/swimlanes/epics_swimlanes_filtering_spec.rb' - 'ee/spec/features/boards/user_visits_board_spec.rb' - 'ee/spec/features/burnup_charts_spec.rb' - - 'ee/spec/features/ci_shared_runner_warnings_spec.rb' - 'ee/spec/features/dashboards/operations_spec.rb' - 'ee/spec/features/epic_boards/epic_boards_spec.rb' - 'ee/spec/features/epics/epic_issues_spec.rb' @@ -1935,7 +1823,6 @@ Layout/LineLength: - 'ee/spec/features/issues/filtered_search/filter_issues_weight_spec.rb' - 'ee/spec/features/issues/form_spec.rb' - 'ee/spec/features/issues/issue_sidebar_spec.rb' - - 'ee/spec/features/issues/user_sees_empty_state_spec.rb' - 'ee/spec/features/labels_hierarchy_spec.rb' - 'ee/spec/features/merge_request/user_approves_spec.rb' - 'ee/spec/features/merge_request/user_approves_with_password_spec.rb' @@ -1950,7 +1837,6 @@ Layout/LineLength: - 'ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb' - 'ee/spec/features/pending_group_memberships_spec.rb' - 'ee/spec/features/projects/audit_events_spec.rb' - - 'ee/spec/features/projects/custom_projects_template_spec.rb' - 'ee/spec/features/projects/feature_flags/user_sees_feature_flag_list_spec.rb' - 'ee/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb' - 'ee/spec/features/projects/integrations/prometheus_custom_metrics_spec.rb' @@ -1983,7 +1869,6 @@ Layout/LineLength: - 'ee/spec/finders/analytics/devops_adoption/enabled_namespaces_finder_spec.rb' - 'ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb' - 'ee/spec/finders/audit_event_finder_spec.rb' - - 'ee/spec/finders/billed_users_finder_spec.rb' - 'ee/spec/finders/boards/users_finder_spec.rb' - 'ee/spec/finders/compliance_management/merge_requests/compliance_violations_finder_spec.rb' - 'ee/spec/finders/custom_project_templates_finder_spec.rb' @@ -1992,7 +1877,7 @@ Layout/LineLength: - 'ee/spec/finders/ee/group_members_finder_spec.rb' - 'ee/spec/finders/ee/projects_finder_spec.rb' - 'ee/spec/finders/epics_finder_spec.rb' - - 'ee/spec/finders/geo/container_repository_registry_finder_spec.rb' + - 'ee/spec/finders/geo/container_repository_legacy_registry_finder_spec.rb' - 'ee/spec/finders/geo/project_registry_finder_spec.rb' - 'ee/spec/finders/geo/project_registry_status_finder_spec.rb' - 'ee/spec/finders/group_projects_finder_spec.rb' @@ -2034,14 +1919,12 @@ Layout/LineLength: - 'ee/spec/graphql/ee/types/board_type_spec.rb' - 'ee/spec/graphql/ee/types/issue_sort_enum_spec.rb' - 'ee/spec/graphql/ee/types/merge_request_type_spec.rb' - - 'ee/spec/graphql/ee/types/mutation_type_spec.rb' - 'ee/spec/graphql/mutations/boards/epic_boards/create_spec.rb' - 'ee/spec/graphql/mutations/boards/epics/create_spec.rb' - 'ee/spec/graphql/mutations/boards/lists/update_limit_metrics_spec.rb' - 'ee/spec/graphql/mutations/compliance_management/frameworks/update_spec.rb' - 'ee/spec/graphql/mutations/dast/profiles/run_spec.rb' - 'ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb' - - 'ee/spec/graphql/mutations/dast_scanner_profiles/delete_spec.rb' - 'ee/spec/graphql/mutations/dast_scanner_profiles/update_spec.rb' - 'ee/spec/graphql/mutations/dast_site_profiles/create_spec.rb' - 'ee/spec/graphql/mutations/dast_site_profiles/update_spec.rb' @@ -2079,7 +1962,6 @@ Layout/LineLength: - 'ee/spec/graphql/resolvers/iterations/cadences_resolver_spec.rb' - 'ee/spec/graphql/resolvers/iterations_resolver_spec.rb' - 'ee/spec/graphql/resolvers/network_policy_resolver_spec.rb' - - 'ee/spec/graphql/resolvers/path_locks_resolver_spec.rb' - 'ee/spec/graphql/resolvers/pipeline_security_report_findings_resolver_spec.rb' - 'ee/spec/graphql/resolvers/requirements_management/requirements_resolver_spec.rb' - 'ee/spec/graphql/resolvers/requirements_management/test_reports_resolver_spec.rb' @@ -2092,7 +1974,6 @@ Layout/LineLength: - 'ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb' - 'ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb' - 'ee/spec/graphql/types/alert_management/payload_alert_field_name_enum_spec.rb' - - 'ee/spec/graphql/types/asset_type_spec.rb' - 'ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb' - 'ee/spec/graphql/types/dast/profile_schedule_type_spec.rb' - 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb' @@ -2100,20 +1981,14 @@ Layout/LineLength: - 'ee/spec/graphql/types/epic_sort_enum_spec.rb' - 'ee/spec/graphql/types/incident_management/escalation_rule_input_type_spec.rb' - 'ee/spec/graphql/types/issue_type_spec.rb' - - 'ee/spec/graphql/types/network_policy_type_spec.rb' - 'ee/spec/graphql/types/permission_types/vulnerability_spec.rb' - 'ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb' - 'ee/spec/graphql/types/project_type_spec.rb' - 'ee/spec/graphql/types/security_scanner_type_enum_spec.rb' - 'ee/spec/graphql/types/vulnerability_details/file_location_type_spec.rb' - - 'ee/spec/graphql/types/vulnerability_evidence_source_type_spec.rb' - - 'ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb' - 'ee/spec/graphql/types/vulnerability_evidence_type_spec.rb' - 'ee/spec/graphql/types/vulnerability_report_type_enum_spec.rb' - - 'ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb' - - 'ee/spec/graphql/types/vulnerability_request_type_spec.rb' - 'ee/spec/graphql/types/vulnerability_response_type_spec.rb' - - 'ee/spec/graphql/types/vulnerability_sort_enum_spec.rb' - 'ee/spec/graphql/types/vulnerability_type_spec.rb' - 'ee/spec/helpers/admin/emails_helper_spec.rb' - 'ee/spec/helpers/analytics/code_review_helper_spec.rb' @@ -2128,7 +2003,6 @@ Layout/LineLength: - 'ee/spec/helpers/ee/feature_flags_helper_spec.rb' - 'ee/spec/helpers/ee/gitlab_routing_helper_spec.rb' - 'ee/spec/helpers/ee/groups/group_members_helper_spec.rb' - - 'ee/spec/helpers/ee/groups/settings_helper_spec.rb' - 'ee/spec/helpers/ee/groups_helper_spec.rb' - 'ee/spec/helpers/ee/integrations_helper_spec.rb' - 'ee/spec/helpers/ee/issuables_helper_spec.rb' @@ -2139,7 +2013,6 @@ Layout/LineLength: - 'ee/spec/helpers/ee/projects/pipeline_helper_spec.rb' - 'ee/spec/helpers/ee/projects/security/api_fuzzing_configuration_helper_spec.rb' - 'ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb' - - 'ee/spec/helpers/ee/registrations_helper_spec.rb' - 'ee/spec/helpers/ee/subscribable_banner_helper_spec.rb' - 'ee/spec/helpers/ee/users/callouts_helper_spec.rb' - 'ee/spec/helpers/ee/version_check_helper_spec.rb' @@ -2157,9 +2030,7 @@ Layout/LineLength: - 'ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb' - 'ee/spec/helpers/projects_helper_spec.rb' - 'ee/spec/helpers/push_rules_helper_spec.rb' - - 'ee/spec/helpers/routing/pseudonymization_helper_spec.rb' - 'ee/spec/helpers/search_helper_spec.rb' - - 'ee/spec/helpers/security_helper_spec.rb' - 'ee/spec/helpers/subscriptions_helper_spec.rb' - 'ee/spec/helpers/timeboxes_helper_spec.rb' - 'ee/spec/helpers/vulnerabilities_helper_spec.rb' @@ -2177,7 +2048,6 @@ Layout/LineLength: - 'ee/spec/lib/bulk_imports/projects/pipelines/push_rule_pipeline_spec.rb' - 'ee/spec/lib/compliance_management/merge_request_approval_settings/resolver_spec.rb' - 'ee/spec/lib/container_registry/client_spec.rb' - - 'ee/spec/lib/ee/api/entities/billable_member_spec.rb' - 'ee/spec/lib/ee/api/entities/deployment_extended_spec.rb' - 'ee/spec/lib/ee/api/entities/vulnerability_export_spec.rb' - 'ee/spec/lib/ee/api/helpers_spec.rb' @@ -2232,7 +2102,6 @@ Layout/LineLength: - 'ee/spec/lib/ee/sidebars/projects/menus/security_compliance_menu_spec.rb' - 'ee/spec/lib/elastic/latest/config_shared_examples.rb' - 'ee/spec/lib/elastic/latest/custom_language_analyzers_spec.rb' - - 'ee/spec/lib/elastic/latest/git_class_proxy_spec.rb' - 'ee/spec/lib/elastic/multi_version_class_proxy_spec.rb' - 'ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb' - 'ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb' @@ -2290,7 +2159,6 @@ Layout/LineLength: - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - 'ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb' - 'ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb' - - 'ee/spec/lib/gitlab/elastic/client_spec.rb' - 'ee/spec/lib/gitlab/elastic/group_search_results_spec.rb' - 'ee/spec/lib/gitlab/elastic/indexer_spec.rb' - 'ee/spec/lib/gitlab/elastic/project_search_results_spec.rb' @@ -2299,7 +2167,6 @@ Layout/LineLength: - 'ee/spec/lib/gitlab/email/handler/create_note_handler_spec.rb' - 'ee/spec/lib/gitlab/email/message/account_validation_spec.rb' - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - - 'ee/spec/lib/gitlab/geo/cron_manager_spec.rb' - 'ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb' - 'ee/spec/lib/gitlab/geo/geo_tasks_spec.rb' - 'ee/spec/lib/gitlab/geo/git_ssh_proxy_spec.rb' @@ -2320,7 +2187,6 @@ Layout/LineLength: - 'ee/spec/lib/gitlab/graphql/aggregations/vulnerabilities/lazy_user_notes_count_aggregate_spec.rb' - 'ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb' - 'ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb' - - 'ee/spec/lib/gitlab/graphql/pagination/keyset/order_info_spec.rb' - 'ee/spec/lib/gitlab/import_export/attributes_permitter_spec.rb' - 'ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb' - 'ee/spec/lib/gitlab/insights/finders/issuable_finder_spec.rb' @@ -2396,7 +2262,6 @@ Layout/LineLength: - 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb' - 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb' - 'ee/spec/models/ci/pipeline_spec.rb' - - 'ee/spec/models/ci/subscriptions/project_spec.rb' - 'ee/spec/models/concerns/ee/clusters/agents/authorization_config_scopes_spec.rb' - 'ee/spec/models/concerns/ee/issuable_spec.rb' - 'ee/spec/models/concerns/ee/noteable_spec.rb' @@ -2428,7 +2293,6 @@ Layout/LineLength: - 'ee/spec/models/ee/audit_event_spec.rb' - 'ee/spec/models/ee/ci/job_artifact_spec.rb' - 'ee/spec/models/ee/ci/pipeline_artifact_spec.rb' - - 'ee/spec/models/ee/ci/runner_spec.rb' - 'ee/spec/models/ee/group_spec.rb' - 'ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb' - 'ee/spec/models/ee/integrations/jira_spec.rb' @@ -2453,7 +2317,6 @@ Layout/LineLength: - 'ee/spec/models/epic_spec.rb' - 'ee/spec/models/geo/container_repository_registry_spec.rb' - 'ee/spec/models/geo/event_log_spec.rb' - - 'ee/spec/models/geo/job_artifact_registry_spec.rb' - 'ee/spec/models/geo/package_file_registry_spec.rb' - 'ee/spec/models/geo/project_registry_spec.rb' - 'ee/spec/models/geo/secondary_usage_data_spec.rb' @@ -2470,7 +2333,6 @@ Layout/LineLength: - 'ee/spec/models/incident_management/oncall_shift_spec.rb' - 'ee/spec/models/instance_security_dashboard_spec.rb' - 'ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb' - - 'ee/spec/models/integrations/github_spec.rb' - 'ee/spec/models/issuable_sla_spec.rb' - 'ee/spec/models/issue_spec.rb' - 'ee/spec/models/license_spec.rb' @@ -2523,15 +2385,12 @@ Layout/LineLength: - 'ee/spec/presenters/audit_event_presenter_spec.rb' - 'ee/spec/presenters/ci/build_runner_presenter_spec.rb' - 'ee/spec/presenters/ci/pipeline_presenter_spec.rb' - - 'ee/spec/presenters/ee/issue_presenter_spec.rb' - 'ee/spec/presenters/epic_issue_presenter_spec.rb' - 'ee/spec/presenters/epic_presenter_spec.rb' - 'ee/spec/presenters/group_member_presenter_spec.rb' - 'ee/spec/presenters/merge_request_presenter_spec.rb' - 'ee/spec/presenters/security/scan_presenter_spec.rb' - - 'ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb' - 'ee/spec/presenters/vulnerability_presenter_spec.rb' - - 'ee/spec/replicators/geo/upload_replicator_spec.rb' - 'ee/spec/requests/admin/credentials_controller_spec.rb' - 'ee/spec/requests/admin/geo/replicables_controller_spec.rb' - 'ee/spec/requests/admin/user_permission_exports_controller_spec.rb' @@ -2587,7 +2446,6 @@ Layout/LineLength: - 'ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb' - 'ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb' - 'ee/spec/requests/api/graphql/mutations/issues/create_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb' - 'ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb' - 'ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb' - 'ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb' @@ -2687,8 +2545,6 @@ Layout/LineLength: - 'ee/spec/serializers/environment_entity_spec.rb' - 'ee/spec/serializers/epic_entity_spec.rb' - 'ee/spec/serializers/fork_namespace_entity_spec.rb' - - 'ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb' - - 'ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb' - 'ee/spec/serializers/member_entity_spec.rb' - 'ee/spec/serializers/project_mirror_entity_spec.rb' - 'ee/spec/serializers/security/license_policy_entity_spec.rb' @@ -2729,7 +2585,6 @@ Layout/LineLength: - 'ee/spec/services/approval_rules/create_service_spec.rb' - 'ee/spec/services/approval_rules/finalize_service_spec.rb' - 'ee/spec/services/approval_rules/params_filtering_service_spec.rb' - - 'ee/spec/services/arkose/user_verification_service_spec.rb' - 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb' - 'ee/spec/services/audit_events/register_runner_audit_event_service_spec.rb' - 'ee/spec/services/audit_events/release_associate_milestone_audit_event_service_spec.rb' @@ -2768,7 +2623,6 @@ Layout/LineLength: - 'ee/spec/services/ee/groups/import_export/export_service_spec.rb' - 'ee/spec/services/ee/ip_restrictions/update_service_spec.rb' - 'ee/spec/services/ee/issuable/common_system_notes_service_spec.rb' - - 'ee/spec/services/ee/issuable/destroy_service_spec.rb' - 'ee/spec/services/ee/issue_links/create_service_spec.rb' - 'ee/spec/services/ee/issues/clone_service_spec.rb' - 'ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb' @@ -2861,7 +2715,6 @@ Layout/LineLength: - 'ee/spec/services/projects/alerting/notify_service_spec.rb' - 'ee/spec/services/projects/cleanup_service_spec.rb' - 'ee/spec/services/projects/gitlab_projects_import_service_spec.rb' - - 'ee/spec/services/projects/group_links/create_service_spec.rb' - 'ee/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb' - 'ee/spec/services/projects/import_export/export_service_spec.rb' - 'ee/spec/services/projects/mark_for_deletion_service_spec.rb' @@ -2870,7 +2723,6 @@ Layout/LineLength: - 'ee/spec/services/projects/update_service_spec.rb' - 'ee/spec/services/quick_actions/interpret_service_spec.rb' - 'ee/spec/services/requirements_management/export_csv_service_spec.rb' - - 'ee/spec/services/requirements_management/update_requirement_service_spec.rb' - 'ee/spec/services/resource_events/change_weight_service_spec.rb' - 'ee/spec/services/search/global_service_spec.rb' - 'ee/spec/services/search/group_service_spec.rb' @@ -2887,7 +2739,6 @@ Layout/LineLength: - 'ee/spec/services/security/ingestion/tasks/ingest_findings_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb' - - 'ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_vulnerability_flags_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_vulnerability_statistics_spec.rb' - 'ee/spec/services/security/merge_reports_service_spec.rb' @@ -2917,13 +2768,11 @@ Layout/LineLength: - 'ee/spec/services/timebox_report_service_spec.rb' - 'ee/spec/services/todo_service_spec.rb' - 'ee/spec/services/user_permissions/export_service_spec.rb' - - 'ee/spec/services/vulnerabilities/destroy_dismissal_feedback_service_spec.rb' - 'ee/spec/services/vulnerabilities/dismiss_service_spec.rb' - 'ee/spec/services/vulnerabilities/finding_dismiss_service_spec.rb' - 'ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb' - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb' - 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb' - - 'ee/spec/services/vulnerabilities/starboard_vulnerability_resolve_service_spec.rb' - 'ee/spec/services/vulnerabilities/statistics/adjustment_service_spec.rb' - 'ee/spec/services/vulnerabilities/update_service_spec.rb' - 'ee/spec/services/vulnerability_exports/create_service_spec.rb' @@ -2954,7 +2803,6 @@ Layout/LineLength: - 'ee/spec/support/shared_examples/controllers/concerns/description_diff_actions_shared_examples.rb' - 'ee/spec/support/shared_examples/controllers/projects/license_scanning_report_comparison_shared_examples.rb' - 'ee/spec/support/shared_examples/features/epics_filtered_search_shared_examples.rb' - - 'ee/spec/support/shared_examples/features/over_free_user_limit_shared_examples.rb' - 'ee/spec/support/shared_examples/features/protected_branches_access_control_shared_examples.rb' - 'ee/spec/support/shared_examples/features/sidebar_shared_examples.rb' - 'ee/spec/support/shared_examples/finders/geo/file_registry_finder_shared_examples.rb' @@ -2978,8 +2826,6 @@ Layout/LineLength: - 'ee/spec/support/shared_examples/quick_actions/merge_request/unassign_reviewer_shared_examples.rb' - 'ee/spec/support/shared_examples/requests/api/graphql/geo/registries_shared_examples.rb' - 'ee/spec/support/shared_examples/requests/api/project_approval_rules_api_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/alert_management/alert_processing/alert_firing_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/alert_management/alert_processing/alert_recovery_shared_examples.rb' - 'ee/spec/support/shared_examples/services/base_sync_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/boards/base_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/build_execute_shared_examples.rb' @@ -2987,10 +2833,8 @@ Layout/LineLength: - 'ee/spec/support/shared_examples/services/dast_on_demand_scans_shared_examples.rb' - 'ee/spec/support/shared_examples/services/geo/geo_request_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/group_saml/saml_provider/base_service_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/issue_epic_shared_examples.rb' - 'ee/spec/support/shared_examples/services/scoped_label_shared_examples.rb' - 'ee/spec/support/shared_examples/services/search_notes_shared_examples.rb' - - 'ee/spec/support/shared_examples/services/sync_issue_and_requirement_state_shared_examples.rb' - 'ee/spec/support/shared_examples/services/vulnerabilities/calls_vulnerability_statistics_utility_services_in_order.rb' - 'ee/spec/support/shared_examples/views/subscription_shared_examples.rb' - 'ee/spec/tasks/geo/git_rake_spec.rb' @@ -3017,13 +2861,10 @@ Layout/LineLength: - 'ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb' - 'ee/spec/views/shared/credentials_inventory/project_access_tokens/_project_access_token.html.haml_spec.rb' - 'ee/spec/views/shared/promotions/_promotion_link_project.html.haml_spec.rb' - - 'ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb' - - 'ee/spec/views/trial_registrations/new.html.haml_spec.rb' - 'ee/spec/workers/active_user_count_threshold_worker_spec.rb' - 'ee/spec/workers/adjourned_group_deletion_worker_spec.rb' - 'ee/spec/workers/adjourned_projects_deletion_cron_worker_spec.rb' - 'ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb' - - 'ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb' - 'ee/spec/workers/analytics/devops_adoption/create_all_snapshots_worker_spec.rb' - 'ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb' - 'ee/spec/workers/app_sec/dast/profile_schedule_worker_spec.rb' @@ -3062,8 +2903,6 @@ Layout/LineLength: - 'ee/spec/workers/new_epic_worker_spec.rb' - 'ee/spec/workers/refresh_license_compliance_checks_worker_spec.rb' - 'ee/spec/workers/repository_import_worker_spec.rb' - - 'ee/spec/workers/scan_security_report_secrets_worker_spec.rb' - - 'ee/spec/workers/security/create_orchestration_policy_worker_spec.rb' - 'ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb' - 'ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb' - 'ee/spec/workers/store_security_reports_worker_spec.rb' @@ -3117,7 +2956,6 @@ Layout/LineLength: - 'lib/api/generic_packages.rb' - 'lib/api/go_proxy.rb' - 'lib/api/group_clusters.rb' - - 'lib/api/group_container_repositories.rb' - 'lib/api/group_import.rb' - 'lib/api/group_labels.rb' - 'lib/api/group_packages.rb' @@ -3132,7 +2970,6 @@ Layout/LineLength: - 'lib/api/helpers/file_upload_helpers.rb' - 'lib/api/helpers/groups_helpers.rb' - 'lib/api/helpers/integrations_helpers.rb' - - 'lib/api/helpers/internal_helpers.rb' - 'lib/api/helpers/label_helpers.rb' - 'lib/api/helpers/members_helpers.rb' - 'lib/api/helpers/merge_requests_helpers.rb' @@ -3229,7 +3066,6 @@ Layout/LineLength: - 'lib/container_registry/base_client.rb' - 'lib/declarative_enum.rb' - 'lib/error_tracking/collector/payload_validator.rb' - - 'lib/error_tracking/sentry_client/issue.rb' - 'lib/feature.rb' - 'lib/feature/definition.rb' - 'lib/file_size_validator.rb' @@ -3266,7 +3102,6 @@ Layout/LineLength: - 'lib/gitlab/background_migration/backfill_snippet_repositories.rb' - 'lib/gitlab/background_migration/batching_strategies/backfill_project_namespace_per_group_batching_strategy.rb' - 'lib/gitlab/background_migration/cleanup_orphaned_lfs_objects_projects.rb' - - 'lib/gitlab/background_migration/copy_column_using_background_migration_job.rb' - 'lib/gitlab/background_migration/create_security_setting.rb' - 'lib/gitlab/background_migration/drop_invalid_remediations.rb' - 'lib/gitlab/background_migration/fix_incorrect_max_seats_used.rb' @@ -3286,7 +3121,6 @@ Layout/LineLength: - 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb' - 'lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings.rb' - 'lib/gitlab/background_migration/reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb' - - 'lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects.rb' - 'lib/gitlab/background_migration/update_vulnerability_occurrences_location.rb' - 'lib/gitlab/batch_pop_queueing.rb' - 'lib/gitlab/bitbucket_import/importer.rb' @@ -3342,8 +3176,6 @@ Layout/LineLength: - 'lib/gitlab/composer/version_index.rb' - 'lib/gitlab/config/entry/configurable.rb' - 'lib/gitlab/config/entry/validators.rb' - - 'lib/gitlab/config_checker/external_database_checker.rb' - - 'lib/gitlab/config_checker/puma_rugged_checker.rb' - 'lib/gitlab/conflict/file.rb' - 'lib/gitlab/conflict/file_collection.rb' - 'lib/gitlab/content_security_policy/config_loader.rb' @@ -3351,7 +3183,6 @@ Layout/LineLength: - 'lib/gitlab/current_settings.rb' - 'lib/gitlab/cycle_analytics/summary/deploy.rb' - 'lib/gitlab/cycle_analytics/summary/deployment_frequency.rb' - - 'lib/gitlab/data_builder/push.rb' - 'lib/gitlab/database.rb' - 'lib/gitlab/database/as_with_materialized.rb' - 'lib/gitlab/database/async_indexes/migration_helpers.rb' @@ -3362,7 +3193,6 @@ Layout/LineLength: - 'lib/gitlab/database/batch_counter.rb' - 'lib/gitlab/database/count/reltuples_count_strategy.rb' - 'lib/gitlab/database/gitlab_schema.rb' - - 'lib/gitlab/database/load_balancing/configuration.rb' - 'lib/gitlab/database/load_balancing/host.rb' - 'lib/gitlab/database/migration_helpers.rb' - 'lib/gitlab/database/migration_helpers/cascading_namespace_settings.rb' @@ -3370,11 +3200,9 @@ Layout/LineLength: - 'lib/gitlab/database/migrations/background_migration_helpers.rb' - 'lib/gitlab/database/migrations/batched_background_migration_helpers.rb' - 'lib/gitlab/database/migrations/runner.rb' - - 'lib/gitlab/database/migrations/test_background_runner.rb' - 'lib/gitlab/database/partitioning/detached_partition_dropper.rb' - 'lib/gitlab/database/partitioning/partition_monitoring.rb' - 'lib/gitlab/database/partitioning/replace_table.rb' - - 'lib/gitlab/database/partitioning/single_numeric_list_partition.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' @@ -3385,7 +3213,6 @@ Layout/LineLength: - 'lib/gitlab/database/postgres_partition.rb' - 'lib/gitlab/database/postgres_partitioned_table.rb' - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' - - 'lib/gitlab/database/query_analyzers/restrict_allowed_schemas.rb' - 'lib/gitlab/database/reflection.rb' - 'lib/gitlab/database/reindexing.rb' - 'lib/gitlab/database/reindexing/coordinator.rb' @@ -3406,13 +3233,11 @@ Layout/LineLength: - 'lib/gitlab/diff/formatters/base_formatter.rb' - 'lib/gitlab/diff/highlight_cache.rb' - 'lib/gitlab/diff/parser.rb' - - 'lib/gitlab/diff/rendered/notebook/diff_file.rb' - 'lib/gitlab/email/failure_handler.rb' - 'lib/gitlab/email/handler/create_issue_handler.rb' - 'lib/gitlab/email/handler/create_merge_request_handler.rb' - 'lib/gitlab/email/message/in_product_marketing/base.rb' - 'lib/gitlab/email/message/in_product_marketing/create.rb' - - 'lib/gitlab/email/message/in_product_marketing/experience.rb' - 'lib/gitlab/email/message/in_product_marketing/helper.rb' - 'lib/gitlab/email/message/in_product_marketing/team.rb' - 'lib/gitlab/email/message/in_product_marketing/trial.rb' @@ -3444,7 +3269,6 @@ Layout/LineLength: - 'lib/gitlab/git_access.rb' - 'lib/gitlab/git_access_project.rb' - 'lib/gitlab/git_access_snippet.rb' - - 'lib/gitlab/git_access_wiki.rb' - 'lib/gitlab/gitaly_client.rb' - 'lib/gitlab/gitaly_client/blob_service.rb' - 'lib/gitlab/gitaly_client/call.rb' @@ -3469,8 +3293,6 @@ Layout/LineLength: - 'lib/gitlab/gpg/invalid_gpg_signature_updater.rb' - 'lib/gitlab/grape_logging/formatters/lograge_with_timestamp.rb' - 'lib/gitlab/grape_logging/loggers/client_env_logger.rb' - - 'lib/gitlab/graphql/pagination/keyset/generic_keyset_pagination.rb' - - 'lib/gitlab/graphql/pagination/keyset/query_builder.rb' - 'lib/gitlab/graphql/timeout.rb' - 'lib/gitlab/group_search_results.rb' - 'lib/gitlab/hashed_storage/migrator.rb' @@ -3518,10 +3340,8 @@ Layout/LineLength: - 'lib/gitlab/metrics/dashboard/stages/custom_metrics_details_inserter.rb' - 'lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter.rb' - 'lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter.rb' - - 'lib/gitlab/metrics/dashboard/url.rb' - 'lib/gitlab/metrics/dashboard/validator.rb' - 'lib/gitlab/metrics/dashboard/validator/errors.rb' - - 'lib/gitlab/metrics/rails_slis.rb' - 'lib/gitlab/metrics/samplers/action_cable_sampler.rb' - 'lib/gitlab/metrics/samplers/puma_sampler.rb' - 'lib/gitlab/metrics/samplers/ruby_sampler.rb' @@ -3574,7 +3394,6 @@ Layout/LineLength: - 'lib/gitlab/sidekiq_daemon/monitor.rb' - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb' - - 'lib/gitlab/sidekiq_middleware/memory_killer.rb' - 'lib/gitlab/sidekiq_middleware/server_metrics.rb' - 'lib/gitlab/sidekiq_middleware/size_limiter/compressor.rb' - 'lib/gitlab/sidekiq_versioning.rb' @@ -3590,7 +3409,6 @@ Layout/LineLength: - 'lib/gitlab/usage/metrics/aggregates/aggregate.rb' - 'lib/gitlab/usage/metrics/aggregates/sources/calculations/intersection.rb' - 'lib/gitlab/usage/metrics/aggregates/sources/postgres_hll.rb' - - 'lib/gitlab/usage/metrics/instrumentations/database_metric.rb' - 'lib/gitlab/usage/metrics/name_suggestion.rb' - 'lib/gitlab/usage/metrics/names_suggestions/generator.rb' - 'lib/gitlab/usage/service_ping_report.rb' @@ -3618,12 +3436,8 @@ Layout/LineLength: - 'lib/security/ci_configuration/base_build_action.rb' - 'lib/security/ci_configuration/sast_build_action.rb' - 'lib/sidebars/groups/menus/packages_registries_menu.rb' - - 'lib/sidebars/groups/menus/settings_menu.rb' - 'lib/sidebars/menu_item.rb' - - 'lib/sidebars/projects/menus/infrastructure_menu.rb' - - 'lib/sidebars/projects/menus/packages_registries_menu.rb' - 'lib/sidebars/projects/menus/repository_menu.rb' - - 'lib/sidebars/projects/panel.rb' - 'lib/system_check/app/orphaned_group_members_check.rb' - 'lib/system_check/app/redis_version_check.rb' - 'lib/system_check/incoming_email/mail_room_enabled_check.rb' @@ -3640,7 +3454,6 @@ Layout/LineLength: - 'lib/tasks/gitlab/info.rake' - 'lib/tasks/gitlab/packages/events.rake' - 'lib/tasks/gitlab/packages/migrate.rake' - - 'lib/tasks/gitlab/pages.rake' - 'lib/tasks/gitlab/seed/group_seed.rake' - 'lib/tasks/gitlab/shell.rake' - 'lib/tasks/gitlab/sidekiq.rake' @@ -3669,8 +3482,6 @@ Layout/LineLength: - 'qa/qa/git/repository.rb' - 'qa/qa/page/base.rb' - 'qa/qa/page/component/ci_badge_link.rb' - - 'qa/qa/page/component/design_management.rb' - - 'qa/qa/page/component/invite_members_modal.rb' - 'qa/qa/page/component/issuable/sidebar.rb' - 'qa/qa/page/component/select2.rb' - 'qa/qa/page/dashboard/snippet/index.rb' @@ -3679,14 +3490,12 @@ Layout/LineLength: - 'qa/qa/page/group/settings/package_registries.rb' - 'qa/qa/page/merge_request/new.rb' - 'qa/qa/page/project/import/repo_by_url.rb' - - 'qa/qa/page/project/issue/index.rb' - 'qa/qa/page/project/registry/show.rb' - 'qa/qa/page/project/settings/protected_branches.rb' - 'qa/qa/page/project/web_ide/edit.rb' - 'qa/qa/resource/api_fabricator.rb' - 'qa/qa/resource/file.rb' - 'qa/qa/resource/members.rb' - - 'qa/qa/resource/project.rb' - 'qa/qa/resource/protected_branch.rb' - 'qa/qa/resource/registry_repository.rb' - 'qa/qa/resource/repository/push.rb' @@ -3699,28 +3508,19 @@ Layout/LineLength: - 'qa/qa/resource/wiki/group_page.rb' - 'qa/qa/runtime/api/repository_storage_moves.rb' - 'qa/qa/runtime/application_settings.rb' - - 'qa/qa/runtime/browser.rb' - 'qa/qa/runtime/env.rb' - 'qa/qa/runtime/feature.rb' - 'qa/qa/runtime/fixtures.rb' - 'qa/qa/runtime/ip_address.rb' - 'qa/qa/runtime/search.rb' - 'qa/qa/scenario/bootable.rb' - - 'qa/qa/scenario/template.rb' - 'qa/qa/service/cluster_provider/gcloud.rb' - 'qa/qa/service/cluster_provider/k3s.rb' - - 'qa/qa/service/kubernetes_cluster.rb' - 'qa/qa/service/praefect_manager.rb' - 'qa/qa/specs/features/api/1_manage/project_access_token_spec.rb' - 'qa/qa/specs/features/api/1_manage/rate_limits_spec.rb' - 'qa/qa/specs/features/api/1_manage/user_access_termination_spec.rb' - 'qa/qa/specs/features/api/1_manage/users_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/changing_repository_storage_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/distributed_reads_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/praefect_connectivity_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/praefect_dataloss_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/praefect_replication_queue_spec.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/praefect_repo_sync_spec.rb' - 'qa/qa/specs/features/api/3_create/integrations/webhook_events_spec.rb' - 'qa/qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb' - 'qa/qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb' @@ -3732,7 +3532,6 @@ Layout/LineLength: - 'qa/qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb' - 'qa/qa/specs/features/api/5_package/container_registry_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/group/create_group_with_mattermost_team_spec.rb' - - 'qa/qa/specs/features/browser_ui/1_manage/login/2fa_recovery_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/login/2fa_ssh_recovery_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/login/log_in_with_2fa_spec.rb' @@ -3741,15 +3540,12 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/1_manage/login/maintain_log_in_mixed_env_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/login/register_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/project/create_project_badge_spec.rb' - - 'qa/qa/specs/features/browser_ui/1_manage/project/dashboard_images_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/project/invite_group_to_project_spec.rb' - - 'qa/qa/specs/features/browser_ui/1_manage/project/project_access_token_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/user/follow_user_activity_spec.rb' - 'qa/qa/specs/features/browser_ui/1_manage/user/user_access_termination_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb' - - 'qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb' @@ -3758,8 +3554,6 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/design_management/add_design_content_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/design_management/modify_design_content_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/jenkins/jenkins_build_status_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/jira/jira_basic_integration_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb' @@ -3783,7 +3577,6 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb' @@ -3817,7 +3610,6 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/mr_event_rule_pipeline_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_editor_branch_switcher_spec.rb' - - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb' @@ -3836,20 +3628,10 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/package_registry/rubygems_registry_spec.rb' - - 'qa/qa/specs/features/browser_ui/6_release/pages/pages_pipeline_spec.rb' - - 'qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb' - - 'qa/qa/specs/features/ee/api/12_geo/geo_nodes_spec.rb' - 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_spec.rb' - 'qa/qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb' - 'qa/qa/specs/features/ee/api/3_create/wiki/group_wiki_repository_storage_move_spec.rb' - 'qa/qa/specs/features/ee/api/7_configure/kubernetes/kubernetes_agent_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/advanced_global_advanced_syntax_search_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/elasticsearch_api_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/issues_index/issue_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/main_index/blob_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/notes_index/note_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/10_protect/policies_list_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb' @@ -3858,24 +3640,9 @@ Layout/LineLength: - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_storage_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/upgrade_group_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/user_registration_billing_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/attachment_replication_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/database_delete_replication_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_ci_job_log_artifacts_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_maven_package_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_npm_registry_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_project_snippets_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/http_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/http_push_to_secondary_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/ssh_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/ssh_push_to_secondary_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_http_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_http_push_to_secondary_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_ssh_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_ssh_push_to_secondary_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/create_merge_request_with_secure_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/license_compliance_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/13_secure/merge_request_license_widget_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/security_reports_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/vulnerability_management_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_1_spec.rb' @@ -3884,12 +3651,10 @@ Layout/LineLength: - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_enforced_sso_new_account_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_non_enforced_sso_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/restrict_by_ip_address_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/share_group_with_group_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/instance/instance_audit_logs_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/ldap/admin_ldap_sync_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/user/minimal_access_user_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb' @@ -3903,7 +3668,6 @@ Layout/LineLength: - 'qa/qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb' @@ -3924,32 +3688,21 @@ Layout/LineLength: - 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/4_verify/transient/merge_trains_transient_bug_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/5_package/dependency_proxy_sso_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/9_enablement/elasticsearch/elasticsearch_reindexing_spec.rb' - 'qa/qa/specs/helpers/context_selector.rb' - 'qa/qa/specs/parallel_runner.rb' - - 'qa/qa/specs/runner.rb' - 'qa/qa/support/loglinking.rb' - - 'qa/qa/support/page_error_checker.rb' - 'qa/qa/support/run.rb' - 'qa/qa/support/ssh.rb' - - 'qa/qa/support/wait_for_requests.rb' - 'qa/qa/tools/delete_projects.rb' - 'qa/qa/tools/delete_subgroups.rb' - 'qa/qa/tools/delete_test_ssh_keys.rb' - 'qa/qa/tools/delete_test_users.rb' - 'qa/qa/tools/generate_perf_testdata.rb' - 'qa/qa/tools/initialize_gitlab_auth.rb' - - 'qa/qa/tools/revoke_all_personal_access_tokens.rb' - - 'qa/qa/tools/test_resources_handler.rb' - - 'qa/qa/vendor/jenkins/page/configure_job.rb' - - 'qa/qa/vendor/jenkins/page/login.rb' - 'qa/spec/git/repository_spec.rb' - - 'qa/spec/page/logging_spec.rb' - 'qa/spec/resource/api_fabricator_spec.rb' - 'qa/spec/runtime/env_spec.rb' - 'qa/spec/runtime/feature_spec.rb' - - 'qa/spec/scenario/template_spec.rb' - - 'qa/spec/spec_helper.rb' - 'qa/spec/specs/helpers/context_selector_spec.rb' - 'qa/spec/specs/helpers/quarantine_spec.rb' - 'qa/spec/specs/runner_spec.rb' @@ -3970,10 +3723,8 @@ Layout/LineLength: - 'rubocop/cop/migration/safer_boolean_column.rb' - 'rubocop/cop/migration/versioned_migration_class.rb' - 'rubocop/cop/migration/with_lock_retries_disallowed_method.rb' - - 'rubocop/cop/performance/ar_exists_and_present_blank.rb' - 'rubocop/cop/qa/selector_usage.rb' - 'rubocop/cop/rspec/top_level_describe_path.rb' - - 'rubocop/cop/static_translation_definition.rb' - 'rubocop/cop/usage_data/large_table.rb' - 'scripts/api/cancel_pipeline.rb' - 'scripts/api/download_job_artifact.rb' @@ -3995,9 +3746,7 @@ Layout/LineLength: - 'sidekiq_cluster/cli.rb' - 'sidekiq_cluster/sidekiq_cluster.rb' - 'spec/benchmarks/banzai_benchmark.rb' - - 'spec/commands/metrics_server/metrics_server_spec.rb' - 'spec/commands/sidekiq_cluster/cli_spec.rb' - - 'spec/components/pajamas/alert_component_spec.rb' - 'spec/config/metrics/aggregates/aggregated_metrics_spec.rb' - 'spec/config/settings_spec.rb' - 'spec/controllers/admin/application_settings_controller_spec.rb' @@ -4027,7 +3776,6 @@ Layout/LineLength: - 'spec/controllers/groups/milestones_controller_spec.rb' - 'spec/controllers/groups/releases_controller_spec.rb' - 'spec/controllers/groups/settings/applications_controller_spec.rb' - - 'spec/controllers/groups/settings/ci_cd_controller_spec.rb' - 'spec/controllers/groups/settings/integrations_controller_spec.rb' - 'spec/controllers/groups_controller_spec.rb' - 'spec/controllers/import/available_namespaces_controller_spec.rb' @@ -4037,12 +3785,9 @@ Layout/LineLength: - 'spec/controllers/import/fogbugz_controller_spec.rb' - 'spec/controllers/import/gitea_controller_spec.rb' - 'spec/controllers/import/github_controller_spec.rb' - - 'spec/controllers/import/gitlab_controller_spec.rb' - 'spec/controllers/invites_controller_spec.rb' - - 'spec/controllers/jira_connect/app_descriptor_controller_spec.rb' - 'spec/controllers/jira_connect/events_controller_spec.rb' - 'spec/controllers/jira_connect/subscriptions_controller_spec.rb' - - 'spec/controllers/metrics_controller_spec.rb' - 'spec/controllers/omniauth_callbacks_controller_spec.rb' - 'spec/controllers/passwords_controller_spec.rb' - 'spec/controllers/profiles/accounts_controller_spec.rb' @@ -4106,7 +3851,6 @@ Layout/LineLength: - 'spec/controllers/uploads_controller_spec.rb' - 'spec/db/schema_spec.rb' - 'spec/deprecation_toolkit_env.rb' - - 'spec/experiments/application_experiment_spec.rb' - 'spec/experiments/concerns/project_commit_count_spec.rb' - 'spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb' - 'spec/factories/ci/builds.rb' @@ -4135,7 +3879,6 @@ Layout/LineLength: - 'spec/features/admin/admin_sees_project_statistics_spec.rb' - 'spec/features/admin/admin_settings_spec.rb' - 'spec/features/admin/admin_users_spec.rb' - - 'spec/features/admin/users/user_spec.rb' - 'spec/features/alert_management/user_filters_alerts_by_status_spec.rb' - 'spec/features/alert_management/user_updates_alert_status_spec.rb' - 'spec/features/alert_management_spec.rb' @@ -4150,7 +3893,6 @@ Layout/LineLength: - 'spec/features/boards/user_visits_board_spec.rb' - 'spec/features/calendar_spec.rb' - 'spec/features/callouts/registration_enabled_spec.rb' - - 'spec/features/clusters/cluster_detail_page_spec.rb' - 'spec/features/commits_spec.rb' - 'spec/features/contextual_sidebar_spec.rb' - 'spec/features/cycle_analytics_spec.rb' @@ -4176,7 +3918,6 @@ Layout/LineLength: - 'spec/features/groups/milestones_sorting_spec.rb' - 'spec/features/groups/packages_spec.rb' - 'spec/features/groups/settings/access_tokens_spec.rb' - - 'spec/features/groups/settings/group_badges_spec.rb' - 'spec/features/groups/settings/repository_spec.rb' - 'spec/features/groups_spec.rb' - 'spec/features/ide/static_object_external_storage_csp_spec.rb' @@ -4191,7 +3932,6 @@ Layout/LineLength: - 'spec/features/issues/csv_spec.rb' - 'spec/features/issues/filtered_search/filter_issues_spec.rb' - 'spec/features/issues/filtered_search/recent_searches_spec.rb' - - 'spec/features/issues/filtered_search/visual_tokens_spec.rb' - 'spec/features/issues/form_spec.rb' - 'spec/features/issues/gfm_autocomplete_spec.rb' - 'spec/features/issues/issue_detail_spec.rb' @@ -4206,7 +3946,6 @@ Layout/LineLength: - 'spec/features/issues/user_sees_empty_state_spec.rb' - 'spec/features/issues/user_sees_live_update_spec.rb' - 'spec/features/issues/user_views_issue_spec.rb' - - 'spec/features/jira_connect/subscriptions_spec.rb' - 'spec/features/labels_hierarchy_spec.rb' - 'spec/features/markdown/copy_as_gfm_spec.rb' - 'spec/features/markdown/gitlab_flavored_markdown_spec.rb' @@ -4247,7 +3986,6 @@ Layout/LineLength: - 'spec/features/merge_request/user_squashes_merge_request_spec.rb' - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb' - 'spec/features/merge_request/user_toggles_whitespace_changes_spec.rb' - - 'spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb' - 'spec/features/merge_requests/filters_generic_behavior_spec.rb' - 'spec/features/merge_requests/user_exports_as_csv_spec.rb' - 'spec/features/merge_requests/user_filters_by_approvals_spec.rb' @@ -4314,7 +4052,6 @@ Layout/LineLength: - 'spec/features/projects/releases/user_views_edit_release_spec.rb' - 'spec/features/projects/releases/user_views_releases_spec.rb' - 'spec/features/projects/settings/access_tokens_spec.rb' - - 'spec/features/projects/settings/project_badges_spec.rb' - 'spec/features/projects/settings/project_settings_spec.rb' - 'spec/features/projects/settings/registry_settings_spec.rb' - 'spec/features/projects/settings/service_desk_setting_spec.rb' @@ -4325,12 +4062,9 @@ Layout/LineLength: - 'spec/features/projects/show/schema_markup_spec.rb' - 'spec/features/projects/show/user_sees_deletion_failure_message_spec.rb' - 'spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb' - - 'spec/features/projects/tags/user_edits_tags_spec.rb' - 'spec/features/projects/terraform_spec.rb' - 'spec/features/projects/tree/upload_file_spec.rb' - - 'spec/features/projects/view_on_env_spec.rb' - 'spec/features/projects_spec.rb' - - 'spec/features/runners_spec.rb' - 'spec/features/search/user_searches_for_comments_spec.rb' - 'spec/features/search/user_searches_for_merge_requests_spec.rb' - 'spec/features/search/user_searches_for_projects_spec.rb' @@ -4344,19 +4078,16 @@ Layout/LineLength: - 'spec/features/snippets/spam_snippets_spec.rb' - 'spec/features/snippets/user_edits_snippet_spec.rb' - 'spec/features/task_lists_spec.rb' - - 'spec/features/topic_show_spec.rb' - 'spec/features/unsubscribe_links_spec.rb' - 'spec/features/user_sorts_things_spec.rb' - 'spec/features/users/login_spec.rb' - 'spec/features/users/overview_spec.rb' - - 'spec/features/users/show_spec.rb' - 'spec/features/users/signup_spec.rb' - 'spec/features/users/user_browses_projects_on_user_page_spec.rb' - 'spec/features/webauthn_spec.rb' - 'spec/finders/access_requests_finder_spec.rb' - 'spec/finders/admin/projects_finder_spec.rb' - 'spec/finders/alert_management/alerts_finder_spec.rb' - - 'spec/finders/applications_finder_spec.rb' - 'spec/finders/autocomplete/users_finder_spec.rb' - 'spec/finders/award_emojis_finder_spec.rb' - 'spec/finders/branches_finder_spec.rb' @@ -4377,8 +4108,6 @@ Layout/LineLength: - 'spec/finders/group_projects_finder_spec.rb' - 'spec/finders/groups/user_groups_finder_spec.rb' - 'spec/finders/groups_finder_spec.rb' - - 'spec/finders/issues_finder_spec.rb' - - 'spec/finders/keys_finder_spec.rb' - 'spec/finders/labels_finder_spec.rb' - 'spec/finders/members_finder_spec.rb' - 'spec/finders/merge_requests/by_approvals_finder_spec.rb' @@ -4388,7 +4117,6 @@ Layout/LineLength: - 'spec/finders/milestones_finder_spec.rb' - 'spec/finders/namespaces/projects_finder_spec.rb' - 'spec/finders/notes_finder_spec.rb' - - 'spec/finders/packages/build_infos_finder_spec.rb' - 'spec/finders/packages/go/version_finder_spec.rb' - 'spec/finders/packages/group_packages_finder_spec.rb' - 'spec/finders/packages/maven/package_finder_spec.rb' @@ -4411,8 +4139,6 @@ Layout/LineLength: - 'spec/finders/user_recent_events_finder_spec.rb' - 'spec/finders/users_finder_spec.rb' - 'spec/frontend/fixtures/api_deploy_keys.rb' - - 'spec/frontend/fixtures/blob.rb' - - 'spec/frontend/fixtures/deploy_keys.rb' - 'spec/frontend/fixtures/freeze_period.rb' - 'spec/frontend/fixtures/issues.rb' - 'spec/frontend/fixtures/jobs.rb' @@ -4421,7 +4147,6 @@ Layout/LineLength: - 'spec/frontend/fixtures/pipeline_schedules.rb' - 'spec/frontend/fixtures/projects.rb' - 'spec/frontend/fixtures/snippet.rb' - - 'spec/graphql/features/feature_flag_spec.rb' - 'spec/graphql/gitlab_schema_spec.rb' - 'spec/graphql/mutations/boards/issues/issue_move_list_spec.rb' - 'spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb' @@ -4430,10 +4155,7 @@ Layout/LineLength: - 'spec/graphql/mutations/clusters/agents/create_spec.rb' - 'spec/graphql/mutations/commits/create_spec.rb' - 'spec/graphql/mutations/container_expiration_policies/update_spec.rb' - - 'spec/graphql/mutations/custom_emoji/create_spec.rb' - 'spec/graphql/mutations/customer_relations/contacts/create_spec.rb' - - 'spec/graphql/mutations/customer_relations/contacts/update_spec.rb' - - 'spec/graphql/mutations/customer_relations/organizations/create_spec.rb' - 'spec/graphql/mutations/customer_relations/organizations/update_spec.rb' - 'spec/graphql/mutations/discussions/toggle_resolve_spec.rb' - 'spec/graphql/mutations/groups/update_spec.rb' @@ -4448,7 +4170,6 @@ Layout/LineLength: - 'spec/graphql/mutations/releases/update_spec.rb' - 'spec/graphql/mutations/saved_replies/create_spec.rb' - 'spec/graphql/mutations/saved_replies/update_spec.rb' - - 'spec/graphql/mutations/security/ci_configuration/base_security_analyzer_spec.rb' - 'spec/graphql/mutations/security/ci_configuration/configure_sast_spec.rb' - 'spec/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver_spec.rb' - 'spec/graphql/resolvers/alert_management/alert_resolver_spec.rb' @@ -4487,15 +4208,12 @@ Layout/LineLength: - 'spec/graphql/types/base_field_spec.rb' - 'spec/graphql/types/commit_type_spec.rb' - 'spec/graphql/types/container_expiration_policy_type_spec.rb' - - 'spec/graphql/types/container_repository_details_type_spec.rb' - - 'spec/graphql/types/container_repository_type_spec.rb' - 'spec/graphql/types/environment_type_spec.rb' - 'spec/graphql/types/global_id_type_spec.rb' - 'spec/graphql/types/group_type_spec.rb' - 'spec/graphql/types/issue_sort_enum_spec.rb' - 'spec/graphql/types/issue_type_spec.rb' - 'spec/graphql/types/merge_request_type_spec.rb' - - 'spec/graphql/types/mutation_type_spec.rb' - 'spec/graphql/types/packages/helm/metadata_type_spec.rb' - 'spec/graphql/types/packages/package_dependency_type_enum_spec.rb' - 'spec/graphql/types/packages/package_group_sort_enum_spec.rb' @@ -4554,7 +4272,6 @@ Layout/LineLength: - 'spec/helpers/projects/security/configuration_helper_spec.rb' - 'spec/helpers/projects_helper_spec.rb' - 'spec/helpers/registrations_helper_spec.rb' - - 'spec/helpers/routing/pseudonymization_helper_spec.rb' - 'spec/helpers/search_helper_spec.rb' - 'spec/helpers/sidebars_helper_spec.rb' - 'spec/helpers/sidekiq_helper_spec.rb' @@ -4574,7 +4291,6 @@ Layout/LineLength: - 'spec/helpers/wiki_page_version_helper_spec.rb' - 'spec/initializers/00_rails_disable_joins_spec.rb' - 'spec/initializers/6_validations_spec.rb' - - 'spec/initializers/carrierwave_patch_spec.rb' - 'spec/initializers/direct_upload_support_spec.rb' - 'spec/initializers/global_id_spec.rb' - 'spec/initializers/lograge_spec.rb' @@ -4583,7 +4299,6 @@ Layout/LineLength: - 'spec/initializers/secret_token_spec.rb' - 'spec/initializers/session_store_spec.rb' - 'spec/initializers/settings_spec.rb' - - 'spec/initializers/trusted_proxies_spec.rb' - 'spec/lib/api/entities/ci/pipeline_spec.rb' - 'spec/lib/api/entities/project_import_status_spec.rb' - 'spec/lib/api/entities/projects/repository_storage_move_spec.rb' @@ -4599,7 +4314,6 @@ Layout/LineLength: - 'spec/lib/api/helpers/rate_limiter_spec.rb' - 'spec/lib/api/helpers_spec.rb' - 'spec/lib/atlassian/jira_connect/client_spec.rb' - - 'spec/lib/atlassian/jira_connect/serializers/feature_flag_entity_spec.rb' - 'spec/lib/atlassian/jira_issue_key_extractor_spec.rb' - 'spec/lib/backup/files_spec.rb' - 'spec/lib/backup/gitaly_backup_spec.rb' @@ -4609,7 +4323,6 @@ Layout/LineLength: - 'spec/lib/banzai/filter/ascii_doc_post_processing_filter_spec.rb' - 'spec/lib/banzai/filter/ascii_doc_sanitization_filter_spec.rb' - 'spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb' - - 'spec/lib/banzai/filter/custom_emoji_filter_spec.rb' - 'spec/lib/banzai/filter/external_link_filter_spec.rb' - 'spec/lib/banzai/filter/gollum_tags_filter_spec.rb' - 'spec/lib/banzai/filter/image_link_filter_spec.rb' @@ -4658,7 +4371,6 @@ Layout/LineLength: - 'spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/project_feature_pipeline_spec.rb' - - 'spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/snippets_pipeline_spec.rb' - 'spec/lib/bulk_imports/users_mapper_spec.rb' @@ -4668,7 +4380,6 @@ Layout/LineLength: - 'spec/lib/csv_builder_spec.rb' - 'spec/lib/declarative_enum_spec.rb' - 'spec/lib/error_tracking/sentry_client/issue_link_spec.rb' - - 'spec/lib/error_tracking/sentry_client/issue_spec.rb' - 'spec/lib/error_tracking/sentry_client/pagination_parser_spec.rb' - 'spec/lib/error_tracking/sentry_client/projects_spec.rb' - 'spec/lib/event_filter_spec.rb' @@ -4709,7 +4420,6 @@ Layout/LineLength: - 'spec/lib/gitlab/background_migration/backfill_member_namespace_for_group_members_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb' - - 'spec/lib/gitlab/background_migration/backfill_work_item_type_id_for_issues_spec.rb' - 'spec/lib/gitlab/background_migration/batching_strategies/backfill_project_namespace_per_group_batching_strategy_spec.rb' - 'spec/lib/gitlab/background_migration/batching_strategies/primary_key_batching_strategy_spec.rb' - 'spec/lib/gitlab/background_migration/cleanup_orphaned_lfs_objects_projects_spec.rb' @@ -4746,7 +4456,6 @@ Layout/LineLength: - 'spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb' - 'spec/lib/gitlab/chat/output_spec.rb' - 'spec/lib/gitlab/checks/branch_check_spec.rb' - - 'spec/lib/gitlab/checks/changes_access_spec.rb' - 'spec/lib/gitlab/checks/diff_check_spec.rb' - 'spec/lib/gitlab/checks/push_check_spec.rb' - 'spec/lib/gitlab/checks/snippet_check_spec.rb' @@ -4792,11 +4501,9 @@ Layout/LineLength: - 'spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb' - 'spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb' - 'spec/lib/gitlab/ci/reports/security/flag_spec.rb' - - 'spec/lib/gitlab/ci/reports/security/link_spec.rb' - 'spec/lib/gitlab/ci/reports/security/reports_spec.rb' - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - 'spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb' - - 'spec/lib/gitlab/ci/runner_releases_spec.rb' - 'spec/lib/gitlab/ci/runner_upgrade_check_spec.rb' - 'spec/lib/gitlab/ci/status/bridge/factory_spec.rb' - 'spec/lib/gitlab/ci/status/build/manual_spec.rb' @@ -4815,7 +4522,6 @@ Layout/LineLength: - 'spec/lib/gitlab/code_navigation_path_spec.rb' - 'spec/lib/gitlab/composer/cache_spec.rb' - 'spec/lib/gitlab/composer/version_index_spec.rb' - - 'spec/lib/gitlab/config_checker/external_database_checker_spec.rb' - 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb' - 'spec/lib/gitlab/conflict/file_spec.rb' - 'spec/lib/gitlab/consul/internal_spec.rb' @@ -4835,7 +4541,6 @@ Layout/LineLength: - 'spec/lib/gitlab/database/load_balancing/configuration_spec.rb' - 'spec/lib/gitlab/database/load_balancing/host_list_spec.rb' - 'spec/lib/gitlab/database/load_balancing/service_discovery_spec.rb' - - 'spec/lib/gitlab/database/load_balancing/setup_spec.rb' - 'spec/lib/gitlab/database/load_balancing/sidekiq_client_middleware_spec.rb' - 'spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb' - 'spec/lib/gitlab/database/load_balancing/srv_resolver_spec.rb' @@ -4885,7 +4590,6 @@ Layout/LineLength: - 'spec/lib/gitlab/diff/highlight_cache_spec.rb' - 'spec/lib/gitlab/diff/highlight_spec.rb' - 'spec/lib/gitlab/diff/inline_diff_marker_spec.rb' - - 'spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb' - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' - 'spec/lib/gitlab/diff/suggestion_spec.rb' - 'spec/lib/gitlab/email/failure_handler_spec.rb' @@ -4941,20 +4645,13 @@ Layout/LineLength: - 'spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb' - 'spec/lib/gitlab/github_import/object_counter_spec.rb' - 'spec/lib/gitlab/github_import/user_finder_spec.rb' - - 'spec/lib/gitlab/github_import_spec.rb' - 'spec/lib/gitlab/gl_repository/repo_type_spec.rb' - - 'spec/lib/gitlab/global_id/deprecations_spec.rb' - 'spec/lib/gitlab/gpg/commit_spec.rb' - 'spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb' - 'spec/lib/gitlab/graphql/loaders/batch_lfs_oid_loader_spec.rb' - 'spec/lib/gitlab/graphql/markdown_field_spec.rb' - 'spec/lib/gitlab/graphql/pagination/connections_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/graphql/pagination/keyset/connection_generic_keyset_spec.rb' - 'spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb' - - 'spec/lib/gitlab/graphql/pagination/keyset/order_info_spec.rb' - - 'spec/lib/gitlab/graphql/pagination/keyset/query_builder_spec.rb' - 'spec/lib/gitlab/graphql/present/field_extension_spec.rb' - 'spec/lib/gitlab/graphql/tracers/application_context_tracer_spec.rb' - 'spec/lib/gitlab/graphs/commits_spec.rb' @@ -4998,7 +4695,6 @@ Layout/LineLength: - 'spec/lib/gitlab/import_sources_spec.rb' - 'spec/lib/gitlab/incoming_email_spec.rb' - 'spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb' - - 'spec/lib/gitlab/internal_post_receive/response_spec.rb' - 'spec/lib/gitlab/issuable_metadata_spec.rb' - 'spec/lib/gitlab/issues/rebalancing/state_spec.rb' - 'spec/lib/gitlab/jira/dvcs_spec.rb' @@ -5057,7 +4753,6 @@ Layout/LineLength: - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb' - 'spec/lib/gitlab/pagination/keyset/order_spec.rb' - 'spec/lib/gitlab/pagination/keyset/paginator_spec.rb' - - 'spec/lib/gitlab/pagination/offset_header_builder_spec.rb' - 'spec/lib/gitlab/pagination/offset_pagination_spec.rb' - 'spec/lib/gitlab/path_regex_spec.rb' - 'spec/lib/gitlab/performance_bar/redis_adapter_when_peek_enabled_spec.rb' @@ -5065,7 +4760,6 @@ Layout/LineLength: - 'spec/lib/gitlab/phabricator_import/conduit/user_spec.rb' - 'spec/lib/gitlab/phabricator_import/user_finder_spec.rb' - 'spec/lib/gitlab/project_search_results_spec.rb' - - 'spec/lib/gitlab/project_template_spec.rb' - 'spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb' - 'spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb' - 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb' @@ -5120,7 +4814,6 @@ Layout/LineLength: - 'spec/lib/gitlab/usage/metrics/instrumentations/count_users_creating_issues_metric_spec.rb' - 'spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb' - 'spec/lib/gitlab/usage/metrics/instrumentations/redis_hll_metric_spec.rb' - - 'spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb' - 'spec/lib/gitlab/usage/metrics/name_suggestion_spec.rb' - 'spec/lib/gitlab/usage/metrics/names_suggestions/generator_spec.rb' - 'spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb' @@ -5182,7 +4875,6 @@ Layout/LineLength: - 'spec/mailers/emails/releases_spec.rb' - 'spec/mailers/emails/service_desk_spec.rb' - 'spec/mailers/notify_spec.rb' - - 'spec/migrations/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url_spec.rb' - 'spec/migrations/20210423160427_schedule_drop_invalid_vulnerabilities_spec.rb' - 'spec/migrations/20210511142748_schedule_drop_invalid_vulnerabilities2_spec.rb' - 'spec/migrations/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects_spec.rb' @@ -5196,7 +4888,6 @@ Layout/LineLength: - 'spec/migrations/20210831203408_upsert_base_work_item_types_spec.rb' - 'spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb' - 'spec/migrations/20210910194952_update_report_type_for_existing_approval_project_rules_spec.rb' - - 'spec/migrations/20210918201050_remove_old_pending_jobs_for_recalculate_vulnerabilities_occurrences_uuid_spec.rb' - 'spec/migrations/20211018152654_schedule_remove_duplicate_vulnerabilities_findings3_spec.rb' - 'spec/migrations/20211110143306_add_not_null_constraint_to_security_findings_uuid_spec.rb' - 'spec/migrations/20211110151350_schedule_drop_invalid_security_findings_spec.rb' @@ -5216,7 +4907,6 @@ Layout/LineLength: - 'spec/migrations/20220309084954_remove_leftover_external_pull_request_deletions_spec.rb' - 'spec/migrations/active_record/schema_spec.rb' - 'spec/migrations/add_upvotes_count_index_to_issues_spec.rb' - - 'spec/migrations/associate_existing_dast_builds_with_variables_spec.rb' - 'spec/migrations/backfill_all_project_namespaces_spec.rb' - 'spec/migrations/backfill_cadence_id_for_boards_scoped_to_iteration_spec.rb' - 'spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb' @@ -5228,24 +4918,19 @@ Layout/LineLength: - 'spec/migrations/cleanup_move_container_registry_enabled_to_project_feature_spec.rb' - 'spec/migrations/confirm_support_bot_user_spec.rb' - 'spec/migrations/delete_security_findings_without_uuid_spec.rb' - - 'spec/migrations/disable_job_token_scope_when_unused_spec.rb' - 'spec/migrations/finalize_project_namespaces_backfill_spec.rb' - 'spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb' - 'spec/migrations/fix_batched_migrations_old_format_job_arguments_spec.rb' - - 'spec/migrations/populate_audit_event_streaming_verification_token_spec.rb' - 'spec/migrations/populate_dismissal_information_for_vulnerabilities_spec.rb' - 'spec/migrations/re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types_spec.rb' - 'spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_features_spec.rb' - 'spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_with_new_features_spec.rb' - 'spec/migrations/remove_duplicate_dast_site_tokens_spec.rb' - - 'spec/migrations/remove_duplicate_dast_site_tokens_with_same_token_spec.rb' - 'spec/migrations/remove_not_null_contraint_on_title_from_sprints_spec.rb' - 'spec/migrations/rename_services_to_integrations_spec.rb' - 'spec/migrations/replace_external_wiki_triggers_spec.rb' - 'spec/migrations/reset_severity_levels_to_new_default_spec.rb' - 'spec/migrations/schedule_add_primary_email_to_emails_if_user_confirmed_spec.rb' - - 'spec/migrations/schedule_copy_ci_builds_columns_to_security_scans2_spec.rb' - - 'spec/migrations/schedule_populate_status_column_of_security_scans_spec.rb' - 'spec/migrations/schedule_recalculate_vulnerability_finding_signatures_for_findings_spec.rb' - 'spec/migrations/schedule_update_timelogs_null_spent_at_spec.rb' - 'spec/migrations/schedule_update_timelogs_project_id_spec.rb' @@ -5262,15 +4947,12 @@ Layout/LineLength: - 'spec/models/audit_event_spec.rb' - 'spec/models/authentication_event_spec.rb' - 'spec/models/award_emoji_spec.rb' - - 'spec/models/badge_spec.rb' - - 'spec/models/badges/project_badge_spec.rb' - 'spec/models/blob_viewer/go_mod_spec.rb' - 'spec/models/blob_viewer/metrics_dashboard_yml_spec.rb' - 'spec/models/broadcast_message_spec.rb' - 'spec/models/bulk_import_spec.rb' - 'spec/models/bulk_imports/entity_spec.rb' - 'spec/models/bulk_imports/file_transfer/project_config_spec.rb' - - 'spec/models/ci/artifact_blob_spec.rb' - 'spec/models/ci/build_runner_session_spec.rb' - 'spec/models/ci/build_spec.rb' - 'spec/models/ci/build_trace_chunk_spec.rb' @@ -5324,7 +5006,6 @@ Layout/LineLength: - 'spec/models/concerns/token_authenticatable_spec.rb' - 'spec/models/concerns/token_authenticatable_strategies/encryption_helper_spec.rb' - 'spec/models/concerns/x509_serial_number_attribute_spec.rb' - - 'spec/models/container_registry/event_spec.rb' - 'spec/models/container_repository_spec.rb' - 'spec/models/context_commits_diff_spec.rb' - 'spec/models/customer_relations/issue_contact_spec.rb' @@ -5361,9 +5042,7 @@ Layout/LineLength: - 'spec/models/integrations/discord_spec.rb' - 'spec/models/integrations/drone_ci_spec.rb' - 'spec/models/integrations/emails_on_push_spec.rb' - - 'spec/models/integrations/jenkins_spec.rb' - 'spec/models/integrations/jira_spec.rb' - - 'spec/models/integrations/jira_tracker_data_spec.rb' - 'spec/models/integrations/packagist_spec.rb' - 'spec/models/integrations/prometheus_spec.rb' - 'spec/models/integrations/slack_spec.rb' @@ -5444,7 +5123,6 @@ Layout/LineLength: - 'spec/models/snippet_spec.rb' - 'spec/models/state_note_spec.rb' - 'spec/models/suggestion_spec.rb' - - 'spec/models/terraform/state_spec.rb' - 'spec/models/timelog_spec.rb' - 'spec/models/todo_spec.rb' - 'spec/models/upload_spec.rb' @@ -5469,7 +5147,6 @@ Layout/LineLength: - 'spec/presenters/clusters/cluster_presenter_spec.rb' - 'spec/presenters/commit_status_presenter_spec.rb' - 'spec/presenters/gitlab/blame_presenter_spec.rb' - - 'spec/presenters/issue_presenter_spec.rb' - 'spec/presenters/merge_request_presenter_spec.rb' - 'spec/presenters/packages/composer/packages_presenter_spec.rb' - 'spec/presenters/packages/conan/package_presenter_spec.rb' @@ -5483,7 +5160,6 @@ Layout/LineLength: - 'spec/presenters/prometheus_alert_presenter_spec.rb' - 'spec/presenters/service_hook_presenter_spec.rb' - 'spec/presenters/snippet_blob_presenter_spec.rb' - - 'spec/presenters/tree_entry_presenter_spec.rb' - 'spec/rack_servers/puma_spec.rb' - 'spec/requests/admin/background_migrations_controller_spec.rb' - 'spec/requests/api/access_requests_spec.rb' @@ -5580,7 +5256,6 @@ Layout/LineLength: - 'spec/requests/api/graphql/project/jobs_spec.rb' - 'spec/requests/api/graphql/project/milestones_spec.rb' - 'spec/requests/api/graphql/project/pipeline_spec.rb' - - 'spec/requests/api/graphql/project/project_members_spec.rb' - 'spec/requests/api/graphql/project/project_statistics_spec.rb' - 'spec/requests/api/graphql/project/release_spec.rb' - 'spec/requests/api/graphql/usage_trends_measurements_spec.rb' @@ -5613,7 +5288,6 @@ Layout/LineLength: - 'spec/requests/api/keys_spec.rb' - 'spec/requests/api/labels_spec.rb' - 'spec/requests/api/lint_spec.rb' - - 'spec/requests/api/markdown_spec.rb' - 'spec/requests/api/maven_packages_spec.rb' - 'spec/requests/api/members_spec.rb' - 'spec/requests/api/merge_request_diffs_spec.rb' @@ -5635,7 +5309,6 @@ Layout/LineLength: - 'spec/requests/api/project_debian_distributions_spec.rb' - 'spec/requests/api/project_events_spec.rb' - 'spec/requests/api/project_export_spec.rb' - - 'spec/requests/api/project_hooks_spec.rb' - 'spec/requests/api/project_import_spec.rb' - 'spec/requests/api/project_milestones_spec.rb' - 'spec/requests/api/project_packages_spec.rb' @@ -5647,7 +5320,6 @@ Layout/LineLength: - 'spec/requests/api/release/links_spec.rb' - 'spec/requests/api/releases_spec.rb' - 'spec/requests/api/repositories_spec.rb' - - 'spec/requests/api/resource_state_events_spec.rb' - 'spec/requests/api/rubygem_packages_spec.rb' - 'spec/requests/api/search_spec.rb' - 'spec/requests/api/settings_spec.rb' @@ -5666,8 +5338,6 @@ Layout/LineLength: - 'spec/requests/groups/settings/access_tokens_controller_spec.rb' - 'spec/requests/groups_controller_spec.rb' - 'spec/requests/ide_controller_spec.rb' - - 'spec/requests/jira_connect/installations_controller_spec.rb' - - 'spec/requests/jira_connect/users_controller_spec.rb' - 'spec/requests/jwt_controller_spec.rb' - 'spec/requests/lfs_http_spec.rb' - 'spec/requests/oauth/tokens_controller_spec.rb' @@ -5688,7 +5358,6 @@ Layout/LineLength: - 'spec/requests/projects/merge_requests_spec.rb' - 'spec/requests/projects/metrics/dashboards/builder_spec.rb' - 'spec/requests/projects/noteable_notes_spec.rb' - - 'spec/requests/projects/releases_controller_spec.rb' - 'spec/requests/projects/settings/access_tokens_controller_spec.rb' - 'spec/requests/projects/tags_controller_spec.rb' - 'spec/requests/projects_controller_spec.rb' @@ -5702,7 +5371,6 @@ Layout/LineLength: - 'spec/routing/project_routing_spec.rb' - 'spec/routing/projects/security/configuration_controller_routing_spec.rb' - 'spec/routing/routing_spec.rb' - - 'spec/routing/uploads_routing_spec.rb' - 'spec/rubocop/cop/gitlab/mark_used_feature_flags_spec.rb' - 'spec/rubocop/cop/lint/last_keyword_argument_spec.rb' - 'spec/rubocop/cop/migration/safer_boolean_column_spec.rb' @@ -5710,10 +5378,7 @@ Layout/LineLength: - 'spec/rubocop/cop/performance/readlines_each_spec.rb' - 'spec/rubocop/cop/rspec/env_assignment_spec.rb' - 'spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb' - - 'spec/rubocop/cop/scalability/file_uploads_spec.rb' - - 'spec/scripts/changed-feature-flags_spec.rb' - 'spec/scripts/failed_tests_spec.rb' - - 'spec/scripts/pipeline_test_report_builder_spec.rb' - 'spec/serializers/accessibility_error_entity_spec.rb' - 'spec/serializers/accessibility_reports_comparer_entity_spec.rb' - 'spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb' @@ -5779,7 +5444,6 @@ Layout/LineLength: - 'spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb' - 'spec/services/ci/register_job_service_spec.rb' - 'spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb' - - 'spec/services/ci/retry_job_service_spec.rb' - 'spec/services/ci/runners/register_runner_service_spec.rb' - 'spec/services/ci/test_failure_history_service_spec.rb' - 'spec/services/ci/unlock_artifacts_service_spec.rb' @@ -5804,7 +5468,6 @@ Layout/LineLength: - 'spec/services/container_expiration_policies/cleanup_service_spec.rb' - 'spec/services/container_expiration_policies/update_service_spec.rb' - 'spec/services/customer_relations/contacts/create_service_spec.rb' - - 'spec/services/customer_relations/contacts/update_service_spec.rb' - 'spec/services/customer_relations/organizations/create_service_spec.rb' - 'spec/services/dependency_proxy/find_cached_manifest_service_spec.rb' - 'spec/services/deployments/link_merge_requests_service_spec.rb' @@ -5812,7 +5475,6 @@ Layout/LineLength: - 'spec/services/design_management/copy_design_collection/copy_service_spec.rb' - 'spec/services/design_management/delete_designs_service_spec.rb' - 'spec/services/design_management/design_user_notes_count_service_spec.rb' - - 'spec/services/design_management/save_designs_service_spec.rb' - 'spec/services/discussions/capture_diff_note_positions_service_spec.rb' - 'spec/services/discussions/resolve_service_spec.rb' - 'spec/services/draft_notes/publish_service_spec.rb' @@ -5833,7 +5495,6 @@ Layout/LineLength: - 'spec/services/groups/autocomplete_service_spec.rb' - 'spec/services/groups/create_service_spec.rb' - 'spec/services/groups/group_links/destroy_service_spec.rb' - - 'spec/services/groups/open_issues_count_service_spec.rb' - 'spec/services/groups/transfer_service_spec.rb' - 'spec/services/groups/update_service_spec.rb' - 'spec/services/groups/update_shared_runners_service_spec.rb' @@ -5871,7 +5532,6 @@ Layout/LineLength: - 'spec/services/jira_import/cloud_users_mapper_service_spec.rb' - 'spec/services/jira_import/server_users_mapper_service_spec.rb' - 'spec/services/jira_import/start_import_service_spec.rb' - - 'spec/services/jira_import/users_importer_spec.rb' - 'spec/services/labels/available_labels_service_spec.rb' - 'spec/services/labels/promote_service_spec.rb' - 'spec/services/labels/transfer_service_spec.rb' @@ -5889,7 +5549,6 @@ Layout/LineLength: - 'spec/services/merge_requests/assign_issues_service_spec.rb' - 'spec/services/merge_requests/base_service_spec.rb' - 'spec/services/merge_requests/build_service_spec.rb' - - 'spec/services/merge_requests/bulk_remove_attention_requested_service_spec.rb' - 'spec/services/merge_requests/cleanup_refs_service_spec.rb' - 'spec/services/merge_requests/conflicts/list_service_spec.rb' - 'spec/services/merge_requests/create_from_issue_service_spec.rb' @@ -5901,8 +5560,6 @@ Layout/LineLength: - 'spec/services/merge_requests/link_lfs_objects_service_spec.rb' - 'spec/services/merge_requests/merge_service_spec.rb' - 'spec/services/merge_requests/merge_to_ref_service_spec.rb' - - 'spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb' - - 'spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb' - 'spec/services/merge_requests/mergeability/run_checks_service_spec.rb' - 'spec/services/merge_requests/mergeability_check_service_spec.rb' - 'spec/services/merge_requests/push_options_handler_service_spec.rb' @@ -5910,7 +5567,6 @@ Layout/LineLength: - 'spec/services/merge_requests/refresh_service_spec.rb' - 'spec/services/merge_requests/request_review_service_spec.rb' - 'spec/services/merge_requests/squash_service_spec.rb' - - 'spec/services/merge_requests/toggle_attention_requested_service_spec.rb' - 'spec/services/merge_requests/update_service_spec.rb' - 'spec/services/metrics/dashboard/annotations/create_service_spec.rb' - 'spec/services/metrics/dashboard/clone_dashboard_service_spec.rb' @@ -5984,7 +5640,6 @@ Layout/LineLength: - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' - 'spec/services/projects/lfs_pointers/lfs_import_service_spec.rb' - 'spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb' - - 'spec/services/projects/open_issues_count_service_spec.rb' - 'spec/services/projects/operations/update_service_spec.rb' - 'spec/services/projects/overwrite_project_service_spec.rb' - 'spec/services/projects/transfer_service_spec.rb' @@ -5994,7 +5649,6 @@ Layout/LineLength: - 'spec/services/projects/update_service_spec.rb' - 'spec/services/protected_branches/create_service_spec.rb' - 'spec/services/quick_actions/interpret_service_spec.rb' - - 'spec/services/repositories/destroy_service_spec.rb' - 'spec/services/repository_archive_clean_up_service_spec.rb' - 'spec/services/resource_access_tokens/create_service_spec.rb' - 'spec/services/resource_access_tokens/revoke_service_spec.rb' @@ -6006,7 +5660,6 @@ Layout/LineLength: - 'spec/services/search_service_spec.rb' - 'spec/services/security/ci_configuration/sast_create_service_spec.rb' - 'spec/services/security/merge_reports_service_spec.rb' - - 'spec/services/service_ping/submit_service_ping_service_spec.rb' - 'spec/services/snippets/create_service_spec.rb' - 'spec/services/snippets/update_repository_storage_service_spec.rb' - 'spec/services/snippets/update_service_spec.rb' @@ -6034,7 +5687,6 @@ Layout/LineLength: - 'spec/services/web_hooks/log_execution_service_spec.rb' - 'spec/services/work_items/create_and_link_service_spec.rb' - 'spec/services/work_items/create_from_task_service_spec.rb' - - 'spec/services/work_items/create_service_spec.rb' - 'spec/services/work_items/task_list_reference_replacement_service_spec.rb' - 'spec/services/work_items/update_service_spec.rb' - 'spec/services/x509_certificate_revoke_service_spec.rb' @@ -6058,7 +5710,6 @@ Layout/LineLength: - 'spec/support/helpers/feature_flag_helpers.rb' - 'spec/support/helpers/filtered_search_helpers.rb' - 'spec/support/helpers/git_http_helpers.rb' - - 'spec/support/helpers/global_id_deprecation_helpers.rb' - 'spec/support/helpers/graphql_helpers.rb' - 'spec/support/helpers/javascript_fixtures_helpers.rb' - 'spec/support/helpers/kubernetes_helpers.rb' @@ -6111,7 +5762,6 @@ Layout/LineLength: - 'spec/support/shared_examples/controllers/set_sort_order_from_user_preference_shared_examples.rb' - 'spec/support/shared_examples/controllers/wiki_actions_shared_examples.rb' - 'spec/support/shared_examples/features/2fa_shared_examples.rb' - - 'spec/support/shared_examples/features/archive_download_buttons_shared_examples.rb' - 'spec/support/shared_examples/features/container_registry_shared_examples.rb' - 'spec/support/shared_examples/features/discussion_comments_shared_example.rb' - 'spec/support/shared_examples/features/editable_merge_request_shared_examples.rb' @@ -6235,7 +5885,6 @@ Layout/LineLength: - 'spec/support/shared_examples/services/repositories/housekeeping_shared_examples.rb' - 'spec/support/shared_examples/services/resource_events/change_milestone_service_shared_examples.rb' - 'spec/support/shared_examples/services/security/ci_configuration/create_service_shared_examples.rb' - - 'spec/support/shared_examples/snippet_blob_shared_examples.rb' - 'spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb' - 'spec/support/shared_examples/uploaders/upload_type_shared_examples.rb' - 'spec/support/shared_examples/views/registration_features_prompt_shared_examples.rb' @@ -6251,7 +5900,6 @@ Layout/LineLength: - 'spec/tasks/dev_rake_spec.rb' - 'spec/tasks/gitlab/artifacts/check_rake_spec.rb' - 'spec/tasks/gitlab/background_migrations_rake_spec.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/db/validate_config_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/tasks/gitlab/external_diffs_rake_spec.rb' @@ -6267,7 +5915,6 @@ Layout/LineLength: - 'spec/tasks/gitlab/storage_rake_spec.rb' - 'spec/tasks/gitlab/task_helpers_spec.rb' - 'spec/tasks/gitlab/terraform/migrate_rake_spec.rb' - - 'spec/tasks/gitlab/update_templates_rake_spec.rb' - 'spec/tasks/gitlab/uploads/check_rake_spec.rb' - 'spec/tasks/gitlab/workhorse_rake_spec.rb' - 'spec/tasks/migrate/schema_check_rake_spec.rb' @@ -6306,13 +5953,10 @@ Layout/LineLength: - 'spec/views/layouts/_head.html.haml_spec.rb' - 'spec/views/layouts/application.html.haml_spec.rb' - 'spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb' - - 'spec/views/notify/change_in_merge_request_draft_status_email.html.haml_spec.rb' - - 'spec/views/notify/change_in_merge_request_draft_status_email.text.erb_spec.rb' - 'spec/views/notify/push_to_merge_request_email.text.haml_spec.rb' - 'spec/views/profiles/keys/_form.html.haml_spec.rb' - 'spec/views/projects/artifacts/_artifact.html.haml_spec.rb' - 'spec/views/projects/commits/_commit.html.haml_spec.rb' - - 'spec/views/projects/edit.html.haml_spec.rb' - 'spec/views/projects/imports/new.html.haml_spec.rb' - 'spec/views/projects/jobs/_build.html.haml_spec.rb' - 'spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb' @@ -6356,8 +6000,6 @@ Layout/LineLength: - 'spec/workers/container_registry/migration/guard_worker_spec.rb' - 'spec/workers/container_registry/migration/observer_worker_spec.rb' - 'spec/workers/create_pipeline_worker_spec.rb' - - 'spec/workers/database/batched_background_migration/ci_database_worker_spec.rb' - - 'spec/workers/database/batched_background_migration_worker_spec.rb' - 'spec/workers/dependency_proxy/image_ttl_group_policy_worker_spec.rb' - 'spec/workers/deployments/hooks_worker_spec.rb' - 'spec/workers/deployments/update_environment_worker_spec.rb' @@ -6380,8 +6022,6 @@ Layout/LineLength: - 'spec/workers/jira_connect/sync_project_worker_spec.rb' - 'spec/workers/loose_foreign_keys/cleanup_worker_spec.rb' - 'spec/workers/members_destroyer/unassign_issuables_worker_spec.rb' - - 'spec/workers/merge_requests/create_pipeline_worker_spec.rb' - - 'spec/workers/merge_requests/update_head_pipeline_worker_spec.rb' - 'spec/workers/new_issue_worker_spec.rb' - 'spec/workers/new_merge_request_worker_spec.rb' - 'spec/workers/packages/cleanup_package_file_worker_spec.rb' @@ -6394,7 +6034,6 @@ Layout/LineLength: - 'spec/workers/personal_access_tokens/expiring_worker_spec.rb' - 'spec/workers/post_receive_spec.rb' - 'spec/workers/projects/post_creation_worker_spec.rb' - - 'spec/workers/projects/refresh_build_artifacts_size_statistics_worker_spec.rb' - 'spec/workers/propagate_integration_inherit_descendant_worker_spec.rb' - 'spec/workers/remove_expired_members_worker_spec.rb' - 'spec/workers/repository_check/dispatch_worker_spec.rb' diff --git a/.rubocop_todo/layout/space_around_operators.yml b/.rubocop_todo/layout/space_around_operators.yml new file mode 100644 index 0000000000..9f6c014572 --- /dev/null +++ b/.rubocop_todo/layout/space_around_operators.yml @@ -0,0 +1,5 @@ +--- +# Cop supports --auto-correct. +Layout/SpaceAroundOperators: + Exclude: + - 'lib/gitlab/utils/strong_memoize.rb' diff --git a/.rubocop_todo/layout/space_before_block_braces.yml b/.rubocop_todo/layout/space_before_block_braces.yml new file mode 100644 index 0000000000..3be90947fe --- /dev/null +++ b/.rubocop_todo/layout/space_before_block_braces.yml @@ -0,0 +1,5 @@ +--- +# Cop supports --auto-correct. +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'app/helpers/colors_helper.rb' diff --git a/.rubocop_todo/layout/space_inside_block_braces.yml b/.rubocop_todo/layout/space_inside_block_braces.yml new file mode 100644 index 0000000000..c775ad94e4 --- /dev/null +++ b/.rubocop_todo/layout/space_inside_block_braces.yml @@ -0,0 +1,5 @@ +--- +# Cop supports --auto-correct. +Layout/SpaceInsideBlockBraces: + Exclude: + - 'spec/requests/api/groups_spec.rb' diff --git a/.rubocop_todo/layout/space_inside_parens.yml b/.rubocop_todo/layout/space_inside_parens.yml index 301568f0ec..805a979140 100644 --- a/.rubocop_todo/layout/space_inside_parens.yml +++ b/.rubocop_todo/layout/space_inside_parens.yml @@ -418,7 +418,6 @@ Layout/SpaceInsideParens: - 'spec/support/shared_examples/requests/api/composer_packages_shared_examples.rb' - 'spec/support/shared_examples/requests/releases_shared_examples.rb' - 'spec/support/shared_examples/serializers/environment_serializer_shared_examples.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/validators/devise_email_validator_spec.rb' - 'spec/views/shared/runners/_runner_details.html.haml_spec.rb' diff --git a/.rubocop_todo/layout/trailing_whitespace.yml b/.rubocop_todo/layout/trailing_whitespace.yml new file mode 100644 index 0000000000..d9c88c989e --- /dev/null +++ b/.rubocop_todo/layout/trailing_whitespace.yml @@ -0,0 +1,16 @@ +--- +# Cop supports --auto-correct. +Layout/TrailingWhitespace: + Details: grace period + Exclude: + - 'app/models/concerns/analytics/cycle_analytics/stage_event_model.rb' + - 'db/migrate/20210611100359_rebuild_index_for_cadence_iterations_automation.rb' + - 'db/migrate/20220913082728_drop_index_cadence_create_iterations_automation.rb' + - 'db/post_migrate/20220816163444_update_start_date_for_iterations_cadences.rb' + - 'lib/gitlab/background_migration/fix_duplicate_project_name_and_path.rb' + - 'lib/gitlab/background_migration/populate_topics_non_private_projects_count.rb' + - 'lib/gitlab/pagination/keyset/sql_type_missing_error.rb' + - 'qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb' + - 'spec/lib/banzai/filter/front_matter_filter_spec.rb' + - 'spec/services/suggestions/apply_service_spec.rb' + - 'spec/support/helpers/x509_helpers.rb' diff --git a/.rubocop_todo/lint/binary_operator_with_identical_operands.yml b/.rubocop_todo/lint/binary_operator_with_identical_operands.yml deleted file mode 100644 index 90c3a76d3b..0000000000 --- a/.rubocop_todo/lint/binary_operator_with_identical_operands.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -Lint/BinaryOperatorWithIdenticalOperands: - Exclude: - - 'ee/spec/lib/ee/gitlab/application_context_spec.rb' - - 'spec/helpers/visibility_level_helper_spec.rb' - - 'spec/lib/gitlab/conan_token_spec.rb' - - 'spec/lib/gitlab/git/conflict/parser_spec.rb' - - 'spec/lib/gitlab/graphql/lazy_spec.rb' - - 'spec/models/ci/build_trace_chunk_spec.rb' - - 'spec/models/clusters/platforms/kubernetes_spec.rb' - - 'spec/models/concerns/where_composite_spec.rb' - - 'spec/models/metrics/dashboard/annotation_spec.rb' - - 'spec/models/repository_spec.rb' - - 'spec/models/ssh_host_key_spec.rb' - - 'spec/tooling/danger/sidekiq_queues_spec.rb' diff --git a/.rubocop_todo/lint/duplicate_case_condition.yml b/.rubocop_todo/lint/duplicate_case_condition.yml new file mode 100644 index 0000000000..d7e1eac2e0 --- /dev/null +++ b/.rubocop_todo/lint/duplicate_case_condition.yml @@ -0,0 +1,4 @@ +--- +Lint/DuplicateCaseCondition: + Exclude: + - 'app/helpers/icons_helper.rb' diff --git a/.rubocop_todo/lint/redundant_cop_disable_directive.yml b/.rubocop_todo/lint/redundant_cop_disable_directive.yml index e4925aa2cf..b0b5697536 100644 --- a/.rubocop_todo/lint/redundant_cop_disable_directive.yml +++ b/.rubocop_todo/lint/redundant_cop_disable_directive.yml @@ -1,18 +1,25 @@ --- # Cop supports --auto-correct. Lint/RedundantCopDisableDirective: - # This cop can only be enabled after enabling all cops which are currently - # disabled. Otherwise we'll see RuboCop complaining depending on - # REVEAL_RUBOCOP_TODO environment variable. + # Used to be enabled in "grace period" and is now disabled due to too many + # silenced offenses. + # See https://gitlab.com/gitlab-org/gitlab/-/issues/376133 Enabled: false Exclude: + - 'app/controllers/concerns/enforces_two_factor_authentication.rb' + - 'app/controllers/concerns/web_hooks/hook_log_actions.rb' + - 'app/controllers/groups/autocomplete_sources_controller.rb' + - 'app/controllers/groups/labels_controller.rb' + - 'app/controllers/projects/merge_requests/diffs_controller.rb' - 'app/finders/autocomplete/acts_as_taggable_on/tags_finder.rb' - 'app/finders/autocomplete/move_to_project_finder.rb' - 'app/finders/autocomplete/routes_finder.rb' - 'app/finders/autocomplete/users_finder.rb' - 'app/finders/ci/daily_build_group_report_results_finder.rb' + - 'app/finders/ci/runner_jobs_finder.rb' - 'app/finders/groups_finder.rb' - 'app/finders/users_finder.rb' + - 'app/graphql/gitlab_schema.rb' - 'app/graphql/resolvers/concerns/caching_array_resolver.rb' - 'app/graphql/resolvers/project_milestones_resolver.rb' - 'app/graphql/types/base_enum.rb' @@ -20,13 +27,17 @@ Lint/RedundantCopDisableDirective: - 'app/graphql/types/packages/helm/dependency_type.rb' - 'app/graphql/types/projects/service_type_enum.rb' - 'app/helpers/diff_helper.rb' + - 'app/helpers/lazy_image_tag_helper.rb' - 'app/helpers/search_helper.rb' + - 'app/models/clusters/cluster.rb' - 'app/models/concerns/cascading_namespace_setting_attribute.rb' - 'app/models/concerns/from_except.rb' - 'app/models/concerns/from_intersect.rb' - 'app/models/concerns/from_union.rb' + - 'app/models/project_statistics.rb' - 'app/models/user.rb' - 'app/presenters/dev_ops_report/metric_presenter.rb' + - 'app/presenters/packages/nuget/search_results_presenter.rb' - 'app/serializers/diffs_entity.rb' - 'app/serializers/fork_namespace_entity.rb' - 'app/services/ci/job_artifacts/destroy_batch_service.rb' @@ -35,25 +46,35 @@ Lint/RedundantCopDisableDirective: - 'app/services/database/consistency_check_service.rb' - 'app/services/issues/export_csv_service.rb' - 'app/services/labels/transfer_service.rb' + - 'app/services/members/create_service.rb' + - 'app/services/members/creator_service.rb' + - 'app/services/members/projects/creator_service.rb' + - 'app/services/members/standard_member_builder.rb' - 'app/services/projects/auto_devops/disable_service.rb' - 'app/services/projects/open_issues_count_service.rb' - 'app/services/spam/spam_action_service.rb' - 'app/services/users/migrate_to_ghost_user_service.rb' - - 'app/services/web_hooks/destroy_service.rb' + - 'app/services/web_hook_service.rb' + - 'app/uploaders/object_storage/cdn/google_ip_cache.rb' - 'app/workers/authorized_project_update/user_refresh_over_user_range_worker.rb' + - 'app/workers/build_hooks_worker.rb' - 'app/workers/bulk_imports/entity_worker.rb' - - 'app/workers/container_expiration_policy_worker.rb' + - 'app/workers/ci/track_failed_build_worker.rb' + - 'app/workers/container_registry/migration/enqueuer_worker.rb' - 'app/workers/create_note_diff_file_worker.rb' - 'app/workers/import_issues_csv_worker.rb' - 'app/workers/incident_management/process_alert_worker_v2.rb' - 'app/workers/merge_worker.rb' - 'app/workers/remove_unaccepted_member_invites_worker.rb' - 'config/initializers/warden.rb' - - 'config/initializers/wikicloth_redos_patch.rb' + - 'config/initializers/wikicloth_ruby_3_patch.rb' - 'config/routes/api.rb' - 'db/migrate/20210303193544_add_concurrent_fields_to_bulk_imports_trackers.rb' - 'db/migrate/20210917134321_remove_temporary_index_for_project_topics_on_taggings.rb' - 'db/migrate/20211013014228_add_content_validation_endpoint_to_application_settings.rb' + - 'db/migrate/20220316022505_create_namespace_details.rb' + - 'db/migrate/20220421141342_add_allowed_plans_to_ci_runners.rb' + - 'db/migrate/20220531024905_add_operations_access_levels_to_project_feature.rb' - 'db/post_migrate/20210610042700_remove_clusters_applications_fluentd_table.rb' - 'db/post_migrate/20210708011426_finalize_ci_builds_metadata_bigint_conversion.rb' - 'db/post_migrate/20210730104800_schedule_extract_project_topics_into_separate_table.rb' @@ -62,8 +83,12 @@ Lint/RedundantCopDisableDirective: - 'db/post_migrate/20211028100303_tmp_index_for_delete_issue_merge_request_taggings_records.rb' - 'db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb' - 'db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb' + - 'db/post_migrate/20220720090354_remove_pending_builds_covering_index_from_ci_builds.rb' + - 'db/post_migrate/20220902204048_move_security_findings_table_to_gitlab_partitions_dynamic_schema.rb' - 'ee/app/controllers/ee/groups/group_members_controller.rb' + - 'ee/app/controllers/ee/projects/settings/ci_cd_controller.rb' - 'ee/app/controllers/groups/todos_controller.rb' + - 'ee/app/experiments/cart_abandonment_modal_experiment.rb' - 'ee/app/finders/geo/file_registry_finder.rb' - 'ee/app/finders/geo/project_registry_finder.rb' - 'ee/app/finders/geo/registry_finder.rb' @@ -72,13 +97,16 @@ Lint/RedundantCopDisableDirective: - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb' - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb' - 'ee/app/graphql/types/scan_type.rb' + - 'ee/app/graphql/types/vulnerability_request_type.rb' - 'ee/app/helpers/ee/boards_helper.rb' - - 'ee/app/helpers/ee/namespaces_helper.rb' - 'ee/app/helpers/projects/on_demand_scans_helper.rb' + - 'ee/app/models/dast/branch.rb' - 'ee/app/models/ee/vulnerability.rb' - 'ee/app/models/geo/event_log.rb' + - 'ee/app/services/analytics/cycle_analytics/consistency_check_service.rb' - 'ee/app/services/analytics/cycle_analytics/data_loader_service.rb' - 'ee/app/services/ee/boards/issues/list_service.rb' + - 'ee/app/services/ee/ci/queue/build_queue_service.rb' - 'ee/app/services/ee/search_service.rb' - 'ee/app/services/ee/users/migrate_to_ghost_user_service.rb' - 'ee/app/services/geo/repository_base_sync_service.rb' @@ -92,20 +120,30 @@ Lint/RedundantCopDisableDirective: - 'ee/db/geo/migrate/20210504143244_add_verification_to_merge_request_diff_registry.rb' - 'ee/lib/analytics/merge_request_metrics_calculator.rb' - 'ee/lib/api/audit_events.rb' + - 'ee/lib/api/scim.rb' - 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb' - - 'ee/lib/ee/api/settings.rb' + - 'ee/lib/ee/gitlab/background_migration/backfill_epic_cache_counts.rb' + - 'ee/lib/ee/gitlab/background_migration/migrate_shared_vulnerability_scanners.rb' + - 'ee/lib/ee/gitlab/background_migration/purge_stale_security_scans.rb' - 'ee/lib/ee/gitlab/usage_data.rb' + - 'ee/lib/elastic/latest/git_class_proxy.rb' - 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb' + - 'ee/lib/gitlab/elastic/bool_expr.rb' + - 'ee/lib/gitlab/spdx/license.rb' + - 'ee/lib/gitlab/status_page/storage/object.rb' + - 'ee/spec/features/boards/user_visits_board_spec.rb' + - 'ee/spec/features/groups/settings/domain_verification_spec.rb' - 'ee/spec/helpers/ee/releases_helper_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size_spec.rb' - 'ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb' - 'ee/spec/lib/elastic/latest/project_instance_proxy_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb' - 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb' - 'ee/spec/services/security/merge_reports_service_spec.rb' - 'ee/spec/support/shared_examples/models/elasticsearch_indexed_container_shared_examples.rb' - 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb' - 'lib/api/api.rb' - 'lib/api/ci/variables.rb' - - 'lib/api/entities/environment.rb' - 'lib/api/entities/issuable_time_stats.rb' - 'lib/api/helpers.rb' - 'lib/bulk_imports/common/transformers/user_reference_transformer.rb' @@ -115,24 +153,32 @@ Lint/RedundantCopDisableDirective: - 'lib/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb' - 'lib/gitlab/analytics/cycle_analytics/base_query_builder.rb' - 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb' + - 'lib/gitlab/application_context.rb' - 'lib/gitlab/background_migration/backfill_issue_search_data.rb' + - 'lib/gitlab/background_migration/backfill_project_statistics_container_repository_size.rb' + - 'lib/gitlab/background_migration/batching_strategies/loose_index_scan_batching_strategy.rb' - 'lib/gitlab/background_migration/drop_invalid_vulnerabilities.rb' - - 'lib/gitlab/background_migration/fix_merge_request_diff_commit_users.rb' - 'lib/gitlab/background_migration/migrate_personal_namespace_project_maintainer_to_owner.rb' - 'lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid.rb' + - 'lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings.rb' + - 'lib/gitlab/background_migration/remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings.rb' - 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb' - 'lib/gitlab/bitbucket_import/importer.rb' + - 'lib/gitlab/buffered_io.rb' - 'lib/gitlab/cache/request_cache.rb' - 'lib/gitlab/ci/build/artifacts/metadata/entry.rb' + - 'lib/gitlab/ci/pipeline/chain/command.rb' - 'lib/gitlab/ci/pipeline/duration.rb' - 'lib/gitlab/ci/reports/accessibility_reports.rb' - - 'lib/gitlab/ci/reports/test_reports.rb' + - 'lib/gitlab/ci/reports/test_report.rb' - 'lib/gitlab/ci/reports/test_reports_comparer.rb' - 'lib/gitlab/ci/reports/test_suite.rb' - 'lib/gitlab/ci/reports/test_suite_summary.rb' + - 'lib/gitlab/cleanup/personal_access_tokens.rb' - 'lib/gitlab/composer/cache.rb' - 'lib/gitlab/database/consistency_checker.rb' - 'lib/gitlab/database/migration.rb' + - 'lib/gitlab/database/migrations/observation.rb' - 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb' - 'lib/gitlab/diff/file.rb' - 'lib/gitlab/diff/file_collection/merge_request_diff_batch.rb' @@ -140,52 +186,95 @@ Lint/RedundantCopDisableDirective: - 'lib/gitlab/diff/parser.rb' - 'lib/gitlab/encrypted_ldap_command.rb' - 'lib/gitlab/encrypted_smtp_command.rb' + - 'lib/gitlab/git/commit.rb' - 'lib/gitlab/git/patches/collection.rb' - 'lib/gitlab/github_import/user_finder.rb' - 'lib/gitlab/gitlab_import/importer.rb' - 'lib/gitlab/graphql/pagination/keyset/connection.rb' + - 'lib/gitlab/health_checks/metric.rb' + - 'lib/gitlab/health_checks/probes/status.rb' + - 'lib/gitlab/health_checks/result.rb' - 'lib/gitlab/legacy_github_import/user_formatter.rb' + - 'lib/gitlab/middleware/release_env.rb' - 'lib/gitlab/object_hierarchy.rb' - 'lib/gitlab/pagination/keyset/pager.rb' - 'lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb' - 'lib/gitlab/profiler.rb' - 'lib/gitlab/project_search_results.rb' - 'lib/gitlab/redis/hll.rb' + - 'lib/gitlab/search/sort_options.rb' - 'lib/gitlab/slash_commands/issue_search.rb' + - 'lib/gitlab/slash_commands/result.rb' + - 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric.rb' - 'lib/gitlab/usage_data.rb' - 'lib/gitlab/usage_data_queries.rb' - 'lib/gitlab/utils/usage_data.rb' + - 'lib/gitlab/x509/signature.rb' - 'lib/tasks/gitlab/cleanup.rake' + - 'qa/tasks/ci.rake' + - 'scripts/lib/glfm/render_static_html.rb' - 'scripts/security-harness' - 'sidekiq_cluster/cli.rb' - 'sidekiq_cluster/sidekiq_cluster.rb' + - 'spec/components/previews/pajamas/banner_component_preview.rb' + - 'spec/fixtures/packages/rubygems/package.gemspec' - 'spec/frontend/fixtures/merge_requests.rb' + - 'spec/graphql/mutations/clusters/agent_tokens/create_spec.rb' + - 'spec/graphql/mutations/clusters/agents/create_spec.rb' + - 'spec/graphql/mutations/clusters/agents/delete_spec.rb' + - 'spec/graphql/mutations/commits/create_spec.rb' + - 'spec/graphql/resolvers/base_resolver_spec.rb' - 'spec/helpers/releases_helper_spec.rb' + - 'spec/initializers/memory_watchdog_spec.rb' - 'spec/lib/gitlab/avatar_cache_spec.rb' - - 'spec/lib/gitlab/background_migration/batching_strategies/backfill_issue_work_item_type_batching_strategy_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_cluster_agents_has_vulnerabilities_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_project_member_namespace_id_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_vulnerability_reads_cluster_agent_spec.rb' + - 'spec/lib/gitlab/background_migration/batching_strategies/backfill_project_statistics_with_container_registry_size_batching_strategy_spec.rb' + - 'spec/lib/gitlab/background_migration/batching_strategies/remove_backfilled_job_artifacts_expire_at_batching_strategy_spec.rb' - 'spec/lib/gitlab/background_migration/disable_expiration_policies_linked_to_no_container_images_spec.rb' - 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_encrypted_values_on_projects_spec.rb' - 'spec/lib/gitlab/background_migration/reset_duplicate_ci_runners_token_values_on_projects_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' + - 'spec/lib/gitlab/doorkeeper_secret_storing/secret/pbkdf2_sha512_spec.rb' + - 'spec/lib/gitlab/doorkeeper_secret_storing/token/pbkdf2_sha512_spec.rb' - 'spec/lib/gitlab/git/tree_spec.rb' + - 'spec/lib/gitlab/import_export/project/relation_saver_spec.rb' - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb' + - 'spec/lib/gitlab/rack_attack/request_spec.rb' - 'spec/lib/gitlab/shard_health_cache_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/server_spec.rb' + - 'spec/lib/initializer_connections_spec.rb' - 'spec/metrics_server/metrics_server_spec.rb' + - 'spec/migrations/20220725150127_update_jira_tracker_data_deployment_type_based_on_url_spec.rb' + - 'spec/migrations/reschedule_backfill_imported_issue_search_data_spec.rb' - 'spec/models/ci/build_trace_chunk_spec.rb' + - 'spec/models/ci/pipeline_spec.rb' - 'spec/models/namespace/package_setting_spec.rb' - 'spec/models/namespace_spec.rb' + - 'spec/models/project_feature_spec.rb' + - 'spec/models/project_spec.rb' + - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb' + - 'spec/presenters/packages/pypi/simple_index_presenter_spec.rb' + - 'spec/presenters/packages/pypi/simple_package_versions_presenter_spec.rb' - 'spec/requests/api/alert_management_alerts_spec.rb' + - 'spec/requests/api/graphql/ci/config_spec.rb' - 'spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb' - 'spec/services/alert_management/metric_images/upload_service_spec.rb' - - 'spec/services/suggestions/apply_service_spec.rb' + - 'spec/services/projects/update_statistics_service_spec.rb' + - 'spec/services/spam/spam_verdict_service_spec.rb' + - 'spec/services/topics/merge_service_spec.rb' + - 'spec/support/forgery_protection.rb' - 'spec/support/helpers/snowplow_helpers.rb' - 'spec/support/helpers/wait_for_requests.rb' + - 'spec/support/shared_examples/lib/gitlab/local_and_remote_storage_migration_shared_examples.rb' - 'spec/support/shared_examples/models/boards/listable_shared_examples.rb' - 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb' - 'spec/support/shared_examples/models/packages/debian/distribution_key_shared_examples.rb' - 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb' + - 'spec/tasks/gitlab/db/validate_config_rake_spec.rb' - 'spec/uploaders/packages/composer/cache_uploader_spec.rb' - 'tooling/danger/product_intelligence.rb' - 'tooling/lib/tooling/helm3_client.rb' diff --git a/.rubocop_todo/metrics/abc_size.yml b/.rubocop_todo/metrics/abc_size.yml index 747ef3823f..f564615159 100644 --- a/.rubocop_todo/metrics/abc_size.yml +++ b/.rubocop_todo/metrics/abc_size.yml @@ -12,3 +12,4 @@ Metrics/AbcSize: - 'lib/gitlab/analytics/cycle_analytics/request_params.rb' - 'lib/gitlab/sidekiq_middleware/server_metrics.rb' - 'qa/qa/resource/repository/push.rb' + - 'ee/db/seeds/awesome_co/**/*.rb' diff --git a/.rubocop_todo/metrics/parameter_lists.yml b/.rubocop_todo/metrics/parameter_lists.yml new file mode 100644 index 0000000000..14cd46d31f --- /dev/null +++ b/.rubocop_todo/metrics/parameter_lists.yml @@ -0,0 +1,9 @@ +--- +Metrics/ParameterLists: + Exclude: + - 'app/helpers/avatars_helper.rb' + - 'app/helpers/blob_helper.rb' + - 'app/models/packages/sem_ver.rb' + - 'app/models/repository.rb' + - 'lib/gitlab/git/tree.rb' + - 'lib/gitlab/version_info.rb' diff --git a/.rubocop_todo/performance/bind_call.yml b/.rubocop_todo/performance/bind_call.yml new file mode 100644 index 0000000000..5adb519793 --- /dev/null +++ b/.rubocop_todo/performance/bind_call.yml @@ -0,0 +1,10 @@ +--- +# Cop supports --auto-correct. +Performance/BindCall: + Exclude: + - 'app/services/metrics/dashboard/grafana_metric_embed_service.rb' + - 'ee/spec/features/issues/form_spec.rb' + - 'lib/gitlab/patch/prependable.rb' + - 'spec/features/issues/form_spec.rb' + - 'spec/mailers/notify_spec.rb' + - 'spec/support/patches/rspec_mocks_prepended_methods.rb' diff --git a/.rubocop_todo/performance/redundant_block_call.yml b/.rubocop_todo/performance/redundant_block_call.yml new file mode 100644 index 0000000000..89a67e3fd3 --- /dev/null +++ b/.rubocop_todo/performance/redundant_block_call.yml @@ -0,0 +1,12 @@ +--- +# Cop supports --auto-correct. +Performance/RedundantBlockCall: + Exclude: + - 'ee/app/models/gitlab_subscription.rb' + - 'ee/lib/ee/gitlab/auth/ldap/sync/proxy.rb' + - 'lib/gitlab/auth/ldap/access.rb' + - 'lib/gitlab/auth/ldap/adapter.rb' + - 'lib/gitlab/database/bulk_update.rb' + - 'lib/gitlab/http.rb' + - 'lib/gitlab/safe_request_store.rb' + - 'lib/gitlab/timeless.rb' diff --git a/.rubocop_todo/rails/active_record_callbacks_order.yml b/.rubocop_todo/rails/active_record_callbacks_order.yml index 9585a720c6..11ffff36e8 100644 --- a/.rubocop_todo/rails/active_record_callbacks_order.yml +++ b/.rubocop_todo/rails/active_record_callbacks_order.yml @@ -1,12 +1,9 @@ --- # Cop supports --auto-correct. Rails/ActiveRecordCallbacksOrder: - # Offense count: 30 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/models/award_emoji.rb' - - 'app/models/ci/job_artifact.rb' - 'app/models/gpg_key.rb' - 'app/models/group.rb' - 'app/models/issue.rb' diff --git a/.rubocop_todo/rails/file_path.yml b/.rubocop_todo/rails/file_path.yml index 467073eb2d..24a08fa5ee 100644 --- a/.rubocop_todo/rails/file_path.yml +++ b/.rubocop_todo/rails/file_path.yml @@ -1,10 +1,7 @@ --- Rails/FilePath: - # Offense count: 212 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - - 'app/controllers/clusters/clusters_controller.rb' - 'app/controllers/help_controller.rb' - 'app/helpers/startupjs_helper.rb' - 'app/models/clusters/applications/cert_manager.rb' @@ -29,6 +26,7 @@ Rails/FilePath: - 'ee/db/fixtures/development/21_dast_profiles.rb' - 'ee/db/fixtures/development/32_compliance_report_violations.rb' - 'ee/lib/ee/feature/definition.rb' + - 'ee/lib/ee/gitlab/audit/type/definition.rb' - 'ee/lib/ee/gitlab/usage/metric_definition.rb' - 'ee/lib/gitlab/geo/health_check.rb' - 'ee/lib/tasks/gitlab/seed/metrics.rake' @@ -48,6 +46,8 @@ Rails/FilePath: - 'lib/api/api.rb' - 'lib/error_tracking/collector/payload_validator.rb' - 'lib/feature/definition.rb' + - 'lib/gitlab/audit/type/definition.rb' + - 'lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator.rb' - 'lib/gitlab/ci/reports/codequality_reports.rb' - 'lib/gitlab/database/migrations/runner.rb' - 'lib/gitlab/favicon.rb' @@ -69,14 +69,17 @@ Rails/FilePath: - 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb' - 'lib/system_check/app/uploads_directory_exists_check.rb' - 'lib/system_check/incoming_email/imap_authentication_check.rb' + - 'lib/tasks/gitlab/db.rake' - 'lib/tasks/gitlab/metrics_exporter.rake' + - 'lib/tasks/gitlab/usage_data.rake' - 'lib/tasks/tanuki_emoji.rake' - 'metrics_server/metrics_server.rb' - 'spec/commands/metrics_server/metrics_server_spec.rb' - 'spec/config/object_store_settings_spec.rb' - - 'spec/controllers/help_controller_spec.rb' + - 'spec/db/development/add_security_training_providers_spec.rb' - 'spec/db/development/create_base_work_item_types_spec.rb' - 'spec/db/development/import_common_metrics_spec.rb' + - 'spec/db/production/add_security_training_providers_spec.rb' - 'spec/db/production/create_base_work_item_types_spec.rb' - 'spec/db/production/import_common_metrics_spec.rb' - 'spec/db/schema_spec.rb' @@ -100,7 +103,6 @@ Rails/FilePath: - 'spec/features/projects/settings/repository_settings_spec.rb' - 'spec/features/projects/settings/user_changes_avatar_spec.rb' - 'spec/features/projects/snippets/create_snippet_spec.rb' - - 'spec/features/projects/tags/user_edits_tags_spec.rb' - 'spec/features/projects/tree/upload_file_spec.rb' - 'spec/features/snippets/user_creates_snippet_spec.rb' - 'spec/features/snippets/user_edits_snippet_spec.rb' @@ -127,10 +129,12 @@ Rails/FilePath: - 'spec/models/clusters/applications/cert_manager_spec.rb' - 'spec/models/release_highlight_spec.rb' - 'spec/requests/api/internal/mail_room_spec.rb' + - 'spec/requests/api/usage_data_queries_spec.rb' - 'spec/serializers/review_app_setup_entity_spec.rb' - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb' - 'spec/services/clusters/aws/provision_service_spec.rb' - 'spec/services/metrics/sample_metrics_service_spec.rb' + - 'spec/support/helpers/doc_url_helper.rb' - 'spec/support/helpers/test_env.rb' - 'spec/support/helpers/upload_helpers.rb' - 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb' @@ -139,3 +143,4 @@ Rails/FilePath: - 'spec/support/shared_examples/models/wiki_shared_examples.rb' - 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb' + - 'spec/tasks/gitlab/usage_data_rake_spec.rb' diff --git a/.rubocop_todo/rails/helper_instance_variable.yml b/.rubocop_todo/rails/helper_instance_variable.yml index f43ca39f47..8f9197c922 100644 --- a/.rubocop_todo/rails/helper_instance_variable.yml +++ b/.rubocop_todo/rails/helper_instance_variable.yml @@ -1,8 +1,6 @@ --- Rails/HelperInstanceVariable: - # Offense count: 671 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/helpers/admin/user_actions_helper.rb' - 'app/helpers/application_helper.rb' @@ -29,7 +27,6 @@ Rails/HelperInstanceVariable: - 'app/helpers/icons_helper.rb' - 'app/helpers/ide_helper.rb' - 'app/helpers/import_helper.rb' - - 'app/helpers/integrations_helper.rb' - 'app/helpers/issuables_description_templates_helper.rb' - 'app/helpers/issuables_helper.rb' - 'app/helpers/issues_helper.rb' @@ -40,6 +37,7 @@ Rails/HelperInstanceVariable: - 'app/helpers/nav_helper.rb' - 'app/helpers/notes_helper.rb' - 'app/helpers/operations_helper.rb' + - 'app/helpers/packages_helper.rb' - 'app/helpers/page_layout_helper.rb' - 'app/helpers/projects_helper.rb' - 'app/helpers/releases_helper.rb' @@ -59,11 +57,13 @@ Rails/HelperInstanceVariable: - 'app/helpers/webpack_helper.rb' - 'app/helpers/wiki_helper.rb' - 'ee/app/helpers/ee/application_helper.rb' + - 'ee/app/helpers/ee/application_settings_helper.rb' - 'ee/app/helpers/ee/boards_helper.rb' - 'ee/app/helpers/ee/feature_flags_helper.rb' - 'ee/app/helpers/ee/form_helper.rb' - 'ee/app/helpers/ee/graph_helper.rb' - 'ee/app/helpers/ee/groups/group_members_helper.rb' + - 'ee/app/helpers/ee/groups/settings_helper.rb' - 'ee/app/helpers/ee/groups_helper.rb' - 'ee/app/helpers/ee/integrations_helper.rb' - 'ee/app/helpers/ee/kerberos_helper.rb' @@ -77,7 +77,8 @@ Rails/HelperInstanceVariable: - 'ee/app/helpers/ee/projects_helper.rb' - 'ee/app/helpers/ee/search_helper.rb' - 'ee/app/helpers/ee/selects_helper.rb' + - 'ee/app/helpers/ee/sorting_helper.rb' - 'ee/app/helpers/ee/subscribable_banner_helper.rb' - 'ee/app/helpers/ee/wiki_helper.rb' - 'ee/app/helpers/path_locks_helper.rb' - - 'ee/app/helpers/projects/security/discover_helper.rb' + - 'ee/app/helpers/seat_count_alert_helper.rb' diff --git a/.rubocop_todo/rails/http_status.yml b/.rubocop_todo/rails/http_status.yml new file mode 100644 index 0000000000..1a8ece4930 --- /dev/null +++ b/.rubocop_todo/rails/http_status.yml @@ -0,0 +1,9 @@ +--- +# Cop supports --auto-correct. +Rails/HttpStatus: + Exclude: + - 'app/controllers/concerns/invisible_captcha_on_signup.rb' + - 'app/controllers/projects/runner_projects_controller.rb' + - 'app/controllers/projects/service_ping_controller.rb' + - 'app/controllers/repositories/lfs_storage_controller.rb' + - 'ee/app/controllers/trials_controller.rb' diff --git a/.rubocop_todo/rails/index_with.yml b/.rubocop_todo/rails/index_with.yml index d8ccbd97f7..91a75e198f 100644 --- a/.rubocop_todo/rails/index_with.yml +++ b/.rubocop_todo/rails/index_with.yml @@ -1,29 +1,30 @@ --- # Cop supports --auto-correct. Rails/IndexWith: - # Offense count: 54 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/helpers/ci/jobs_helper.rb' - 'app/models/ci/build_trace_chunk.rb' - 'app/models/ci/processable.rb' - 'app/models/concerns/cached_commit.rb' + - 'app/models/customer_relations/organization.rb' - 'app/models/environment.rb' - 'app/services/concerns/rate_limited_service.rb' + - 'app/services/packages/rpm/parse_package_service.rb' - 'db/post_migrate/20210731132939_backfill_stage_event_hash.rb' + - 'ee/app/models/concerns/identity_verifiable.rb' - 'ee/app/models/vulnerabilities/projects_grade.rb' - 'ee/lib/ee/gitlab/usage_data.rb' - 'ee/lib/gitlab/auth/group_saml/auth_hash.rb' - 'ee/lib/gitlab/custom_file_templates.rb' - 'ee/lib/gitlab/insights/reducers/count_per_label_reducer.rb' - 'ee/spec/lib/ee/gitlab/application_context_spec.rb' - - 'ee/spec/models/ee/namespace_spec.rb' - 'ee/spec/models/sca/license_compliance_spec.rb' - 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb' - 'lib/api/entities/project_integration.rb' - 'lib/api/helpers/packages/conan/api_helpers.rb' - 'lib/banzai/filter/repository_link_filter.rb' + - 'lib/gitlab/background_migration/backfill_note_discussion_id.rb' - 'lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url.rb' - 'lib/gitlab/ci/ansi2html.rb' - 'lib/gitlab/ci/reports/security/finding.rb' @@ -32,10 +33,12 @@ Rails/IndexWith: - 'lib/gitlab/database/count/exact_count_strategy.rb' - 'lib/gitlab/database/migration_helpers.rb' - 'lib/gitlab/database/obsolete_ignored_columns.rb' + - 'lib/gitlab/database/tables_sorted_by_foreign_keys.rb' - 'lib/gitlab/issuable_metadata.rb' - 'lib/gitlab/template/base_template.rb' - 'lib/gitlab/usage_data.rb' - 'lib/google_api/cloud_platform/client.rb' + - 'lib/tasks/gitlab/db.rake' - 'qa/qa/resource/reusable.rb' - 'scripts/trigger-build.rb' - 'spec/lib/gitlab/api_authentication/sent_through_builder_spec.rb' diff --git a/.rubocop_todo/rails/inverse_of.yml b/.rubocop_todo/rails/inverse_of.yml index 98d116c331..262804739b 100644 --- a/.rubocop_todo/rails/inverse_of.yml +++ b/.rubocop_todo/rails/inverse_of.yml @@ -1,8 +1,6 @@ --- Rails/InverseOf: - # Offense count: 210 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/models/alert_management/alert.rb' - 'app/models/alert_management/alert_assignee.rb' @@ -12,7 +10,6 @@ Rails/InverseOf: - 'app/models/board.rb' - 'app/models/bulk_imports/entity.rb' - 'app/models/bulk_imports/tracker.rb' - - 'app/models/chat_name.rb' - 'app/models/ci/bridge.rb' - 'app/models/ci/build.rb' - 'app/models/ci/build_pending_state.rb' @@ -25,7 +22,6 @@ Rails/InverseOf: - 'app/models/ci/runner.rb' - 'app/models/ci/runner_namespace.rb' - 'app/models/ci/sources/pipeline.rb' - - 'app/models/ci/stage.rb' - 'app/models/ci/trigger_request.rb' - 'app/models/ci/unit_test_failure.rb' - 'app/models/clusters/applications/runner.rb' @@ -38,7 +34,6 @@ Rails/InverseOf: - 'app/models/concerns/analytics/cycle_analytics/stage.rb' - 'app/models/concerns/awardable.rb' - 'app/models/concerns/commit_signature.rb' - - 'app/models/concerns/merge_request_reviewer_state.rb' - 'app/models/concerns/with_uploads.rb' - 'app/models/custom_emoji.rb' - 'app/models/customer_relations/contact.rb' @@ -51,7 +46,7 @@ Rails/InverseOf: - 'app/models/group.rb' - 'app/models/group/crm_settings.rb' - 'app/models/group_group_link.rb' - - 'app/models/hooks/service_hook.rb' + - 'app/models/group_label.rb' - 'app/models/incident_management/timeline_event.rb' - 'app/models/integrations/base_slash_commands.rb' - 'app/models/issue.rb' @@ -66,11 +61,15 @@ Rails/InverseOf: - 'app/models/packages/composer/cache_file.rb' - 'app/models/packages/maven/metadatum.rb' - 'app/models/project.rb' + - 'app/models/project_label.rb' - 'app/models/resource_state_event.rb' - 'app/models/serverless/domain_cluster.rb' - 'app/models/terraform/state_version.rb' + - 'app/models/time_tracking/timelog_category.rb' - 'app/models/todo.rb' - 'app/models/user.rb' + - 'app/models/users/phone_number_validation.rb' + - 'app/models/work_item.rb' - 'app/models/x509_certificate.rb' - 'ee/app/models/allowed_email_domain.rb' - 'ee/app/models/analytics/cycle_analytics/group_stage.rb' @@ -78,12 +77,14 @@ Rails/InverseOf: - 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb' - 'ee/app/models/analytics/devops_adoption/snapshot.rb' - 'ee/app/models/audit_events/external_audit_event_destination.rb' + - 'ee/app/models/audit_events/streaming/header.rb' - 'ee/app/models/ci/sources/project.rb' - 'ee/app/models/compliance_management/compliance_framework/project_settings.rb' - 'ee/app/models/concerns/incident_management/base_pending_escalation.rb' - 'ee/app/models/dast/profile_schedule.rb' - 'ee/app/models/ee/ci/build.rb' - 'ee/app/models/ee/ci/pipeline.rb' + - 'ee/app/models/ee/clusters/agent.rb' - 'ee/app/models/ee/epic.rb' - 'ee/app/models/ee/group.rb' - 'ee/app/models/ee/iteration.rb' @@ -105,9 +106,9 @@ Rails/InverseOf: - 'ee/app/models/integrations/gitlab_slack_application.rb' - 'ee/app/models/requirements_management/requirement.rb' - 'ee/app/models/requirements_management/test_report.rb' + - 'ee/app/models/sbom/vulnerable_component_version.rb' - 'ee/app/models/security/orchestration_policy_configuration.rb' - 'ee/app/models/security/orchestration_policy_rule_schedule.rb' - - 'ee/app/models/slack_integration.rb' - 'ee/app/models/software_license_policy.rb' - 'ee/app/models/user_permission_export_upload.rb' - 'ee/app/models/vulnerabilities/feedback.rb' diff --git a/.rubocop_todo/rails/redundant_foreign_key.yml b/.rubocop_todo/rails/redundant_foreign_key.yml index 7e39484967..22af6131b3 100644 --- a/.rubocop_todo/rails/redundant_foreign_key.yml +++ b/.rubocop_todo/rails/redundant_foreign_key.yml @@ -1,9 +1,7 @@ --- # Cop supports --auto-correct. Rails/RedundantForeignKey: - # Offense count: 90 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/models/alert_management/metric_image.rb' - 'app/models/ci/build.rb' @@ -23,9 +21,11 @@ Rails/RedundantForeignKey: - 'app/models/commit_signatures/x509_commit_signature.rb' - 'app/models/concerns/analytics/cycle_analytics/stage.rb' - 'app/models/concerns/commit_signature.rb' + - 'app/models/concerns/integrations/base_data_fields.rb' - 'app/models/group.rb' - 'app/models/group_group_link.rb' - - 'app/models/integrations/zentao_tracker_data.rb' + - 'app/models/incident_management/timeline_event.rb' + - 'app/models/issue.rb' - 'app/models/member.rb' - 'app/models/merge_request.rb' - 'app/models/merge_request/metrics.rb' @@ -35,9 +35,13 @@ Rails/RedundantForeignKey: - 'app/models/project.rb' - 'app/models/resource_state_event.rb' - 'app/models/review.rb' + - 'app/models/time_tracking/timelog_category.rb' - 'app/models/user.rb' + - 'app/models/users/phone_number_validation.rb' + - 'app/models/work_item.rb' - 'app/models/x509_certificate.rb' - 'ee/app/models/allowed_email_domain.rb' + - 'ee/app/models/audit_events/streaming/header.rb' - 'ee/app/models/boards/epic_board.rb' - 'ee/app/models/boards/epic_list_user_preference.rb' - 'ee/app/models/ci/sources/project.rb' diff --git a/.rubocop_todo/rails/skips_model_validations.yml b/.rubocop_todo/rails/skips_model_validations.yml index 8ef895ed56..f5aa7411c8 100644 --- a/.rubocop_todo/rails/skips_model_validations.yml +++ b/.rubocop_todo/rails/skips_model_validations.yml @@ -252,7 +252,6 @@ Rails/SkipsModelValidations: - 'ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb' - 'ee/spec/controllers/groups/ldaps_controller_spec.rb' - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb' - - 'ee/spec/controllers/trials_controller_spec.rb' - 'ee/spec/factories/import_states.rb' - 'ee/spec/features/admin/admin_settings_spec.rb' - 'ee/spec/features/epic_boards/epic_boards_sidebar_spec.rb' diff --git a/.rubocop_todo/rails/time_zone.yml b/.rubocop_todo/rails/time_zone.yml index 8931b337ce..f1e7d519a8 100644 --- a/.rubocop_todo/rails/time_zone.yml +++ b/.rubocop_todo/rails/time_zone.yml @@ -19,7 +19,6 @@ Rails/TimeZone: - ee/spec/lib/gitlab/auth/ldap/access_spec.rb - ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb - ee/spec/lib/gitlab/auth/smartcard/session_spec.rb - - ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb - ee/spec/lib/gitlab/elastic/client_spec.rb - ee/spec/lib/gitlab/geo/base_request_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/cache_invalidation_event_spec.rb diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml index e7855e84b2..5ee00cb0e2 100644 --- a/.rubocop_todo/rspec/any_instance_of.yml +++ b/.rubocop_todo/rspec/any_instance_of.yml @@ -13,7 +13,6 @@ RSpec/AnyInstanceOf: - ee/spec/controllers/projects/path_locks_controller_spec.rb - ee/spec/controllers/projects_controller_spec.rb - ee/spec/controllers/subscriptions_controller_spec.rb - - ee/spec/controllers/trials_controller_spec.rb - ee/spec/features/admin/admin_audit_logs_spec.rb - ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb - ee/spec/features/admin/admin_users_spec.rb diff --git a/.rubocop_todo/capybara/visibility_matcher.yml b/.rubocop_todo/rspec/capybara/visibility_matcher.yml similarity index 99% rename from .rubocop_todo/capybara/visibility_matcher.yml rename to .rubocop_todo/rspec/capybara/visibility_matcher.yml index e236be2593..f9e8c98290 100644 --- a/.rubocop_todo/capybara/visibility_matcher.yml +++ b/.rubocop_todo/rspec/capybara/visibility_matcher.yml @@ -1,5 +1,5 @@ --- -Capybara/VisibilityMatcher: +RSpec/Capybara/VisibilityMatcher: Exclude: - 'ee/spec/features/boards/sidebar_spec.rb' - 'ee/spec/features/epics/epic_show_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 97480a0e0b..79dfd85281 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -70,7 +70,6 @@ RSpec/ContextWording: - 'ee/spec/controllers/security/vulnerabilities_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb' - 'ee/spec/controllers/trial_registrations_controller_spec.rb' - - 'ee/spec/controllers/trials_controller_spec.rb' - 'ee/spec/controllers/users_controller_spec.rb' - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' - 'ee/spec/elastic/migrate/20220512150000_pause_indexing_for_unsupported_es_versions_spec.rb' @@ -2542,7 +2541,6 @@ RSpec/ContextWording: - 'spec/policies/terraform/state_version_policy_spec.rb' - 'spec/policies/user_policy_spec.rb' - 'spec/presenters/blob_presenter_spec.rb' - - 'spec/presenters/blobs/unfold_presenter_spec.rb' - 'spec/presenters/ci/build_presenter_spec.rb' - 'spec/presenters/ci/pipeline_presenter_spec.rb' - 'spec/presenters/clusters/cluster_presenter_spec.rb' @@ -3372,7 +3370,6 @@ RSpec/ContextWording: - 'spec/tasks/cache/clear/redis_spec.rb' - 'spec/tasks/dev_rake_spec.rb' - 'spec/tasks/gettext_rake_spec.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/cleanup_rake_spec.rb' - 'spec/tasks/gitlab/db/lock_writes_rake_spec.rb' - 'spec/tasks/gitlab/db/validate_config_rake_spec.rb' diff --git a/.rubocop_todo/rspec/described_class.yml b/.rubocop_todo/rspec/described_class.yml index 8304704985..516eda1267 100644 --- a/.rubocop_todo/rspec/described_class.yml +++ b/.rubocop_todo/rspec/described_class.yml @@ -69,7 +69,6 @@ RSpec/DescribedClass: - 'ee/spec/services/resource_access_tokens/create_service_spec.rb' - 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb' - 'ee/spec/services/users/captcha_challenge_service_spec.rb' - - 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb' - 'ee/spec/workers/concerns/elastic/indexing_control_spec.rb' - 'ee/spec/workers/elastic/migration_worker_spec.rb' - 'ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb' diff --git a/.rubocop_todo/rspec/expect_change.yml b/.rubocop_todo/rspec/expect_change.yml index f896251587..626ed1390c 100644 --- a/.rubocop_todo/rspec/expect_change.yml +++ b/.rubocop_todo/rspec/expect_change.yml @@ -1,11 +1,13 @@ --- # Cop supports --auto-correct. RSpec/ExpectChange: + Details: grace period Exclude: - 'ee/spec/controllers/admin/applications_controller_spec.rb' - 'ee/spec/controllers/ee/groups_controller_spec.rb' - 'ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb' - 'ee/spec/controllers/ee/registrations_controller_spec.rb' + - 'ee/spec/controllers/groups/analytics/cycle_analytics/value_streams_controller_spec.rb' - 'ee/spec/controllers/groups/epic_issues_controller_spec.rb' - 'ee/spec/controllers/groups/epics/notes_controller_spec.rb' - 'ee/spec/controllers/groups/epics_controller_spec.rb' @@ -21,19 +23,25 @@ RSpec/ExpectChange: - 'ee/spec/controllers/projects/protected_environments_controller_spec.rb' - 'ee/spec/controllers/projects/repositories_controller_spec.rb' - 'ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb' + - 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb' - 'ee/spec/controllers/projects_controller_spec.rb' - 'ee/spec/controllers/trials_controller_spec.rb' - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' + - 'ee/spec/elastic/migrate/20220512150000_pause_indexing_for_unsupported_es_versions_spec.rb' - 'ee/spec/features/groups/group_settings_spec.rb' - 'ee/spec/features/projects_spec.rb' - 'ee/spec/features/signup_spec.rb' - 'ee/spec/features/users/login_spec.rb' - 'ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb' - 'ee/spec/graphql/mutations/boards/epics/create_spec.rb' + - 'ee/spec/graphql/mutations/compliance_management/frameworks/destroy_spec.rb' - 'ee/spec/graphql/mutations/compliance_management/frameworks/update_spec.rb' + - 'ee/spec/graphql/mutations/dast/profiles/delete_spec.rb' - 'ee/spec/graphql/mutations/dast_scanner_profiles/delete_spec.rb' - 'ee/spec/graphql/mutations/dast_site_profiles/delete_spec.rb' - 'ee/spec/graphql/mutations/dast_site_validations/revoke_spec.rb' + - 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb' + - 'ee/spec/graphql/types/dast_site_profile_type_spec.rb' - 'ee/spec/helpers/paid_feature_callout_helper_spec.rb' - 'ee/spec/lib/audit/changes_spec.rb' - 'ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb' @@ -53,12 +61,14 @@ RSpec/ExpectChange: - 'ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb' - 'ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb' - 'ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb' + - 'ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb' - 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb' - 'ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb' - 'ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb' - 'ee/spec/lib/ee/gitlab/issuable/clone/copy_resource_events_service_spec.rb' - 'ee/spec/lib/ee/gitlab/scim/deprovision_service_spec.rb' - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb' + - 'ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb' - 'ee/spec/lib/gitlab/audit/auditor_spec.rb' - 'ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb' - 'ee/spec/lib/gitlab/auth/group_saml/user_spec.rb' @@ -66,13 +76,17 @@ RSpec/ExpectChange: - 'ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb' - 'ee/spec/lib/gitlab/auth/smartcard/ldap_certificate_spec.rb' - 'ee/spec/lib/gitlab/background_migration/migrate_requirements_to_work_items_spec.rb' + - 'ee/spec/lib/gitlab/cache_spec.rb' + - 'ee/spec/lib/gitlab/geo/replicator_spec.rb' - 'ee/spec/lib/gitlab/mirror_spec.rb' - 'ee/spec/migrations/20220411173544_cleanup_orphans_approval_project_rules_spec.rb' - 'ee/spec/models/ci/bridge_spec.rb' - 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb' - 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb' + - 'ee/spec/models/concerns/geo/eventable_spec.rb' - 'ee/spec/models/concerns/geo/replicable_model_spec.rb' - 'ee/spec/models/concerns/geo/verification_state_spec.rb' + - 'ee/spec/models/container_registry/event_spec.rb' - 'ee/spec/models/dast/profile_schedule_spec.rb' - 'ee/spec/models/dast_site_spec.rb' - 'ee/spec/models/ee/ci/job_artifact_spec.rb' @@ -85,15 +99,20 @@ RSpec/ExpectChange: - 'ee/spec/models/epic_spec.rb' - 'ee/spec/models/geo/project_registry_spec.rb' - 'ee/spec/models/geo/secondary_usage_data_spec.rb' - - 'ee/spec/models/gitlab_subscription_spec.rb' - 'ee/spec/models/issue_spec.rb' - 'ee/spec/models/project_import_state_spec.rb' + - 'ee/spec/models/project_member_spec.rb' - 'ee/spec/models/project_spec.rb' - 'ee/spec/models/repository_spec.rb' + - 'ee/spec/models/requirements_management/requirement_spec.rb' + - 'ee/spec/models/requirements_management/test_report_spec.rb' - 'ee/spec/models/status_page/published_incident_spec.rb' - 'ee/spec/models/vulnerabilities/export_spec.rb' + - 'ee/spec/models/vulnerabilities/read_spec.rb' - 'ee/spec/models/vulnerabilities/statistic_spec.rb' + - 'ee/spec/replicators/geo/pipeline_replicator_spec.rb' - 'ee/spec/requests/api/ci/pipelines_spec.rb' + - 'ee/spec/requests/api/deployments_spec.rb' - 'ee/spec/requests/api/epic_issues_spec.rb' - 'ee/spec/requests/api/epics_spec.rb' - 'ee/spec/requests/api/geo_spec.rb' @@ -101,8 +120,12 @@ RSpec/ExpectChange: - 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb' - 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb' - 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb' - 'ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb' - 'ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb' - 'ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb' - 'ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb' - 'ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb' @@ -110,6 +133,8 @@ RSpec/ExpectChange: - 'ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb' - 'ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb' - 'ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/security_policy/create_security_policy_project_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb' - 'ee/spec/requests/api/graphql/mutations/work_items/update_spec.rb' - 'ee/spec/requests/api/group_push_rule_spec.rb' - 'ee/spec/requests/api/groups_spec.rb' @@ -121,19 +146,30 @@ RSpec/ExpectChange: - 'ee/spec/requests/api/projects_spec.rb' - 'ee/spec/requests/api/releases_spec.rb' - 'ee/spec/requests/api/repositories_spec.rb' + - 'ee/spec/requests/api/status_checks_spec.rb' - 'ee/spec/requests/api/todos_spec.rb' - 'ee/spec/requests/api/users_spec.rb' - 'ee/spec/requests/ee/projects/deploy_tokens_controller_spec.rb' + - 'ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb' - 'ee/spec/requests/groups/protected_environments_controller_spec.rb' - 'ee/spec/requests/groups_controller_spec.rb' - 'ee/spec/requests/smartcard_controller_spec.rb' + - 'ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb' + - 'ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb' + - 'ee/spec/services/analytics/devops_adoption/enabled_namespaces/find_or_create_service_spec.rb' + - 'ee/spec/services/app_sec/dast/profiles/create_service_spec.rb' + - 'ee/spec/services/app_sec/dast/profiles/destroy_service_spec.rb' + - 'ee/spec/services/app_sec/dast/profiles/update_service_spec.rb' - 'ee/spec/services/app_sec/dast/scanner_profiles/destroy_service_spec.rb' + - 'ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb' + - 'ee/spec/services/app_sec/dast/site_profile_secret_variables/destroy_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_tokens/find_or_create_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_validations/revoke_service_spec.rb' - 'ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb' + - 'ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb' - 'ee/spec/services/application_settings/update_service_spec.rb' - 'ee/spec/services/approval_rules/finalize_service_spec.rb' - 'ee/spec/services/approval_rules/project_rule_destroy_service_spec.rb' @@ -144,18 +180,27 @@ RSpec/ExpectChange: - 'ee/spec/services/audit_events/streaming/headers/update_service_spec.rb' - 'ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb' - 'ee/spec/services/auto_merge/merge_train_service_spec.rb' + - 'ee/spec/services/boards/epic_user_preferences/update_service_spec.rb' - 'ee/spec/services/boards/epics/create_service_spec.rb' - 'ee/spec/services/boards/epics/move_service_spec.rb' + - 'ee/spec/services/boards/epics/position_create_service_spec.rb' - 'ee/spec/services/ci/destroy_pipeline_service_spec.rb' - 'ee/spec/services/ci/external_pull_requests/process_github_event_service_spec.rb' + - 'ee/spec/services/ci/minutes/update_build_minutes_service_spec.rb' + - 'ee/spec/services/ci/pipeline_trigger_service_spec.rb' - 'ee/spec/services/ci/process_build_service_spec.rb' + - 'ee/spec/services/ci/retry_job_service_spec.rb' + - 'ee/spec/services/ci/runners/stale_group_runners_prune_service_spec.rb' - 'ee/spec/services/ci/subscribe_bridge_service_spec.rb' + - 'ee/spec/services/ci/trigger_downstream_subscription_service_spec.rb' - 'ee/spec/services/compliance_management/frameworks/create_service_spec.rb' - 'ee/spec/services/compliance_management/frameworks/destroy_service_spec.rb' - 'ee/spec/services/compliance_management/frameworks/update_service_spec.rb' - 'ee/spec/services/deploy_keys/create_service_spec.rb' - 'ee/spec/services/deployments/approval_service_spec.rb' - 'ee/spec/services/deployments/auto_rollback_service_spec.rb' + - 'ee/spec/services/ee/ci/job_artifacts/destroy_all_expired_service_spec.rb' + - 'ee/spec/services/ee/ci/job_artifacts/destroy_batch_service_spec.rb' - 'ee/spec/services/ee/gpg_keys/destroy_service_spec.rb' - 'ee/spec/services/ee/groups/deploy_tokens/create_service_spec.rb' - 'ee/spec/services/ee/groups/deploy_tokens/destroy_service_spec.rb' @@ -168,6 +213,7 @@ RSpec/ExpectChange: - 'ee/spec/services/ee/members/destroy_service_spec.rb' - 'ee/spec/services/ee/members/invite_service_spec.rb' - 'ee/spec/services/ee/members/update_service_spec.rb' + - 'ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb' - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' - 'ee/spec/services/ee/notes/quick_actions_service_spec.rb' - 'ee/spec/services/ee/projects/deploy_tokens/create_service_spec.rb' @@ -179,6 +225,7 @@ RSpec/ExpectChange: - 'ee/spec/services/ee/users/reject_service_spec.rb' - 'ee/spec/services/ee/users/update_service_spec.rb' - 'ee/spec/services/elastic/indexing_control_service_spec.rb' + - 'ee/spec/services/elastic/process_initial_bookkeeping_service_spec.rb' - 'ee/spec/services/emails/create_service_spec.rb' - 'ee/spec/services/emails/destroy_service_spec.rb' - 'ee/spec/services/epic_issues/create_service_spec.rb' @@ -193,16 +240,21 @@ RSpec/ExpectChange: - 'ee/spec/services/geo/blob_download_service_spec.rb' - 'ee/spec/services/geo/metrics_update_service_spec.rb' - 'ee/spec/services/geo/project_housekeeping_service_spec.rb' + - 'ee/spec/services/geo/prune_event_log_service_spec.rb' - 'ee/spec/services/geo/registry_consistency_service_spec.rb' + - 'ee/spec/services/geo/repository_registry_removal_service_spec.rb' - 'ee/spec/services/geo/repository_sync_service_spec.rb' - 'ee/spec/services/group_saml/group_managed_accounts/transfer_membership_service_spec.rb' - 'ee/spec/services/group_saml/identity/destroy_service_spec.rb' - 'ee/spec/services/group_saml/sign_up_service_spec.rb' + - 'ee/spec/services/groups/destroy_service_spec.rb' - 'ee/spec/services/groups/mark_for_deletion_service_spec.rb' - 'ee/spec/services/groups/restore_service_spec.rb' - 'ee/spec/services/groups/sync_service_spec.rb' + - 'ee/spec/services/incident_management/issuable_resource_links/create_service_spec.rb' - 'ee/spec/services/incident_management/oncall_rotations/edit_service_spec.rb' - 'ee/spec/services/incident_management/pending_escalations/create_service_spec.rb' + - 'ee/spec/services/iterations/cadences/create_service_spec.rb' - 'ee/spec/services/iterations/update_service_spec.rb' - 'ee/spec/services/keys/create_service_spec.rb' - 'ee/spec/services/lfs/lock_file_service_spec.rb' @@ -210,56 +262,101 @@ RSpec/ExpectChange: - 'ee/spec/services/members/activate_service_spec.rb' - 'ee/spec/services/merge_request_approval_settings/update_service_spec.rb' - 'ee/spec/services/merge_requests/update_blocks_service_spec.rb' - - 'ee/spec/services/namespaces/free_user_cap/update_prevent_sharing_outside_hierarchy_service_spec.rb' + - 'ee/spec/services/projects/destroy_service_spec.rb' - 'ee/spec/services/projects/disable_deploy_key_service_spec.rb' - 'ee/spec/services/projects/enable_deploy_key_service_spec.rb' + - 'ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb' + - 'ee/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb' - 'ee/spec/services/projects/import_service_spec.rb' - 'ee/spec/services/projects/mark_for_deletion_service_spec.rb' - 'ee/spec/services/projects/restore_service_spec.rb' - 'ee/spec/services/projects/transfer_service_spec.rb' - 'ee/spec/services/projects/update_service_spec.rb' - 'ee/spec/services/protected_environments/destroy_service_spec.rb' + - 'ee/spec/services/protected_environments/update_service_spec.rb' - 'ee/spec/services/push_rules/create_or_update_service_spec.rb' - - 'ee/spec/services/requirements_management/create_requirement_service_spec.rb' + - 'ee/spec/services/requirements_management/process_test_reports_service_spec.rb' - 'ee/spec/services/resource_access_tokens/create_service_spec.rb' - 'ee/spec/services/resource_access_tokens/revoke_service_spec.rb' - 'ee/spec/services/resource_events/change_weight_service_spec.rb' - 'ee/spec/services/security/ingestion/finding_map_spec.rb' - 'ee/spec/services/security/ingestion/ingest_report_service_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_finding_evidence_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_finding_identifiers_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_finding_links_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_finding_signatures_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_findings_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected_spec.rb' - 'ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities_spec.rb' - 'ee/spec/services/security/orchestration/assign_service_spec.rb' - 'ee/spec/services/security/override_uuids_service_spec.rb' - 'ee/spec/services/security/security_orchestration_policies/sync_opened_merge_requests_service_spec.rb' + - 'ee/spec/services/security/store_findings_metadata_service_spec.rb' - 'ee/spec/services/security/store_scan_service_spec.rb' - 'ee/spec/services/start_pull_mirroring_service_spec.rb' + - 'ee/spec/services/status_page/mark_for_publication_service_spec.rb' - 'ee/spec/services/system_notes/epics_service_spec.rb' - 'ee/spec/services/system_notes/merge_train_service_spec.rb' - 'ee/spec/services/todo_service_spec.rb' - 'ee/spec/services/todos/destroy/confidential_epic_service_spec.rb' + - 'ee/spec/services/upcoming_reconciliations/update_service_spec.rb' - 'ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb' + - 'ee/spec/services/vulnerabilities/confirm_service_spec.rb' + - 'ee/spec/services/vulnerabilities/destroy_dismissal_feedback_service_spec.rb' + - 'ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb' + - 'ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb' + - 'ee/spec/services/vulnerabilities/resolve_service_spec.rb' + - 'ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb' + - 'ee/spec/services/vulnerabilities/security_finding/create_issue_service_spec.rb' + - 'ee/spec/services/vulnerabilities/starboard_vulnerability_create_service_spec.rb' + - 'ee/spec/services/vulnerabilities/statistics/adjustment_service_spec.rb' - 'ee/spec/services/vulnerabilities/statistics/update_service_spec.rb' + - 'ee/spec/services/vulnerability_exports/create_service_spec.rb' - 'ee/spec/services/vulnerability_exports/export_service_spec.rb' + - 'ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb' + - 'ee/spec/services/vulnerability_external_issue_links/destroy_service_spec.rb' - 'ee/spec/services/vulnerability_feedback/create_service_spec.rb' - 'ee/spec/services/vulnerability_feedback/destroy_service_spec.rb' + - 'ee/spec/services/vulnerability_issue_links/create_service_spec.rb' + - 'ee/spec/services/vulnerability_issue_links/delete_service_spec.rb' - 'ee/spec/support/shared_contexts/audit_event_not_licensed_shared_context.rb' - 'ee/spec/support/shared_examples/graphql/mutations/update_health_status_shared_examples.rb' + - 'ee/spec/support/shared_examples/models/concerns/blob_replicator_strategy_shared_examples.rb' - 'ee/spec/support/shared_examples/models/concerns/replicable_model_with_separate_table_shared_examples.rb' + - 'ee/spec/support/shared_examples/models/concerns/repository_replicator_strategy_shared_examples.rb' + - 'ee/spec/support/shared_examples/models/concerns/verifiable_replicator_shared_examples.rb' - 'ee/spec/support/shared_examples/models/geo_verifiable_registry_shared_examples.rb' - 'ee/spec/support/shared_examples/services/group_saml/saml_provider/base_service_shared_examples.rb' - 'ee/spec/support/shared_examples/services/update_issuable_health_status_shared_examples.rb' + - 'ee/spec/support/shared_examples/services/vulnerabilities/removes_dismissal_feedback_from_associated_findings_shared_example.rb' - 'ee/spec/tasks/geo/git_rake_spec.rb' - 'ee/spec/tasks/gitlab/elastic_rake_spec.rb' + - 'ee/spec/workers/app_sec/dast/scanner_profiles_builds/consistency_worker_spec.rb' + - 'ee/spec/workers/app_sec/dast/scans/consistency_worker_spec.rb' + - 'ee/spec/workers/app_sec/dast/site_profiles_builds/consistency_worker_spec.rb' + - 'ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb' + - 'ee/spec/workers/ci/upstream_projects_subscriptions_cleanup_worker_spec.rb' - 'ee/spec/workers/ee/projects/inactive_projects_deletion_cron_worker_spec.rb' - 'ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb' + - 'ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb' + - 'ee/spec/workers/geo/prune_event_log_worker_spec.rb' - 'ee/spec/workers/geo/verification_state_backfill_service_spec.rb' + - 'ee/spec/workers/incident_management/oncall_rotations/persist_shifts_job_spec.rb' - 'ee/spec/workers/new_epic_worker_spec.rb' - 'ee/spec/workers/store_security_reports_worker_spec.rb' + - 'ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb' + - 'spec/controllers/admin/applications_controller_spec.rb' + - 'spec/controllers/admin/clusters_controller_spec.rb' - 'spec/controllers/admin/groups_controller_spec.rb' - 'spec/controllers/admin/runners_controller_spec.rb' - 'spec/controllers/admin/spam_logs_controller_spec.rb' + - 'spec/controllers/admin/topics_controller_spec.rb' - 'spec/controllers/admin/users_controller_spec.rb' + - 'spec/controllers/groups/clusters_controller_spec.rb' - 'spec/controllers/groups/runners_controller_spec.rb' + - 'spec/controllers/groups/settings/applications_controller_spec.rb' - 'spec/controllers/groups_controller_spec.rb' - 'spec/controllers/import/bitbucket_controller_spec.rb' - 'spec/controllers/import/gitlab_controller_spec.rb' @@ -268,38 +365,71 @@ RSpec/ExpectChange: - 'spec/controllers/omniauth_callbacks_controller_spec.rb' - 'spec/controllers/profiles/gpg_keys_controller_spec.rb' - 'spec/controllers/profiles/keys_controller_spec.rb' + - 'spec/controllers/projects/artifacts_controller_spec.rb' + - 'spec/controllers/projects/clusters_controller_spec.rb' - 'spec/controllers/projects/deploy_keys_controller_spec.rb' + - 'spec/controllers/projects/feature_flags_controller_spec.rb' - 'spec/controllers/projects/issues_controller_spec.rb' + - 'spec/controllers/projects/jobs_controller_spec.rb' - 'spec/controllers/projects/merge_requests/creations_controller_spec.rb' - 'spec/controllers/projects/merge_requests/drafts_controller_spec.rb' - 'spec/controllers/projects/merge_requests_controller_spec.rb' - 'spec/controllers/projects/mirrors_controller_spec.rb' - 'spec/controllers/projects/notes_controller_spec.rb' - 'spec/controllers/projects/pages_domains_controller_spec.rb' + - 'spec/controllers/projects/pipeline_schedules_controller_spec.rb' + - 'spec/controllers/projects/pipelines_controller_spec.rb' + - 'spec/controllers/projects/raw_controller_spec.rb' - 'spec/controllers/projects/runners_controller_spec.rb' + - 'spec/controllers/projects/settings/ci_cd_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - 'spec/controllers/repositories/lfs_storage_controller_spec.rb' - 'spec/controllers/sessions_controller_spec.rb' - 'spec/controllers/snippets/notes_controller_spec.rb' - 'spec/controllers/uploads_controller_spec.rb' + - 'spec/controllers/users/callouts_controller_spec.rb' - 'spec/features/admin/users/users_spec.rb' - 'spec/features/file_uploads/attachment_spec.rb' + - 'spec/features/file_uploads/ci_artifact_spec.rb' - 'spec/features/file_uploads/git_lfs_spec.rb' + - 'spec/features/file_uploads/graphql_add_design_spec.rb' - 'spec/features/file_uploads/group_import_spec.rb' + - 'spec/features/file_uploads/maven_package_spec.rb' + - 'spec/features/file_uploads/nuget_package_spec.rb' - 'spec/features/file_uploads/project_import_spec.rb' + - 'spec/features/file_uploads/rubygem_package_spec.rb' - 'spec/features/groups/import_export/import_file_spec.rb' - 'spec/features/groups_spec.rb' - 'spec/features/invites_spec.rb' + - 'spec/features/projects/environments/environment_spec.rb' + - 'spec/features/projects/environments/environments_spec.rb' - 'spec/features/projects/import_export/import_file_spec.rb' + - 'spec/features/projects/pipelines/legacy_pipelines_spec.rb' + - 'spec/features/projects/pipelines/pipelines_spec.rb' - 'spec/features/projects_spec.rb' - 'spec/features/users/signup_spec.rb' + - 'spec/finders/environments/environments_by_deployments_finder_spec.rb' + - 'spec/graphql/mutations/ci/job_token_scope/add_project_spec.rb' + - 'spec/graphql/mutations/ci/job_token_scope/remove_project_spec.rb' + - 'spec/graphql/mutations/ci/runner/bulk_delete_spec.rb' + - 'spec/graphql/mutations/ci/runner/delete_spec.rb' + - 'spec/graphql/mutations/clusters/agent_tokens/create_spec.rb' + - 'spec/graphql/mutations/clusters/agents/create_spec.rb' + - 'spec/graphql/mutations/clusters/agents/delete_spec.rb' + - 'spec/graphql/mutations/container_repositories/destroy_spec.rb' + - 'spec/graphql/mutations/container_repositories/destroy_tags_spec.rb' + - 'spec/graphql/mutations/dependency_proxy/image_ttl_group_policy/update_spec.rb' - 'spec/graphql/mutations/issues/set_severity_spec.rb' - 'spec/graphql/mutations/releases/delete_spec.rb' - 'spec/graphql/mutations/timelogs/delete_spec.rb' + - 'spec/helpers/markup_helper_spec.rb' + - 'spec/helpers/projects_helper_spec.rb' - 'spec/initializers/active_record_locking_spec.rb' - 'spec/lib/api/helpers_spec.rb' + - 'spec/lib/banzai/filter/repository_link_filter_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb' - 'spec/lib/declarative_enum_spec.rb' + - 'spec/lib/gitaly/server_spec.rb' - 'spec/lib/gitlab/auth/ldap/access_spec.rb' - 'spec/lib/gitlab/auth/ldap/user_spec.rb' - 'spec/lib/gitlab/auth/o_auth/identity_linker_spec.rb' @@ -315,16 +445,21 @@ RSpec/ExpectChange: - 'spec/lib/gitlab/background_task_spec.rb' - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb' - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb' + - 'spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb' - 'spec/lib/gitlab/checks/matching_merge_request_spec.rb' - 'spec/lib/gitlab/ci/ansi2json/line_spec.rb' - 'spec/lib/gitlab/ci/config/external/context_spec.rb' - 'spec/lib/gitlab/ci/parsers/security/common_spec.rb' - 'spec/lib/gitlab/ci/pipeline/chain/create_deployments_spec.rb' - 'spec/lib/gitlab/ci/pipeline/chain/ensure_environments_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb' - 'spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb' - 'spec/lib/gitlab/ci/reports/security/report_spec.rb' - 'spec/lib/gitlab/ci/status/factory_spec.rb' + - 'spec/lib/gitlab/ci/trace/archive_spec.rb' - 'spec/lib/gitlab/ci/trace/chunked_io_spec.rb' + - 'spec/lib/gitlab/composer/cache_spec.rb' - 'spec/lib/gitlab/config/entry/validatable_spec.rb' - 'spec/lib/gitlab/daemon_spec.rb' - 'spec/lib/gitlab/database/async_indexes/index_creator_spec.rb' @@ -333,12 +468,20 @@ RSpec/ExpectChange: - 'spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb' - 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb' - 'spec/lib/gitlab/database/load_balancing/connection_proxy_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb' - 'spec/lib/gitlab/database/migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/observers/query_log_spec.rb' - 'spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb' - 'spec/lib/gitlab/database/migrations/observers/total_database_size_change_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/reindexing/reindex_action_spec.rb' - 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb' - 'spec/lib/gitlab/fogbugz_import/importer_spec.rb' + - 'spec/lib/gitlab/git/commit_spec.rb' + - 'spec/lib/gitlab/git/tag_spec.rb' - 'spec/lib/gitlab/git_access_project_spec.rb' - 'spec/lib/gitlab/github_import/importer/events/changed_assignee_spec.rb' - 'spec/lib/gitlab/github_import/importer/events/renamed_spec.rb' @@ -360,6 +503,7 @@ RSpec/ExpectChange: - 'spec/lib/gitlab/process_supervisor_spec.rb' - 'spec/lib/gitlab/query_limiting_spec.rb' - 'spec/lib/gitlab/reference_counter_spec.rb' + - 'spec/lib/gitlab/seeders/ci/daily_build_group_report_result_spec.rb' - 'spec/lib/gitlab/slash_commands/issue_move_spec.rb' - 'spec/lib/gitlab/word_diff/positions_counter_spec.rb' - 'spec/migrations/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers_spec.rb' @@ -371,11 +515,14 @@ RSpec/ExpectChange: - 'spec/migrations/20220202105733_delete_service_template_records_spec.rb' - 'spec/migrations/20220222192525_remove_null_releases_spec.rb' - 'spec/migrations/20220629184402_unset_escalation_policies_for_alert_incidents_spec.rb' + - 'spec/migrations/add_new_trail_plans_spec.rb' + - 'spec/migrations/add_open_source_plan_spec.rb' - 'spec/migrations/backfill_cycle_analytics_aggregations_spec.rb' - 'spec/migrations/bulk_insert_cluster_enabled_grants_spec.rb' - 'spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb' - 'spec/migrations/cleanup_after_fixing_issue_when_admin_changed_primary_email_spec.rb' - 'spec/migrations/cleanup_after_fixing_regression_with_new_users_emails_spec.rb' + - 'spec/migrations/delete_security_findings_without_uuid_spec.rb' - 'spec/migrations/populate_audit_event_streaming_verification_token_spec.rb' - 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb' - 'spec/migrations/remove_wiki_notes_spec.rb' @@ -389,11 +536,14 @@ RSpec/ExpectChange: - 'spec/models/ci/build_spec.rb' - 'spec/models/ci/deleted_object_spec.rb' - 'spec/models/ci/namespace_mirror_spec.rb' + - 'spec/models/ci/pipeline_artifact_spec.rb' - 'spec/models/ci/pipeline_schedule_spec.rb' + - 'spec/models/ci/pipeline_spec.rb' - 'spec/models/ci/processable_spec.rb' - 'spec/models/ci/project_mirror_spec.rb' - 'spec/models/ci/ref_spec.rb' - 'spec/models/ci/runner_spec.rb' + - 'spec/models/clusters/applications/runner_spec.rb' - 'spec/models/clusters/cluster_spec.rb' - 'spec/models/commit_status_spec.rb' - 'spec/models/concerns/atomic_internal_id_spec.rb' @@ -410,6 +560,7 @@ RSpec/ExpectChange: - 'spec/models/container_repository_spec.rb' - 'spec/models/customer_relations/issue_contact_spec.rb' - 'spec/models/design_management/version_spec.rb' + - 'spec/models/error_tracking/project_error_tracking_setting_spec.rb' - 'spec/models/event_spec.rb' - 'spec/models/experiment_spec.rb' - 'spec/models/group_spec.rb' @@ -423,6 +574,7 @@ RSpec/ExpectChange: - 'spec/models/member_spec.rb' - 'spec/models/merge_request_spec.rb' - 'spec/models/packages/package_file_spec.rb' + - 'spec/models/packages/package_spec.rb' - 'spec/models/pages_domain_spec.rb' - 'spec/models/plan_spec.rb' - 'spec/models/project_auto_devops_spec.rb' @@ -437,6 +589,7 @@ RSpec/ExpectChange: - 'spec/models/route_spec.rb' - 'spec/models/sent_notification_spec.rb' - 'spec/models/snippet_spec.rb' + - 'spec/models/terraform/state_spec.rb' - 'spec/models/upload_spec.rb' - 'spec/models/user_interacted_project_spec.rb' - 'spec/models/user_spec.rb' @@ -444,18 +597,33 @@ RSpec/ExpectChange: - 'spec/models/x509_certificate_spec.rb' - 'spec/models/x509_issuer_spec.rb' - 'spec/requests/abuse_reports_controller_spec.rb' + - 'spec/requests/api/admin/ci/variables_spec.rb' + - 'spec/requests/api/applications_spec.rb' - 'spec/requests/api/broadcast_messages_spec.rb' + - 'spec/requests/api/ci/pipeline_schedules_spec.rb' - 'spec/requests/api/ci/pipelines_spec.rb' - 'spec/requests/api/ci/runner/jobs_trace_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb' - 'spec/requests/api/deploy_keys_spec.rb' - 'spec/requests/api/deploy_tokens_spec.rb' + - 'spec/requests/api/error_tracking/collector_spec.rb' + - 'spec/requests/api/feature_flags_spec.rb' + - 'spec/requests/api/freeze_periods_spec.rb' + - 'spec/requests/api/generic_packages_spec.rb' - 'spec/requests/api/graphql/mutations/award_emojis/add_spec.rb' - 'spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb' - 'spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb' - 'spec/requests/api/graphql/mutations/boards/destroy_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agents/create_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb' + - 'spec/requests/api/graphql/mutations/container_repository/destroy_spec.rb' + - 'spec/requests/api/graphql/mutations/container_repository/destroy_tags_spec.rb' - 'spec/requests/api/graphql/mutations/labels/create_spec.rb' + - 'spec/requests/api/graphql/mutations/metrics/dashboard/annotations/create_spec.rb' + - 'spec/requests/api/graphql/mutations/metrics/dashboard/annotations/delete_spec.rb' - 'spec/requests/api/graphql/mutations/notes/destroy_spec.rb' + - 'spec/requests/api/graphql/mutations/packages/cleanup/policy/update_spec.rb' - 'spec/requests/api/graphql/mutations/releases/delete_spec.rb' - 'spec/requests/api/graphql/mutations/snippets/create_spec.rb' - 'spec/requests/api/graphql/mutations/snippets/destroy_spec.rb' @@ -463,21 +631,35 @@ RSpec/ExpectChange: - 'spec/requests/api/group_import_spec.rb' - 'spec/requests/api/groups_spec.rb' - 'spec/requests/api/internal/base_spec.rb' + - 'spec/requests/api/maven_packages_spec.rb' - 'spec/requests/api/merge_requests_spec.rb' - 'spec/requests/api/notes_spec.rb' + - 'spec/requests/api/npm_project_packages_spec.rb' - 'spec/requests/api/project_snippets_spec.rb' - 'spec/requests/api/projects_spec.rb' + - 'spec/requests/api/pypi_packages_spec.rb' + - 'spec/requests/api/release/links_spec.rb' - 'spec/requests/api/releases_spec.rb' + - 'spec/requests/api/rubygem_packages_spec.rb' - 'spec/requests/api/snippets_spec.rb' + - 'spec/requests/api/terraform/modules/v1/packages_spec.rb' + - 'spec/requests/api/terraform/state_spec.rb' + - 'spec/requests/api/terraform/state_version_spec.rb' - 'spec/requests/api/users_spec.rb' - 'spec/requests/groups/settings/access_tokens_controller_spec.rb' - 'spec/requests/import/gitlab_groups_controller_spec.rb' + - 'spec/requests/oauth_tokens_spec.rb' - 'spec/requests/product_analytics/collector_app_spec.rb' - 'spec/requests/projects/issue_links_controller_spec.rb' + - 'spec/requests/projects/merge_requests_discussions_spec.rb' - 'spec/requests/projects/settings/access_tokens_controller_spec.rb' + - 'spec/requests/users/group_callouts_spec.rb' + - 'spec/requests/users/namespace_callouts_spec.rb' + - 'spec/requests/users/project_callouts_spec.rb' - 'spec/services/alert_management/alerts/todo/create_service_spec.rb' - 'spec/services/alert_management/alerts/update_service_spec.rb' - 'spec/services/application_settings/update_service_spec.rb' + - 'spec/services/applications/create_service_spec.rb' - 'spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb' - 'spec/services/authorized_project_update/project_recalculate_service_spec.rb' - 'spec/services/award_emojis/add_service_spec.rb' @@ -486,18 +668,39 @@ RSpec/ExpectChange: - 'spec/services/award_emojis/toggle_service_spec.rb' - 'spec/services/bulk_imports/create_service_spec.rb' - 'spec/services/bulk_imports/relation_export_service_spec.rb' + - 'spec/services/ci/build_report_result_service_spec.rb' - 'spec/services/ci/create_downstream_pipeline_service_spec.rb' - 'spec/services/ci/create_pipeline_service_spec.rb' + - 'spec/services/ci/daily_build_group_report_result_service_spec.rb' + - 'spec/services/ci/delete_objects_service_spec.rb' - 'spec/services/ci/destroy_pipeline_service_spec.rb' + - 'spec/services/ci/ensure_stage_service_spec.rb' + - 'spec/services/ci/job_artifacts/create_service_spec.rb' - 'spec/services/ci/job_artifacts/delete_service_spec.rb' + - 'spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb' + - 'spec/services/ci/job_artifacts/destroy_associations_service_spec.rb' + - 'spec/services/ci/job_artifacts/destroy_batch_service_spec.rb' - 'spec/services/ci/job_artifacts/update_unknown_locked_status_service_spec.rb' + - 'spec/services/ci/job_token_scope/add_project_service_spec.rb' + - 'spec/services/ci/job_token_scope/remove_project_service_spec.rb' + - 'spec/services/ci/pipeline_artifacts/coverage_report_service_spec.rb' + - 'spec/services/ci/pipeline_artifacts/create_code_quality_mr_diff_report_service_spec.rb' + - 'spec/services/ci/pipeline_artifacts/destroy_all_expired_service_spec.rb' + - 'spec/services/ci/pipeline_trigger_service_spec.rb' - 'spec/services/ci/play_build_service_spec.rb' - 'spec/services/ci/process_build_service_spec.rb' - 'spec/services/ci/retry_job_service_spec.rb' - 'spec/services/ci/retry_pipeline_service_spec.rb' - 'spec/services/ci/run_scheduled_build_service_spec.rb' + - 'spec/services/ci/runners/bulk_delete_runners_service_spec.rb' + - 'spec/services/ci/runners/unregister_runner_service_spec.rb' - 'spec/services/ci/update_build_queue_service_spec.rb' - 'spec/services/ci/update_build_state_service_spec.rb' + - 'spec/services/ci/update_instance_variables_service_spec.rb' + - 'spec/services/clusters/agent_tokens/create_service_spec.rb' + - 'spec/services/clusters/agents/create_service_spec.rb' + - 'spec/services/clusters/agents/delete_service_spec.rb' + - 'spec/services/clusters/create_service_spec.rb' - 'spec/services/clusters/destroy_service_spec.rb' - 'spec/services/container_expiration_policies/cleanup_service_spec.rb' - 'spec/services/deployments/create_for_build_service_spec.rb' @@ -509,17 +712,21 @@ RSpec/ExpectChange: - 'spec/services/draft_notes/destroy_service_spec.rb' - 'spec/services/draft_notes/publish_service_spec.rb' - 'spec/services/emails/create_service_spec.rb' + - 'spec/services/error_tracking/collect_error_service_spec.rb' - 'spec/services/error_tracking/list_projects_service_spec.rb' - 'spec/services/event_create_service_spec.rb' - 'spec/services/feature_flags/create_service_spec.rb' - 'spec/services/feature_flags/destroy_service_spec.rb' - 'spec/services/feature_flags/update_service_spec.rb' + - 'spec/services/git/branch_push_service_spec.rb' - 'spec/services/git/process_ref_changes_service_spec.rb' + - 'spec/services/git/tag_hooks_service_spec.rb' - 'spec/services/groups/create_service_spec.rb' - 'spec/services/groups/import_export/import_service_spec.rb' - 'spec/services/groups/transfer_service_spec.rb' - 'spec/services/groups/update_service_spec.rb' - 'spec/services/groups/update_statistics_service_spec.rb' + - 'spec/services/incident_management/timeline_events/create_service_spec.rb' - 'spec/services/incident_management/timeline_events/update_service_spec.rb' - 'spec/services/issuable/common_system_notes_service_spec.rb' - 'spec/services/issues/close_service_spec.rb' @@ -533,6 +740,7 @@ RSpec/ExpectChange: - 'spec/services/lfs/lock_file_service_spec.rb' - 'spec/services/merge_requests/add_spent_time_service_spec.rb' - 'spec/services/merge_requests/close_service_spec.rb' + - 'spec/services/merge_requests/create_pipeline_service_spec.rb' - 'spec/services/merge_requests/create_service_spec.rb' - 'spec/services/merge_requests/ff_merge_service_spec.rb' - 'spec/services/merge_requests/merge_service_spec.rb' @@ -544,24 +752,48 @@ RSpec/ExpectChange: - 'spec/services/merge_requests/update_service_spec.rb' - 'spec/services/milestones/destroy_service_spec.rb' - 'spec/services/namespace_settings/update_service_spec.rb' + - 'spec/services/namespaces/in_product_marketing_emails_service_spec.rb' - 'spec/services/notes/create_service_spec.rb' - 'spec/services/notes/destroy_service_spec.rb' - 'spec/services/notes/quick_actions_service_spec.rb' - 'spec/services/packages/cleanup/update_policy_service_spec.rb' + - 'spec/services/packages/composer/create_package_service_spec.rb' + - 'spec/services/packages/create_dependency_service_spec.rb' + - 'spec/services/packages/create_event_service_spec.rb' + - 'spec/services/packages/create_temporary_package_service_spec.rb' + - 'spec/services/packages/debian/find_or_create_package_service_spec.rb' + - 'spec/services/packages/debian/process_changes_service_spec.rb' + - 'spec/services/packages/generic/create_package_file_service_spec.rb' + - 'spec/services/packages/go/create_package_service_spec.rb' - 'spec/services/packages/helm/process_file_service_spec.rb' - 'spec/services/packages/mark_package_for_destruction_service_spec.rb' + - 'spec/services/packages/maven/find_or_create_package_service_spec.rb' + - 'spec/services/packages/npm/create_package_service_spec.rb' + - 'spec/services/packages/npm/create_tag_service_spec.rb' + - 'spec/services/packages/nuget/create_dependency_service_spec.rb' + - 'spec/services/packages/nuget/sync_metadatum_service_spec.rb' + - 'spec/services/packages/nuget/update_package_from_metadata_service_spec.rb' + - 'spec/services/packages/pypi/create_package_service_spec.rb' + - 'spec/services/packages/remove_tag_service_spec.rb' + - 'spec/services/packages/rubygems/create_dependencies_service_spec.rb' + - 'spec/services/packages/rubygems/metadata_extraction_service_spec.rb' + - 'spec/services/packages/terraform_module/create_package_service_spec.rb' - 'spec/services/packages/update_package_file_service_spec.rb' + - 'spec/services/packages/update_tags_service_spec.rb' - 'spec/services/pages/delete_service_spec.rb' - 'spec/services/pages/destroy_deployments_service_spec.rb' - 'spec/services/pages_domains/retry_acme_order_service_spec.rb' - 'spec/services/personal_access_tokens/last_used_service_spec.rb' - 'spec/services/projects/auto_devops/disable_service_spec.rb' + - 'spec/services/projects/destroy_service_spec.rb' - 'spec/services/projects/fetch_statistics_increment_service_spec.rb' - 'spec/services/projects/hashed_storage/migration_service_spec.rb' - 'spec/services/projects/hashed_storage/rollback_repository_service_spec.rb' - 'spec/services/projects/hashed_storage/rollback_service_spec.rb' + - 'spec/services/projects/in_product_marketing_campaign_emails_service_spec.rb' - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' - 'spec/services/projects/record_target_platforms_service_spec.rb' + - 'spec/services/projects/transfer_service_spec.rb' - 'spec/services/projects/update_pages_service_spec.rb' - 'spec/services/projects/update_service_spec.rb' - 'spec/services/quick_actions/interpret_service_spec.rb' @@ -594,14 +826,17 @@ RSpec/ExpectChange: - 'spec/services/users/update_service_spec.rb' - 'spec/services/verify_pages_domain_service_spec.rb' - 'spec/services/work_items/parent_links/create_service_spec.rb' + - 'spec/support/services/clusters/create_service_shared.rb' - 'spec/support/services/deploy_token_shared_examples.rb' - 'spec/support/services/issuable_import_csv_service_shared_examples.rb' - 'spec/support/shared_contexts/email_shared_context.rb' + - 'spec/support/shared_examples/controllers/clusters_controller_shared_examples.rb' - 'spec/support/shared_examples/controllers/githubish_import_controller_shared_examples.rb' - 'spec/support/shared_examples/controllers/variables_shared_examples.rb' - 'spec/support/shared_examples/graphql/mutations/boards_create_shared_examples.rb' - 'spec/support/shared_examples/graphql/notes_creation_shared_examples.rb' - 'spec/support/shared_examples/incident_management/issuable_escalation_statuses/build_examples.rb' + - 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb' - 'spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb' - 'spec/support/shared_examples/models/commit_signature_shared_examples.rb' - 'spec/support/shared_examples/models/concerns/bulk_insert_safe_shared_examples.rb' @@ -610,17 +845,29 @@ RSpec/ExpectChange: - 'spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb' - 'spec/support/shared_examples/models/concerns/limitable_shared_examples.rb' - 'spec/support/shared_examples/models/concerns/repository_storage_movable_shared_examples.rb' + - 'spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb' - 'spec/support/shared_examples/models/member_shared_examples.rb' - 'spec/support/shared_examples/models/packages/debian/component_file_shared_example.rb' - 'spec/support/shared_examples/models/with_uploads_shared_examples.rb' - 'spec/support/shared_examples/requests/access_tokens_controller_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/conan_packages_shared_examples.rb' - 'spec/support/shared_examples/requests/api/graphql/mutations/destroy_list_shared_examples.rb' - 'spec/support/shared_examples/requests/api/graphql/read_only_instance_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/helm_packages_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/npm_packages_tags_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/packages_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/pypi_packages_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/rubygems_packages_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/terraform/modules/v1/packages_shared_examples.rb' - 'spec/support/shared_examples/services/common_system_notes_shared_examples.rb' - 'spec/support/shared_examples/services/container_expiration_policy_shared_examples.rb' - 'spec/support/shared_examples/services/container_registry_auth_service_shared_examples.rb' + - 'spec/support/shared_examples/services/dependency_proxy_ttl_policies_shared_examples.rb' - 'spec/support/shared_examples/services/issuable_links/create_links_shared_examples.rb' - 'spec/support/shared_examples/services/merge_request_shared_examples.rb' + - 'spec/support/shared_examples/services/namespace_package_settings_shared_examples.rb' + - 'spec/support/shared_examples/services/packages_shared_examples.rb' - 'spec/support/shared_examples/services/rate_limited_service_shared_examples.rb' - 'spec/support/shared_examples/services/repositories/housekeeping_shared_examples.rb' - 'spec/support/shared_examples/services/updating_mentions_shared_examples.rb' @@ -633,14 +880,26 @@ RSpec/ExpectChange: - 'spec/tooling/rspec_flaky/listener_spec.rb' - 'spec/uploaders/file_uploader_spec.rb' - 'spec/uploaders/records_uploads_spec.rb' + - 'spec/workers/analytics/usage_trends/counter_job_worker_spec.rb' - 'spec/workers/destroy_pages_deployments_worker_spec.rb' - 'spec/workers/environments/auto_delete_cron_worker_spec.rb' - 'spec/workers/gitlab/phabricator_import/base_worker_spec.rb' - 'spec/workers/gitlab_service_ping_worker_spec.rb' - 'spec/workers/group_import_worker_spec.rb' - 'spec/workers/incident_management/process_alert_worker_v2_spec.rb' + - 'spec/workers/namespaces/root_statistics_worker_spec.rb' + - 'spec/workers/namespaces/schedule_aggregation_worker_spec.rb' - 'spec/workers/new_issue_worker_spec.rb' - 'spec/workers/new_merge_request_worker_spec.rb' + - 'spec/workers/packages/cleanup_package_file_worker_spec.rb' + - 'spec/workers/packages/composer/cache_cleanup_worker_spec.rb' + - 'spec/workers/packages/composer/cache_update_worker_spec.rb' + - 'spec/workers/packages/debian/process_changes_worker_spec.rb' + - 'spec/workers/packages/go/sync_packages_worker_spec.rb' + - 'spec/workers/packages/helm/extraction_worker_spec.rb' + - 'spec/workers/packages/maven/metadata/sync_worker_spec.rb' + - 'spec/workers/packages/nuget/extraction_worker_spec.rb' + - 'spec/workers/packages/rubygems/extraction_worker_spec.rb' - 'spec/workers/pages_domain_removal_cron_worker_spec.rb' - 'spec/workers/projects/post_creation_worker_spec.rb' - 'spec/workers/prune_old_events_worker_spec.rb' diff --git a/.rubocop_todo/rspec/expect_in_hook.yml b/.rubocop_todo/rspec/expect_in_hook.yml index 1551f2dc63..70b4105fc8 100644 --- a/.rubocop_todo/rspec/expect_in_hook.yml +++ b/.rubocop_todo/rspec/expect_in_hook.yml @@ -7,7 +7,6 @@ RSpec/ExpectInHook: - 'ee/spec/controllers/projects/boards_controller_spec.rb' - 'ee/spec/controllers/projects/settings/slacks_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb' - - 'ee/spec/controllers/trials_controller_spec.rb' - 'ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb' - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' - 'ee/spec/features/billings/billing_plans_spec.rb' @@ -19,7 +18,6 @@ RSpec/ExpectInHook: - 'ee/spec/features/registrations/trial_during_signup_flow_spec.rb' - 'ee/spec/features/signup_spec.rb' - 'ee/spec/features/trial_registrations/company_information_spec.rb' - - 'ee/spec/features/trials/capture_lead_spec.rb' - 'ee/spec/features/trials/select_namespace_spec.rb' - 'ee/spec/finders/license_template_finder_spec.rb' - 'ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb' diff --git a/.rubocop_todo/rspec/factory_bot/avoid_create.yml b/.rubocop_todo/rspec/factory_bot/avoid_create.yml new file mode 100644 index 0000000000..2da0040f8e --- /dev/null +++ b/.rubocop_todo/rspec/factory_bot/avoid_create.yml @@ -0,0 +1,211 @@ +--- +RSpec/FactoryBot/AvoidCreate: + Details: grace period + Exclude: + - 'ee/spec/serializers/analytics/cycle_analytics/stage_entity_spec.rb' + - 'ee/spec/serializers/analytics/cycle_analytics/value_stream_errors_serializer_spec.rb' + - 'ee/spec/serializers/audit_event_entity_spec.rb' + - 'ee/spec/serializers/audit_event_serializer_spec.rb' + - 'ee/spec/serializers/blocking_merge_request_entity_spec.rb' + - 'ee/spec/serializers/clusters/deployment_entity_spec.rb' + - 'ee/spec/serializers/clusters/environment_entity_spec.rb' + - 'ee/spec/serializers/clusters/environment_serializer_spec.rb' + - 'ee/spec/serializers/dashboard_environment_entity_spec.rb' + - 'ee/spec/serializers/dashboard_environments_project_entity_spec.rb' + - 'ee/spec/serializers/dashboard_environments_serializer_spec.rb' + - 'ee/spec/serializers/dashboard_operations_project_entity_spec.rb' + - 'ee/spec/serializers/dependency_entity_spec.rb' + - 'ee/spec/serializers/dependency_list_serializer_spec.rb' + - 'ee/spec/serializers/ee/blob_entity_spec.rb' + - 'ee/spec/serializers/ee/build_details_entity_spec.rb' + - 'ee/spec/serializers/ee/ci/job_entity_spec.rb' + - 'ee/spec/serializers/ee/deployment_entity_spec.rb' + - 'ee/spec/serializers/ee/environment_serializer_spec.rb' + - 'ee/spec/serializers/ee/group_child_entity_spec.rb' + - 'ee/spec/serializers/ee/issue_board_entity_spec.rb' + - 'ee/spec/serializers/ee/issue_entity_spec.rb' + - 'ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb' + - 'ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb' + - 'ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb' + - 'ee/spec/serializers/ee/note_entity_spec.rb' + - 'ee/spec/serializers/ee/user_serializer_spec.rb' + - 'ee/spec/serializers/environment_entity_spec.rb' + - 'ee/spec/serializers/epic_entity_spec.rb' + - 'ee/spec/serializers/epic_note_entity_spec.rb' + - 'ee/spec/serializers/epics/related_epic_entity_spec.rb' + - 'ee/spec/serializers/fork_namespace_entity_spec.rb' + - 'ee/spec/serializers/geo_project_registry_entity_spec.rb' + - 'ee/spec/serializers/incident_management/escalation_policy_entity_spec.rb' + - 'ee/spec/serializers/incident_management/oncall_schedule_entity_spec.rb' + - 'ee/spec/serializers/integrations/field_entity_spec.rb' + - 'ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb' + - 'ee/spec/serializers/integrations/jira_serializers/issue_entity_spec.rb' + - 'ee/spec/serializers/integrations/jira_serializers/issue_serializer_spec.rb' + - 'ee/spec/serializers/integrations/zentao_serializers/issue_entity_spec.rb' + - 'ee/spec/serializers/issuable_sidebar_extras_entity_spec.rb' + - 'ee/spec/serializers/issue_serializer_spec.rb' + - 'ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb' + - 'ee/spec/serializers/license_compliance/collapsed_comparer_entity_spec.rb' + - 'ee/spec/serializers/license_compliance/comparer_entity_spec.rb' + - 'ee/spec/serializers/licenses_list_entity_spec.rb' + - 'ee/spec/serializers/licenses_list_serializer_spec.rb' + - 'ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb' + - 'ee/spec/serializers/member_entity_spec.rb' + - 'ee/spec/serializers/member_user_entity_spec.rb' + - 'ee/spec/serializers/merge_request_poll_widget_entity_spec.rb' + - 'ee/spec/serializers/merge_request_sidebar_basic_entity_spec.rb' + - 'ee/spec/serializers/merge_request_widget_entity_spec.rb' + - 'ee/spec/serializers/pipeline_serializer_spec.rb' + - 'ee/spec/serializers/productivity_analytics_merge_request_entity_spec.rb' + - 'ee/spec/serializers/project_mirror_entity_spec.rb' + - 'ee/spec/serializers/scim_oauth_access_token_entity_spec.rb' + - 'ee/spec/serializers/security/vulnerability_report_data_entity_spec.rb' + - 'ee/spec/serializers/status_page/incident_comment_entity_spec.rb' + - 'ee/spec/serializers/status_page/incident_entity_spec.rb' + - 'ee/spec/serializers/status_page/incident_serializer_spec.rb' + - 'ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/finding_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/finding_serializer_spec.rb' + - 'ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/request_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/response_entity_spec.rb' + - 'ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb' + - 'ee/spec/serializers/vulnerability_entity_spec.rb' + - 'ee/spec/serializers/vulnerability_note_entity_spec.rb' + - 'spec/serializers/access_token_entity_base_spec.rb' + - 'spec/serializers/analytics_build_entity_spec.rb' + - 'spec/serializers/analytics_build_serializer_spec.rb' + - 'spec/serializers/analytics_issue_entity_spec.rb' + - 'spec/serializers/analytics_issue_serializer_spec.rb' + - 'spec/serializers/analytics_merge_request_serializer_spec.rb' + - 'spec/serializers/analytics_summary_serializer_spec.rb' + - 'spec/serializers/base_discussion_entity_spec.rb' + - 'spec/serializers/blob_entity_spec.rb' + - 'spec/serializers/build_action_entity_spec.rb' + - 'spec/serializers/build_artifact_entity_spec.rb' + - 'spec/serializers/build_details_entity_spec.rb' + - 'spec/serializers/ci/dag_job_entity_spec.rb' + - 'spec/serializers/ci/dag_job_group_entity_spec.rb' + - 'spec/serializers/ci/dag_pipeline_entity_spec.rb' + - 'spec/serializers/ci/dag_pipeline_serializer_spec.rb' + - 'spec/serializers/ci/dag_stage_entity_spec.rb' + - 'spec/serializers/ci/downloadable_artifact_entity_spec.rb' + - 'spec/serializers/ci/downloadable_artifact_serializer_spec.rb' + - 'spec/serializers/ci/group_variable_entity_spec.rb' + - 'spec/serializers/ci/job_entity_spec.rb' + - 'spec/serializers/ci/job_serializer_spec.rb' + - 'spec/serializers/ci/lint/result_serializer_spec.rb' + - 'spec/serializers/ci/pipeline_entity_spec.rb' + - 'spec/serializers/ci/trigger_entity_spec.rb' + - 'spec/serializers/ci/variable_entity_spec.rb' + - 'spec/serializers/cluster_application_entity_spec.rb' + - 'spec/serializers/cluster_entity_spec.rb' + - 'spec/serializers/cluster_serializer_spec.rb' + - 'spec/serializers/clusters/kubernetes_error_entity_spec.rb' + - 'spec/serializers/commit_entity_spec.rb' + - 'spec/serializers/container_repositories_serializer_spec.rb' + - 'spec/serializers/container_repository_entity_spec.rb' + - 'spec/serializers/container_tag_entity_spec.rb' + - 'spec/serializers/context_commits_diff_entity_spec.rb' + - 'spec/serializers/deploy_keys/basic_deploy_key_entity_spec.rb' + - 'spec/serializers/deploy_keys/deploy_key_entity_spec.rb' + - 'spec/serializers/deployment_cluster_entity_spec.rb' + - 'spec/serializers/deployment_entity_spec.rb' + - 'spec/serializers/deployment_serializer_spec.rb' + - 'spec/serializers/diff_file_base_entity_spec.rb' + - 'spec/serializers/diff_file_entity_spec.rb' + - 'spec/serializers/diff_file_metadata_entity_spec.rb' + - 'spec/serializers/diff_viewer_entity_spec.rb' + - 'spec/serializers/diffs_entity_spec.rb' + - 'spec/serializers/diffs_metadata_entity_spec.rb' + - 'spec/serializers/discussion_diff_file_entity_spec.rb' + - 'spec/serializers/discussion_entity_spec.rb' + - 'spec/serializers/environment_entity_spec.rb' + - 'spec/serializers/environment_serializer_spec.rb' + - 'spec/serializers/environment_status_entity_spec.rb' + - 'spec/serializers/evidences/evidence_entity_spec.rb' + - 'spec/serializers/evidences/release_entity_spec.rb' + - 'spec/serializers/feature_flag_entity_spec.rb' + - 'spec/serializers/feature_flag_serializer_spec.rb' + - 'spec/serializers/feature_flag_summary_entity_spec.rb' + - 'spec/serializers/feature_flag_summary_serializer_spec.rb' + - 'spec/serializers/feature_flags_client_serializer_spec.rb' + - 'spec/serializers/fork_namespace_entity_spec.rb' + - 'spec/serializers/group_access_token_entity_spec.rb' + - 'spec/serializers/group_access_token_serializer_spec.rb' + - 'spec/serializers/group_child_entity_spec.rb' + - 'spec/serializers/group_child_serializer_spec.rb' + - 'spec/serializers/group_deploy_key_entity_spec.rb' + - 'spec/serializers/group_link/group_group_link_entity_spec.rb' + - 'spec/serializers/group_link/project_group_link_entity_spec.rb' + - 'spec/serializers/group_link/project_group_link_serializer_spec.rb' + - 'spec/serializers/impersonation_access_token_entity_spec.rb' + - 'spec/serializers/impersonation_access_token_serializer_spec.rb' + - 'spec/serializers/import/manifest_provider_repo_entity_spec.rb' + - 'spec/serializers/integrations/event_entity_spec.rb' + - 'spec/serializers/integrations/field_entity_spec.rb' + - 'spec/serializers/integrations/harbor_serializers/artifact_entity_spec.rb' + - 'spec/serializers/integrations/harbor_serializers/repository_entity_spec.rb' + - 'spec/serializers/integrations/harbor_serializers/tag_entity_spec.rb' + - 'spec/serializers/integrations/project_entity_spec.rb' + - 'spec/serializers/issuable_sidebar_extras_entity_spec.rb' + - 'spec/serializers/issue_board_entity_spec.rb' + - 'spec/serializers/issue_entity_spec.rb' + - 'spec/serializers/issue_serializer_spec.rb' + - 'spec/serializers/issue_sidebar_basic_entity_spec.rb' + - 'spec/serializers/jira_connect/app_data_serializer_spec.rb' + - 'spec/serializers/jira_connect/group_entity_spec.rb' + - 'spec/serializers/jira_connect/subscription_entity_spec.rb' + - 'spec/serializers/job_artifact_report_entity_spec.rb' + - 'spec/serializers/label_serializer_spec.rb' + - 'spec/serializers/lfs_file_lock_entity_spec.rb' + - 'spec/serializers/linked_project_issue_entity_spec.rb' + - 'spec/serializers/member_entity_spec.rb' + - 'spec/serializers/member_serializer_spec.rb' + - 'spec/serializers/member_user_entity_spec.rb' + - 'spec/serializers/merge_request_current_user_entity_spec.rb' + - 'spec/serializers/merge_request_diff_entity_spec.rb' + - 'spec/serializers/merge_request_for_pipeline_entity_spec.rb' + - 'spec/serializers/merge_request_metrics_helper_spec.rb' + - 'spec/serializers/merge_request_poll_cached_widget_entity_spec.rb' + - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' + - 'spec/serializers/merge_request_serializer_spec.rb' + - 'spec/serializers/merge_request_sidebar_basic_entity_spec.rb' + - 'spec/serializers/merge_request_sidebar_extras_entity_spec.rb' + - 'spec/serializers/merge_request_user_entity_spec.rb' + - 'spec/serializers/merge_request_widget_commit_entity_spec.rb' + - 'spec/serializers/merge_request_widget_entity_spec.rb' + - 'spec/serializers/merge_requests/pipeline_entity_spec.rb' + - 'spec/serializers/namespace_basic_entity_spec.rb' + - 'spec/serializers/note_entity_spec.rb' + - 'spec/serializers/paginated_diff_entity_spec.rb' + - 'spec/serializers/personal_access_token_entity_spec.rb' + - 'spec/serializers/personal_access_token_serializer_spec.rb' + - 'spec/serializers/pipeline_details_entity_spec.rb' + - 'spec/serializers/pipeline_serializer_spec.rb' + - 'spec/serializers/project_access_token_entity_spec.rb' + - 'spec/serializers/project_access_token_serializer_spec.rb' + - 'spec/serializers/project_import_entity_spec.rb' + - 'spec/serializers/project_mirror_entity_spec.rb' + - 'spec/serializers/project_note_entity_spec.rb' + - 'spec/serializers/project_serializer_spec.rb' + - 'spec/serializers/prometheus_alert_entity_spec.rb' + - 'spec/serializers/release_serializer_spec.rb' + - 'spec/serializers/remote_mirror_entity_spec.rb' + - 'spec/serializers/review_app_setup_entity_spec.rb' + - 'spec/serializers/runner_entity_spec.rb' + - 'spec/serializers/serverless/domain_entity_spec.rb' + - 'spec/serializers/stage_entity_spec.rb' + - 'spec/serializers/stage_serializer_spec.rb' + - 'spec/serializers/suggestion_entity_spec.rb' + - 'spec/serializers/test_case_entity_spec.rb' + - 'spec/serializers/test_report_entity_spec.rb' + - 'spec/serializers/test_report_summary_entity_spec.rb' + - 'spec/serializers/test_suite_entity_spec.rb' + - 'spec/serializers/test_suite_summary_entity_spec.rb' + - 'spec/serializers/trigger_variable_entity_spec.rb' + - 'spec/serializers/user_entity_spec.rb' + - 'spec/serializers/user_serializer_spec.rb' + - 'spec/serializers/web_ide_terminal_entity_spec.rb' + - 'spec/serializers/web_ide_terminal_serializer_spec.rb' diff --git a/.rubocop_todo/rspec/file_path.yml b/.rubocop_todo/rspec/file_path.yml new file mode 100644 index 0000000000..3cf0e969c3 --- /dev/null +++ b/.rubocop_todo/rspec/file_path.yml @@ -0,0 +1,67 @@ +--- +RSpec/FilePath: + Details: grace period + Exclude: + - 'ee/spec/frontend/fixtures/analytics/charts.rb' + - 'ee/spec/frontend/fixtures/analytics/devops_reports/devops_adoption/enabled_namespaces.rb' + - 'ee/spec/frontend/fixtures/analytics/metrics.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_code_stage.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_issue_stage.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_plan_stage.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_review_stage.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_staging_stage.rb' + - 'ee/spec/frontend/fixtures/analytics/value_streams_test_stage.rb' + - 'ee/spec/frontend/fixtures/dora/metrics.rb' + - 'ee/spec/models/merge_request/blocking_spec.rb' + - 'ee/spec/requests/api/ci/runner/jobs_put_spec.rb' + - 'ee/spec/requests/api/ci/runner/jobs_trace_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/compliance_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/needs_spec.rb' + - 'ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb' + - 'spec/benchmarks/banzai_benchmark.rb' + - 'spec/docs_screenshots/container_registry_docs.rb' + - 'spec/docs_screenshots/wiki_docs.rb' + - 'spec/lib/error_tracking/sentry_client/event_spec.rb' + - 'spec/lib/gitlab/import_export/import_export_equivalence_spec.rb' + - 'spec/lib/gitlab/import_export/import_export_spec.rb' + - 'spec/lib/gitlab/mail_room/mail_room_spec.rb' + - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb' + - 'spec/requests/api/ci/runner/jobs_put_spec.rb' + - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb' + - 'spec/requests/api/ci/runner/jobs_trace_spec.rb' + - 'spec/requests/api/ci/runner/runners_delete_spec.rb' + - 'spec/requests/api/ci/runner/runners_post_spec.rb' + - 'spec/requests/api/ci/runner/runners_reset_spec.rb' + - 'spec/requests/api/ci/runner/runners_verify_post_spec.rb' + - 'spec/requests/api/issues/get_group_issues_spec.rb' + - 'spec/requests/api/issues/get_project_issues_spec.rb' + - 'spec/requests/api/issues/issues_spec.rb' + - 'spec/requests/api/issues/post_projects_issues_spec.rb' + - 'spec/requests/api/issues/put_projects_issues_spec.rb' + - 'spec/requests/api/pages/pages_spec.rb' + - 'spec/services/ci/create_pipeline_service/artifacts_spec.rb' + - 'spec/services/ci/create_pipeline_service/cache_spec.rb' + - 'spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb' + - 'spec/services/ci/create_pipeline_service/cross_project_pipeline_spec.rb' + - 'spec/services/ci/create_pipeline_service/custom_config_content_spec.rb' + - 'spec/services/ci/create_pipeline_service/custom_yaml_tags_spec.rb' + - 'spec/services/ci/create_pipeline_service/dry_run_spec.rb' + - 'spec/services/ci/create_pipeline_service/environment_spec.rb' + - 'spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb' + - 'spec/services/ci/create_pipeline_service/include_spec.rb' + - 'spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb' + - 'spec/services/ci/create_pipeline_service/logger_spec.rb' + - 'spec/services/ci/create_pipeline_service/merge_requests_spec.rb' + - 'spec/services/ci/create_pipeline_service/needs_spec.rb' + - 'spec/services/ci/create_pipeline_service/parallel_spec.rb' + - 'spec/services/ci/create_pipeline_service/parameter_content_spec.rb' + - 'spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb' + - 'spec/services/ci/create_pipeline_service/partitioning_spec.rb' + - 'spec/services/ci/create_pipeline_service/pre_post_stages_spec.rb' + - 'spec/services/ci/create_pipeline_service/rate_limit_spec.rb' + - 'spec/services/ci/create_pipeline_service/rules_spec.rb' + - 'spec/services/ci/create_pipeline_service/tags_spec.rb' diff --git a/.rubocop_todo/rspec/instance_variable.yml b/.rubocop_todo/rspec/instance_variable.yml index df62a8b0f8..2cc146a062 100644 --- a/.rubocop_todo/rspec/instance_variable.yml +++ b/.rubocop_todo/rspec/instance_variable.yml @@ -171,7 +171,6 @@ RSpec/InstanceVariable: - spec/requests/openid_connect_spec.rb - spec/requests/projects/issues/discussions_spec.rb - spec/rubocop/cop/migration/update_column_in_batches_spec.rb - - spec/serializers/pipeline_serializer_spec.rb - spec/services/ci/create_pipeline_service/logger_spec.rb - spec/services/ci/process_sync_events_service_spec.rb - spec/services/labels/update_service_spec.rb diff --git a/.rubocop_todo/rspec/let_before_examples.yml b/.rubocop_todo/rspec/let_before_examples.yml new file mode 100644 index 0000000000..f84df4bdb5 --- /dev/null +++ b/.rubocop_todo/rspec/let_before_examples.yml @@ -0,0 +1,17 @@ +--- +# Cop supports --auto-correct. +RSpec/LetBeforeExamples: + Exclude: + - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb' + - 'ee/spec/models/resource_weight_event_spec.rb' + - 'ee/spec/models/vulnerabilities/feedback_spec.rb' + - 'ee/spec/requests/api/internal/kubernetes_spec.rb' + - 'ee/spec/requests/api/scim_spec.rb' + - 'spec/graphql/types/ci/detailed_status_type_spec.rb' + - 'spec/graphql/types/merge_request_type_spec.rb' + - 'spec/graphql/types/snippets/blob_type_spec.rb' + - 'spec/models/ci/job_token/project_scope_link_spec.rb' + - 'spec/models/ci/runner_version_spec.rb' + - 'spec/models/group_deploy_key_spec.rb' + - 'spec/models/snippet_repository_spec.rb' + - 'spec/requests/api/issue_links_spec.rb' diff --git a/.rubocop_todo/rspec/multiple_memoized_helpers.yml b/.rubocop_todo/rspec/multiple_memoized_helpers.yml index 8330d76879..218ec3bb47 100644 --- a/.rubocop_todo/rspec/multiple_memoized_helpers.yml +++ b/.rubocop_todo/rspec/multiple_memoized_helpers.yml @@ -1,9 +1,39 @@ --- RSpec/MultipleMemoizedHelpers: + Details: grace period Exclude: - - spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb - - spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb - - spec/requests/api/ci/runner/jobs_artifacts_spec.rb - - ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb - - ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb - - ee/spec/services/ee/boards/issues/move_service_spec.rb + - 'ee/spec/features/boards/swimlanes/epics_swimlanes_filtering_spec.rb' + - 'ee/spec/finders/epics_finder_spec.rb' + - 'ee/spec/finders/incident_management/oncall_users_finder_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb' + - 'ee/spec/lib/gitlab/graphql/loaders/bulk_epic_aggregate_loader_spec.rb' + - 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb' + - 'ee/spec/services/ee/boards/issues/list_service_spec.rb' + - 'ee/spec/services/ee/boards/issues/move_service_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb' + - 'spec/features/boards/boards_spec.rb' + - 'spec/finders/ci/runners_finder_spec.rb' + - 'spec/finders/labels_finder_spec.rb' + - 'spec/finders/user_recent_events_finder_spec.rb' + - 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb' + - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' + - 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb' + - 'spec/models/event_spec.rb' + - 'spec/models/milestone_spec.rb' + - 'spec/models/packages/package_file_spec.rb' + - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb' + - 'spec/requests/api/issues/get_group_issues_spec.rb' + - 'spec/requests/api/issues/get_project_issues_spec.rb' + - 'spec/requests/api/issues/issues_spec.rb' + - 'spec/requests/api/issues/put_projects_issues_spec.rb' + - 'spec/requests/api/maven_packages_spec.rb' + - 'spec/services/boards/issues/list_service_spec.rb' + - 'spec/services/labels/promote_service_spec.rb' + - 'spec/services/merge_requests/push_options_handler_service_spec.rb' + - 'spec/services/packages/cleanup/execute_policy_service_spec.rb' + - 'spec/services/todo_service_spec.rb' + - 'spec/services/todos/allowed_target_filter_service_spec.rb' + - 'spec/services/todos/destroy/entity_leave_service_spec.rb' + - 'spec/support/shared_contexts/policies/project_policy_shared_context.rb' + - 'spec/support/shared_contexts/requests/api/debian_repository_shared_context.rb' diff --git a/.rubocop_todo/rspec/overwriting_setup.yml b/.rubocop_todo/rspec/overwriting_setup.yml new file mode 100644 index 0000000000..630f08eb72 --- /dev/null +++ b/.rubocop_todo/rspec/overwriting_setup.yml @@ -0,0 +1,17 @@ +--- +RSpec/OverwritingSetup: + Exclude: + - 'ee/spec/features/groups/analytics/ci_cd_analytics_spec.rb' + - 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb' + - 'ee/spec/models/ee/iteration_spec.rb' + - 'ee/spec/requests/api/namespaces_spec.rb' + - 'ee/spec/services/epics/descendant_count_service_spec.rb' + - 'spec/finders/packages/helm/packages_finder_spec.rb' + - 'spec/finders/packages/npm/package_finder_spec.rb' + - 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb' + - 'spec/models/packages/package_file_spec.rb' + - 'spec/models/todo_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/policies/ci/build_policy_spec.rb' + - 'spec/services/packages/nuget/search_service_spec.rb' + - 'spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb' diff --git a/.rubocop_todo/rspec/predicate_matcher.yml b/.rubocop_todo/rspec/predicate_matcher.yml index f3cfe93191..5847080dcd 100644 --- a/.rubocop_todo/rspec/predicate_matcher.yml +++ b/.rubocop_todo/rspec/predicate_matcher.yml @@ -99,8 +99,6 @@ RSpec/PredicateMatcher: - 'ee/spec/services/jira/requests/issues/list_service_spec.rb' - 'ee/spec/services/milestones/promote_service_spec.rb' - 'ee/spec/services/protected_environments/create_service_spec.rb' - - 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb' - - 'ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb' - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb' - 'ee/spec/services/vulnerability_exports/export_service_spec.rb' - 'ee/spec/support/shared_examples/graphql/mutations/dast_on_demand_scans_shared_examples.rb' @@ -414,7 +412,6 @@ RSpec/PredicateMatcher: - 'spec/requests/api/users_spec.rb' - 'spec/requests/git_http_spec.rb' - 'spec/requests/lfs_http_spec.rb' - - 'spec/serializers/pipeline_serializer_spec.rb' - 'spec/services/branches/create_service_spec.rb' - 'spec/services/ci/create_pipeline_service/needs_spec.rb' - 'spec/services/ci/create_pipeline_service/rate_limit_spec.rb' @@ -499,7 +496,6 @@ RSpec/PredicateMatcher: - 'spec/support/shared_examples/requests/api/hooks_shared_examples.rb' - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' - 'spec/support/shared_examples/workers/batched_background_migration_worker_shared_examples.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/cleanup_rake_spec.rb' - 'spec/uploaders/object_storage_spec.rb' - 'spec/validators/any_field_validator_spec.rb' diff --git a/.rubocop_todo/rspec/scattered_let.yml b/.rubocop_todo/rspec/scattered_let.yml index 93f373b0a9..61f1a09589 100644 --- a/.rubocop_todo/rspec/scattered_let.yml +++ b/.rubocop_todo/rspec/scattered_let.yml @@ -1,123 +1,144 @@ --- # Cop supports --auto-correct. RSpec/ScatteredLet: + Details: grace period Exclude: + - 'ee/spec/features/boards/user_visits_board_spec.rb' - 'ee/spec/features/groups/group_roadmap_spec.rb' - - 'ee/spec/features/merge_trains/two_merge_requests_on_train_spec.rb' + - 'ee/spec/features/milestones/user_views_milestone_spec.rb' + - 'ee/spec/finders/analytics/devops_adoption/enabled_namespaces_finder_spec.rb' + - 'ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb' + - 'ee/spec/finders/issues_finder_spec.rb' - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' - - 'ee/spec/finders/security/vulnerability_reads_finder_spec.rb' - - 'ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb' + - 'ee/spec/frontend/fixtures/runner.rb' + - 'ee/spec/graphql/ee/types/clusters/agent_type_spec.rb' - 'ee/spec/graphql/mutations/boards/epics/create_spec.rb' - - 'ee/spec/graphql/mutations/dast_site_profiles/create_spec.rb' - 'ee/spec/graphql/mutations/merge_requests/accept_spec.rb' - 'ee/spec/graphql/mutations/releases/update_spec.rb' + - 'ee/spec/graphql/resolvers/analytics/devops_adoption/enabled_namespaces_resolver_spec.rb' + - 'ee/spec/graphql/resolvers/clusters/agents_resolver_spec.rb' - 'ee/spec/graphql/resolvers/security_orchestration/scan_execution_policy_resolver_spec.rb' + - 'ee/spec/graphql/types/asset_type_spec.rb' - 'ee/spec/graphql/types/boards/board_epic_type_spec.rb' - 'ee/spec/graphql/types/instance_security_dashboard_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_evidence_source_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_evidence_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_request_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_response_type_spec.rb' + - 'ee/spec/helpers/ee/integrations_helper_spec.rb' - 'ee/spec/helpers/ee/subscribable_banner_helper_spec.rb' - - 'ee/spec/helpers/trial_status_widget_helper_spec.rb' + - 'ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb' + - 'ee/spec/lib/ee/api/helpers/members_helpers_spec.rb' - 'ee/spec/lib/ee/audit/compliance_framework_changes_auditor_spec.rb' - - 'ee/spec/lib/ee/gitlab/ci/config_spec.rb' - - 'ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb' + - 'ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb' - 'ee/spec/lib/gitlab/background_migration/migrate_requirements_to_work_items_spec.rb' - 'ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb' - - 'ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb' - - 'ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/code_owners/loader_spec.rb' - 'ee/spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb' - 'ee/spec/lib/gitlab/elastic/bulk_indexer_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb' - - 'ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb' - 'ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb' - 'ee/spec/lib/gitlab/git_access_spec.rb' - - 'ee/spec/lib/gitlab/graphql/aggregations/security_orchestration_policies/lazy_dast_profile_aggregate_spec.rb' - - 'ee/spec/lib/gitlab/graphql/aggregations/vulnerability_statistics/lazy_aggregate_spec.rb' - 'ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb' - 'ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb' - 'ee/spec/lib/gitlab/usage_data_metrics_spec.rb' - - 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb' - 'ee/spec/models/approval_wrapped_any_approver_rule_spec.rb' - - 'ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb' - - 'ee/spec/models/ci/minutes/notification_spec.rb' - - 'ee/spec/models/ci/pipeline_spec.rb' + - 'ee/spec/models/dast_site_validation_spec.rb' - 'ee/spec/models/ee/ci/build_dependencies_spec.rb' - - 'ee/spec/models/label_note_spec.rb' - - 'ee/spec/models/sca/license_compliance_spec.rb' - - 'ee/spec/policies/merge_request_policy_spec.rb' + - 'ee/spec/models/ee/iteration_spec.rb' + - 'ee/spec/models/ee/user_spec.rb' + - 'ee/spec/models/epic_spec.rb' + - 'ee/spec/models/preloaders/environments/protected_environment_preloader_spec.rb' + - 'ee/spec/models/vulnerabilities/historical_statistic_spec.rb' + - 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb' - 'ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb' - 'ee/spec/requests/api/graphql/group/ci_cd_settings_spec.rb' - 'ee/spec/requests/api/graphql/group/epic/notes_spec.rb' - - 'ee/spec/requests/api/graphql/group_query_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb' + - 'ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb' - 'ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb' - - 'ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/security/finding/create_issue_spec.rb' - 'ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb' + - 'ee/spec/requests/api/graphql/project/environments_spec.rb' - 'ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb' + - 'ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb' + - 'ee/spec/requests/api/graphql/project/pipeline/security_report_summary_spec.rb' - 'ee/spec/requests/api/graphql/project/pipelines/dast_profile_spec.rb' - - 'ee/spec/requests/api/internal/base_spec.rb' - - 'ee/spec/requests/api/projects_spec.rb' + - 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb' + - 'ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb' + - 'ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb' + - 'ee/spec/requests/api/group_boards_spec.rb' + - 'ee/spec/requests/api/project_push_rule_spec.rb' - 'ee/spec/requests/api/settings_spec.rb' - 'ee/spec/requests/api/vulnerability_findings_spec.rb' - - 'ee/spec/requests/git_http_geo_spec.rb' - - 'ee/spec/serializers/license_compliance/collapsed_comparer_entity_spec.rb' - - 'ee/spec/serializers/status_page/incident_serializer_spec.rb' + - 'ee/spec/services/analytics/devops_adoption/snapshots/calculate_and_save_service_spec.rb' - 'ee/spec/services/app_sec/dast/scan_configs/fetch_service_spec.rb' - - 'ee/spec/services/app_sec/dast/scanner_profiles/update_service_spec.rb' - 'ee/spec/services/arkose/blocked_users_report_service_spec.rb' - - 'ee/spec/services/arkose/user_verification_service_spec.rb' - 'ee/spec/services/audit_event_service_spec.rb' - - 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb' + - 'ee/spec/services/boards/epics/move_service_spec.rb' + - 'ee/spec/services/compliance_management/frameworks/create_service_spec.rb' + - 'ee/spec/services/compliance_management/frameworks/update_service_spec.rb' + - 'ee/spec/services/concerns/epics/related_epic_links/usage_data_helper_spec.rb' - 'ee/spec/services/ee/issue_links/create_service_spec.rb' + - 'ee/spec/services/ee/issues/create_service_spec.rb' + - 'ee/spec/services/ee/merge_requests/base_service_spec.rb' + - 'ee/spec/services/ee/merge_requests/update_assignees_service_spec.rb' + - 'ee/spec/services/ee/merge_requests/update_reviewers_service_spec.rb' - 'ee/spec/services/epic_issues/create_service_spec.rb' - 'ee/spec/services/epics/issue_promote_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/activate_service_spec.rb' + - 'ee/spec/services/geo/metrics_update_service_spec.rb' - 'ee/spec/services/group_saml/saml_provider/create_service_spec.rb' - 'ee/spec/services/group_saml/saml_provider/update_service_spec.rb' - 'ee/spec/services/groups/memberships/export_service_spec.rb' - 'ee/spec/services/incident_management/escalation_policies/create_service_spec.rb' - 'ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb' - - 'ee/spec/services/merge_request_approval_settings/update_service_spec.rb' - - 'ee/spec/services/merge_trains/refresh_service_spec.rb' - - 'ee/spec/services/projects/destroy_service_spec.rb' - - 'ee/spec/services/projects/prometheus/alerts/notify_service_spec.rb' - - 'ee/spec/services/quality_management/test_cases/create_service_spec.rb' - - 'ee/spec/services/quick_actions/interpret_service_spec.rb' - - 'ee/spec/services/requirements_management/update_requirement_service_spec.rb' - - 'ee/spec/services/search/group_service_spec.rb' - - 'ee/spec/services/search/project_service_spec.rb' - - 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb' - - 'ee/spec/services/todo_service_spec.rb' - - 'ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb' + - 'ee/spec/services/members/activate_service_spec.rb' + - 'ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb' + - 'ee/spec/services/sbom/ingestion/occurrence_map_spec.rb' + - 'ee/spec/services/security/report_summary_service_spec.rb' + - 'ee/spec/services/vulnerabilities/security_finding/create_issue_service_spec.rb' - 'ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb' - - 'ee/spec/workers/compliance_management/merge_requests/compliance_violations_worker_spec.rb' - 'ee/spec/workers/concerns/update_orchestration_policy_configuration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_1_spec.rb' - - 'spec/controllers/projects/artifacts_controller_spec.rb' + - 'spec/controllers/concerns/metrics_dashboard_spec.rb' + - 'spec/controllers/import/bitbucket_server_controller_spec.rb' - 'spec/controllers/projects/deploy_keys_controller_spec.rb' - 'spec/controllers/projects/environments_controller_spec.rb' - 'spec/controllers/projects/issues_controller_spec.rb' - - 'spec/controllers/projects/releases/evidences_controller_spec.rb' - - 'spec/controllers/projects/releases_controller_spec.rb' - - 'spec/finders/ci/daily_build_group_report_results_finder_spec.rb' + - 'spec/controllers/projects/jobs_controller_spec.rb' + - 'spec/features/boards/user_visits_board_spec.rb' + - 'spec/features/groups/dependency_proxy_for_containers_spec.rb' + - 'spec/features/issues/user_filters_issues_spec.rb' - 'spec/finders/concerns/finder_with_cross_project_access_spec.rb' - - 'spec/finders/concerns/finder_with_group_hierarchy_spec.rb' - - 'spec/finders/events_finder_spec.rb' - 'spec/finders/group_projects_finder_spec.rb' + - 'spec/finders/groups/user_groups_finder_spec.rb' - 'spec/finders/license_template_finder_spec.rb' - - 'spec/frontend/fixtures/pipelines.rb' - - 'spec/graphql/resolvers/commit_pipelines_resolver_spec.rb' + - 'spec/finders/projects/groups_finder_spec.rb' + - 'spec/frontend/fixtures/jobs.rb' + - 'spec/graphql/resolvers/clusters/agents_resolver_spec.rb' + - 'spec/graphql/resolvers/concerns/looks_ahead_spec.rb' + - 'spec/graphql/resolvers/concerns/resolves_project_spec.rb' - 'spec/graphql/resolvers/design_management/version_in_collection_resolver_spec.rb' - - 'spec/graphql/resolvers/design_management/versions_resolver_spec.rb' + - 'spec/graphql/resolvers/group_milestones_resolver_spec.rb' + - 'spec/graphql/resolvers/users/groups_resolver_spec.rb' + - 'spec/graphql/types/base_object_spec.rb' - 'spec/graphql/types/ci/job_token_scope_type_spec.rb' + - 'spec/graphql/types/environment_type_spec.rb' + - 'spec/graphql/types/merge_request_type_spec.rb' + - 'spec/graphql/types/project_type_spec.rb' + - 'spec/graphql/types/terraform/state_version_type_spec.rb' + - 'spec/graphql/types/user_type_spec.rb' + - 'spec/helpers/blob_helper_spec.rb' - 'spec/helpers/merge_requests_helper_spec.rb' + - 'spec/lib/atlassian/jira_connect/jwt/asymmetric_spec.rb' - 'spec/lib/banzai/filter/references/project_reference_filter_spec.rb' - 'spec/lib/banzai/filter/references/user_reference_filter_spec.rb' - - 'spec/lib/banzai/filter/upload_link_filter_spec.rb' - 'spec/lib/banzai/reference_parser/alert_parser_spec.rb' - 'spec/lib/banzai/reference_parser/commit_parser_spec.rb' - 'spec/lib/banzai/reference_parser/commit_range_parser_spec.rb' + - 'spec/lib/banzai/reference_parser/design_parser_spec.rb' - 'spec/lib/banzai/reference_parser/external_issue_parser_spec.rb' - 'spec/lib/banzai/reference_parser/label_parser_spec.rb' - 'spec/lib/banzai/reference_parser/merge_request_parser_spec.rb' @@ -125,32 +146,29 @@ RSpec/ScatteredLet: - 'spec/lib/banzai/reference_parser/project_parser_spec.rb' - 'spec/lib/banzai/reference_parser/snippet_parser_spec.rb' - 'spec/lib/banzai/reference_parser/user_parser_spec.rb' + - 'spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb' - 'spec/lib/bulk_imports/pipeline/runner_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/snippets_repository_pipeline_spec.rb' - 'spec/lib/gitlab/asciidoc/include_processor_spec.rb' - 'spec/lib/gitlab/auth/ldap/person_spec.rb' - 'spec/lib/gitlab/auth/saml/auth_hash_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_imported_issue_search_data_spec.rb' - - 'spec/lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans_spec.rb' - 'spec/lib/gitlab/background_migration/disable_legacy_open_source_license_for_inactive_public_projects_spec.rb' - 'spec/lib/gitlab/background_migration/encrypt_static_object_token_spec.rb' - 'spec/lib/gitlab/background_migration/legacy_uploads_migrator_spec.rb' - 'spec/lib/gitlab/background_migration/nullify_orphan_runner_id_on_ci_builds_spec.rb' - 'spec/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports_spec.rb' - - 'spec/lib/gitlab/background_migration/set_legacy_open_source_license_available_for_non_public_projects_spec.rb' - 'spec/lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url_spec.rb' + - 'spec/lib/gitlab/checks/matching_merge_request_spec.rb' - 'spec/lib/gitlab/ci/config/external/file/artifact_spec.rb' + - 'spec/lib/gitlab/ci/config_spec.rb' - 'spec/lib/gitlab/ci/pipeline/chain/helpers_spec.rb' - - 'spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb' - 'spec/lib/gitlab/ci/status/stage/factory_spec.rb' - - 'spec/lib/gitlab/ci/variables/builder/group_spec.rb' - - 'spec/lib/gitlab/ci/variables/builder/project_spec.rb' - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - 'spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb' - - 'spec/lib/gitlab/database/background_migration/batched_migration_wrapper_spec.rb' + - 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb' - 'spec/lib/gitlab/database/migrations/test_batched_background_runner_spec.rb' - 'spec/lib/gitlab/database/partitioning/partition_manager_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - 'spec/lib/gitlab/database/postgresql_adapter/empty_query_ping_spec.rb' - 'spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb' - 'spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb' @@ -160,41 +178,43 @@ RSpec/ScatteredLet: - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' - 'spec/lib/gitlab/diff/suggestion_diff_spec.rb' - 'spec/lib/gitlab/diff/suggestion_spec.rb' - - 'spec/lib/gitlab/email/handler/service_desk_handler_spec.rb' - 'spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb' - - 'spec/lib/gitlab/error_tracking_spec.rb' - 'spec/lib/gitlab/git/blame_spec.rb' - 'spec/lib/gitlab/git/diff_collection_spec.rb' - 'spec/lib/gitlab/git_access_spec.rb' - 'spec/lib/gitlab/github_import/importer/single_endpoint_issue_events_importer_spec.rb' - - 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb' - 'spec/lib/gitlab/import_export/group/relation_tree_restorer_spec.rb' - - 'spec/lib/gitlab/import_export/project/export_task_spec.rb' + - 'spec/lib/gitlab/import_export/project/relation_tree_restorer_spec.rb' + - 'spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb' - 'spec/lib/gitlab/jira_import/issue_serializer_spec.rb' - 'spec/lib/gitlab/lets_encrypt/client_spec.rb' - 'spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb' - 'spec/lib/gitlab/metrics/subscribers/external_http_spec.rb' - 'spec/lib/gitlab/middleware/memory_report_spec.rb' - - 'spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb' - 'spec/lib/gitlab/pagination/keyset/page_spec.rb' - 'spec/lib/gitlab/pagination/offset_pagination_spec.rb' - 'spec/lib/gitlab/patch/database_config_spec.rb' - 'spec/lib/gitlab/path_regex_spec.rb' - 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb' + - 'spec/lib/gitlab/redis/multi_store_spec.rb' + - 'spec/lib/gitlab/relative_positioning/item_context_spec.rb' + - 'spec/lib/gitlab/relative_positioning/mover_spec.rb' - 'spec/lib/gitlab/serializer/pagination_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb' - 'spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb' - - 'spec/lib/gitlab/spamcheck/client_spec.rb' - 'spec/lib/gitlab/template/finders/global_template_finder_spec.rb' - 'spec/lib/gitlab/tree_summary_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb' - 'spec/lib/gitlab/usage_data_metrics_spec.rb' + - 'spec/lib/gitlab/usage_data_spec.rb' - 'spec/lib/gitlab/utils/measuring_spec.rb' - 'spec/lib/gitlab/zentao/client_spec.rb' - 'spec/lib/peek/views/external_http_spec.rb' - 'spec/mailers/emails/in_product_marketing_spec.rb' - - 'spec/migrations/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url_spec.rb' + - 'spec/mailers/notify_spec.rb' + - 'spec/mailers/previews_spec.rb' - 'spec/migrations/20220329175119_remove_leftover_ci_job_artifact_deletions_spec.rb' - - 'spec/models/application_record_spec.rb' + - 'spec/models/ci/bridge_spec.rb' - 'spec/models/ci/build_dependencies_spec.rb' - 'spec/models/ci/pipeline_spec.rb' - 'spec/models/concerns/issuable_spec.rb' @@ -203,68 +223,61 @@ RSpec/ScatteredLet: - 'spec/models/deploy_keys_project_spec.rb' - 'spec/models/design_management/design_at_version_spec.rb' - 'spec/models/diff_note_spec.rb' - - 'spec/models/environment_spec.rb' - 'spec/models/integration_spec.rb' - - 'spec/models/merge_request_diff_spec.rb' - 'spec/models/merge_request_spec.rb' - - 'spec/models/milestone_spec.rb' - 'spec/models/push_event_spec.rb' + - 'spec/models/snippet_repository_spec.rb' - 'spec/models/ssh_host_key_spec.rb' - 'spec/models/user_spec.rb' - 'spec/models/users/credit_card_validation_spec.rb' - 'spec/models/wiki_page_spec.rb' - - 'spec/policies/ci/build_policy_spec.rb' - - 'spec/policies/design_management/design_policy_spec.rb' - 'spec/policies/group_member_policy_spec.rb' - 'spec/requests/admin/background_migrations_controller_spec.rb' + - 'spec/requests/api/ci/jobs_spec.rb' - 'spec/requests/api/ci/pipeline_schedules_spec.rb' - - 'spec/requests/api/ci/pipelines_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb' - - 'spec/requests/api/graphql/ci/groups_spec.rb' - - 'spec/requests/api/graphql/ci/pipelines_spec.rb' + - 'spec/requests/api/graphql/ci/runners_spec.rb' + - 'spec/requests/api/graphql/group/work_item_types_spec.rb' + - 'spec/requests/api/graphql/milestone_spec.rb' - 'spec/requests/api/graphql/mutations/boards/create_spec.rb' + - 'spec/requests/api/graphql/mutations/work_items/delete_task_spec.rb' - 'spec/requests/api/graphql/namespace/projects_spec.rb' + - 'spec/requests/api/graphql/project/deployment_spec.rb' + - 'spec/requests/api/graphql/project/environments_spec.rb' - 'spec/requests/api/graphql/project/issue/design_collection/version_spec.rb' - 'spec/requests/api/graphql/project/issue/design_collection/versions_spec.rb' - 'spec/requests/api/graphql/project/issue_spec.rb' + - 'spec/requests/api/graphql/project/jira_projects_spec.rb' + - 'spec/requests/api/graphql/project/merge_request/diff_notes_spec.rb' - 'spec/requests/api/graphql/project/milestones_spec.rb' - - 'spec/requests/api/graphql/project/pipeline_spec.rb' - - 'spec/requests/api/graphql/project/release_spec.rb' - - 'spec/requests/api/graphql/user/starred_projects_query_spec.rb' + - 'spec/requests/api/graphql/project/work_item_types_spec.rb' + - 'spec/requests/api/graphql/todo_query_spec.rb' + - 'spec/requests/api/group_boards_spec.rb' - 'spec/requests/api/issues/get_group_issues_spec.rb' - - 'spec/requests/api/issues/get_project_issues_spec.rb' - - 'spec/requests/api/issues/post_projects_issues_spec.rb' - - 'spec/requests/api/issues/put_projects_issues_spec.rb' - 'spec/requests/api/merge_requests_spec.rb' - 'spec/requests/api/notes_spec.rb' - 'spec/requests/api/project_clusters_spec.rb' - - 'spec/requests/api/project_export_spec.rb' - - 'spec/requests/api/rubygem_packages_spec.rb' - 'spec/requests/jira_routing_spec.rb' - - 'spec/requests/projects/releases_controller_spec.rb' - 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb' - 'spec/scripts/pipeline_test_report_builder_spec.rb' - 'spec/serializers/build_details_entity_spec.rb' - 'spec/serializers/ci/job_entity_spec.rb' - 'spec/serializers/merge_requests/pipeline_entity_spec.rb' - - 'spec/services/ci/change_variable_service_spec.rb' - - 'spec/services/ci/change_variables_service_spec.rb' - 'spec/services/ci/create_downstream_pipeline_service_spec.rb' + - 'spec/services/ci/create_pipeline_service/include_spec.rb' - 'spec/services/ci/create_pipeline_service/logger_spec.rb' + - 'spec/services/ci/create_pipeline_service/rules_spec.rb' - 'spec/services/ci/create_pipeline_service_spec.rb' - 'spec/services/ci/destroy_pipeline_service_spec.rb' - - 'spec/services/ci/find_exposed_artifacts_service_spec.rb' - - 'spec/services/ci/pipeline_bridge_status_service_spec.rb' - - 'spec/services/commits/cherry_pick_service_spec.rb' - 'spec/services/design_management/delete_designs_service_spec.rb' - 'spec/services/design_management/save_designs_service_spec.rb' - 'spec/services/discussions/capture_diff_note_positions_service_spec.rb' - 'spec/services/events/destroy_service_spec.rb' - 'spec/services/git/base_hooks_service_spec.rb' - - 'spec/services/groups/group_links/update_service_spec.rb' - - 'spec/services/jira_import/cloud_users_mapper_service_spec.rb' - - 'spec/services/jira_import/server_users_mapper_service_spec.rb' - - 'spec/services/lfs/push_service_spec.rb' + - 'spec/services/issues/create_service_spec.rb' + - 'spec/services/merge_requests/mergeability/logger_spec.rb' + - 'spec/services/merge_requests/update_assignees_service_spec.rb' + - 'spec/services/merge_requests/update_reviewers_service_spec.rb' - 'spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb' - 'spec/services/metrics/dashboard/dynamic_embed_service_spec.rb' - 'spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb' @@ -272,19 +285,18 @@ RSpec/ScatteredLet: - 'spec/services/notification_service_spec.rb' - 'spec/services/packages/composer/create_package_service_spec.rb' - 'spec/services/packages/conan/create_package_file_service_spec.rb' + - 'spec/services/packages/debian/create_distribution_service_spec.rb' - 'spec/services/packages/debian/create_package_file_service_spec.rb' - 'spec/services/packages/debian/generate_distribution_key_service_spec.rb' - 'spec/services/packages/debian/update_distribution_service_spec.rb' - 'spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb' - 'spec/services/snippets/create_service_spec.rb' - - 'spec/services/spam/spam_verdict_service_spec.rb' - 'spec/services/suggestions/create_service_spec.rb' - 'spec/services/system_notes/design_management_service_spec.rb' - 'spec/services/system_notes/merge_requests_service_spec.rb' + - 'spec/services/system_notes/time_tracking_service_spec.rb' - 'spec/services/todo_service_spec.rb' - - 'spec/services/web_hook_service_spec.rb' - - 'spec/services/work_items/update_service_spec.rb' - 'spec/support/shared_examples/graphql/sorted_paginated_query_shared_examples.rb' - 'spec/tasks/gitlab/artifacts/migrate_rake_spec.rb' - - 'spec/workers/concerns/gitlab/github_import/object_importer_spec.rb' + - 'spec/workers/environments/auto_stop_worker_spec.rb' - 'spec/workers/packages/debian/generate_distribution_worker_spec.rb' diff --git a/.rubocop_todo/rspec/variable_definition.yml b/.rubocop_todo/rspec/variable_definition.yml new file mode 100644 index 0000000000..797fa763ba --- /dev/null +++ b/.rubocop_todo/rspec/variable_definition.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +RSpec/VariableDefinition: + Exclude: + - 'spec/lib/gitlab/usage_data_spec.rb' + - 'spec/presenters/packages/npm/package_presenter_spec.rb' diff --git a/.rubocop_todo/rspec/variable_name.yml b/.rubocop_todo/rspec/variable_name.yml new file mode 100644 index 0000000000..8858fbd9eb --- /dev/null +++ b/.rubocop_todo/rspec/variable_name.yml @@ -0,0 +1,4 @@ +--- +RSpec/VariableName: + Exclude: + - 'spec/models/user_spec.rb' diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml index a225dbf21a..c9f405a828 100644 --- a/.rubocop_todo/rspec/verified_doubles.yml +++ b/.rubocop_todo/rspec/verified_doubles.yml @@ -67,7 +67,6 @@ RSpec/VerifiedDoubles: - ee/spec/lib/gitlab/authority_analyzer_spec.rb - ee/spec/lib/gitlab/cache_spec.rb - ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb - - ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb - ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb - ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb - ee/spec/lib/gitlab/code_owners/users_loader_spec.rb diff --git a/.rubocop_todo/style/accessor_grouping.yml b/.rubocop_todo/style/accessor_grouping.yml index 821e339830..a2ba217dbc 100644 --- a/.rubocop_todo/style/accessor_grouping.yml +++ b/.rubocop_todo/style/accessor_grouping.yml @@ -1,9 +1,7 @@ --- # Cop supports --auto-correct. Style/AccessorGrouping: - # Offense count: 254 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/finders/template_finder.rb' - 'app/models/commit.rb' @@ -23,7 +21,6 @@ Style/AccessorGrouping: - 'app/models/project.rb' - 'app/services/deployments/update_environment_service.rb' - 'app/services/issues/clone_service.rb' - - 'app/services/merge_requests/bulk_remove_attention_requested_service.rb' - 'app/services/note_summary.rb' - 'app/services/notification_recipients/builder/default.rb' - 'app/services/task_list_toggle_service.rb' @@ -38,6 +35,7 @@ Style/AccessorGrouping: - 'ee/lib/gitlab/ci/reports/security/locations/dast.rb' - 'ee/lib/gitlab/ci/reports/security/locations/dependency_scanning.rb' - 'lib/feature/definition.rb' + - 'lib/gitlab/audit/type/definition.rb' - 'lib/gitlab/bitbucket_server_import/importer.rb' - 'lib/gitlab/ci/config/external/context.rb' - 'lib/gitlab/ci/reports/security/finding.rb' @@ -65,7 +63,6 @@ Style/AccessorGrouping: - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' - 'lib/gitlab/suggestions/file_suggestion.rb' - 'lib/gitlab/tracking/event_definition.rb' - - 'lib/gitlab/tree_summary.rb' - 'lib/gitlab/usage/metric_definition.rb' - 'lib/gitlab/usage/metrics/instrumentations/base_metric.rb' - 'lib/gitlab/usage/service_ping/instrumented_payload.rb' diff --git a/.rubocop_todo/style/case_like_if.yml b/.rubocop_todo/style/case_like_if.yml index 119ca3d800..61f2e6bc23 100644 --- a/.rubocop_todo/style/case_like_if.yml +++ b/.rubocop_todo/style/case_like_if.yml @@ -1,9 +1,7 @@ --- # Cop supports --auto-correct. Style/CaseLikeIf: - # Offense count: 60 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/controllers/concerns/issuable_actions.rb' - 'app/controllers/groups/dependency_proxy/application_controller.rb' @@ -13,6 +11,7 @@ Style/CaseLikeIf: - 'app/helpers/broadcast_messages_helper.rb' - 'app/helpers/issues_helper.rb' - 'app/helpers/routing/pseudonymization_helper.rb' + - 'app/helpers/todos_helper.rb' - 'app/models/integrations/jira.rb' - 'app/models/members/member_task.rb' - 'app/models/namespace.rb' @@ -21,8 +20,11 @@ Style/CaseLikeIf: - 'app/services/google_cloud/generate_pipeline_service.rb' - 'app/services/issuable/bulk_update_service.rb' - 'app/services/todo_service.rb' + - 'app/services/user_project_access_changed_service.rb' - 'ee/app/controllers/concerns/credentials_inventory_actions.rb' - 'ee/app/finders/ee/notes_finder.rb' + - 'ee/app/finders/security/scan_execution_policies_finder.rb' + - 'ee/app/finders/security/training_providers/secure_code_warrior_url_finder.rb' - 'ee/app/helpers/ee/branches_helper.rb' - 'ee/app/services/epics/tree_reorder_service.rb' - 'ee/app/services/merge_request_approval_settings/update_service.rb' @@ -43,18 +45,18 @@ Style/CaseLikeIf: - 'lib/gitlab/utils/strong_memoize.rb' - 'qa/qa/git/repository.rb' - 'qa/qa/scenario/bootable.rb' - - 'rubocop/cop/gitlab/keys_first_and_values_first.rb' - 'spec/features/boards/user_adds_lists_to_board_spec.rb' - 'spec/lib/gitlab/auth/auth_finders_spec.rb' - 'spec/lib/gitlab/database/load_balancing_spec.rb' - 'spec/lib/omni_auth/strategies/jwt_spec.rb' - 'spec/models/concerns/sha_attribute_spec.rb' - 'spec/models/preloaders/labels_preloader_spec.rb' + - 'spec/requests/api/personal_access_tokens_spec.rb' - 'spec/requests/api/rubygem_packages_spec.rb' - 'spec/requests/api/terraform/modules/v1/packages_spec.rb' + - 'spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb' - 'spec/services/resource_events/change_state_service_spec.rb' - 'spec/support/helpers/filter_spec_helper.rb' - - 'spec/support/matchers/abort_matcher.rb' - 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb' - 'spec/support/shared_examples/requests/api/notes_shared_examples.rb' - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index 2674902c7e..bff827ba5d 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -521,6 +521,7 @@ Style/ClassAndModuleChildren: - 'ee/db/fixtures/development/21_dast_profiles.rb' - 'ee/db/fixtures/development/30_customizable_cycle_analytics.rb' - 'ee/db/fixtures/development/32_compliance_report_violations.rb' + - 'ee/db/fixtures/development/35_merge_request_predictions.rb' - 'ee/db/fixtures/development/90_productivity_analytics.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/aggregated/base_query_builder.rb' - 'ee/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder.rb' diff --git a/.rubocop_todo/style/conditional_assignment.yml b/.rubocop_todo/style/conditional_assignment.yml new file mode 100644 index 0000000000..c9bbaaeb17 --- /dev/null +++ b/.rubocop_todo/style/conditional_assignment.yml @@ -0,0 +1,5 @@ +--- +# Cop supports --auto-correct. +Style/ConditionalAssignment: + Exclude: + - 'app/helpers/icons_helper.rb' diff --git a/.rubocop_todo/style/each_for_simple_loop.yml b/.rubocop_todo/style/each_for_simple_loop.yml new file mode 100644 index 0000000000..5d495f890d --- /dev/null +++ b/.rubocop_todo/style/each_for_simple_loop.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +Style/EachForSimpleLoop: + Exclude: + - 'ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb' + - 'spec/services/members/invitation_reminder_email_service_spec.rb' diff --git a/.rubocop_todo/style/empty_method.yml b/.rubocop_todo/style/empty_method.yml index 3e6a1efec7..7fbec98ead 100644 --- a/.rubocop_todo/style/empty_method.yml +++ b/.rubocop_todo/style/empty_method.yml @@ -1,16 +1,12 @@ --- # Cop supports --auto-correct. Style/EmptyMethod: - # Offense count: 240 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/controllers/admin/application_settings/appearances_controller.rb' - 'app/controllers/admin/applications_controller.rb' - 'app/controllers/admin/broadcast_messages_controller.rb' - 'app/controllers/admin/deploy_keys_controller.rb' - - 'app/controllers/admin/hook_logs_controller.rb' - - 'app/controllers/admin/hooks_controller.rb' - 'app/controllers/admin/identities_controller.rb' - 'app/controllers/admin/labels_controller.rb' - 'app/controllers/admin/runners_controller.rb' @@ -35,13 +31,11 @@ Style/EmptyMethod: - 'app/controllers/projects/alert_management_controller.rb' - 'app/controllers/projects/ci/lints_controller.rb' - 'app/controllers/projects/ci/pipeline_editor_controller.rb' - - 'app/controllers/projects/ci/secure_files_controller.rb' - 'app/controllers/projects/confluences_controller.rb' - 'app/controllers/projects/deploy_keys_controller.rb' - 'app/controllers/projects/environments_controller.rb' - 'app/controllers/projects/feature_flags_controller.rb' - 'app/controllers/projects/feature_flags_user_lists_controller.rb' - - 'app/controllers/projects/hook_logs_controller.rb' - 'app/controllers/projects/import/jira_controller.rb' - 'app/controllers/projects/imports_controller.rb' - 'app/controllers/projects/incidents_controller.rb' @@ -55,30 +49,32 @@ Style/EmptyMethod: - 'app/controllers/projects/runners_controller.rb' - 'app/controllers/projects/settings/integrations_controller.rb' - 'app/controllers/projects/settings/packages_and_registries_controller.rb' - - 'app/controllers/projects/tags/releases_controller.rb' - 'app/controllers/projects/terraform_controller.rb' - 'app/controllers/projects/triggers_controller.rb' + - 'app/controllers/pwa_controller.rb' - 'app/controllers/registrations/welcome_controller.rb' - 'app/controllers/search_controller.rb' + - 'app/experiments/security_actions_continuous_onboarding_experiment.rb' - 'app/graphql/resolvers/concerns/caching_array_resolver.rb' - 'app/helpers/subscribable_banner_helper.rb' - 'app/helpers/users/callouts_helper.rb' - 'app/models/ci/bridge.rb' + - 'app/models/ci/job_artifact.rb' - 'app/models/concerns/cross_database_modification.rb' - 'app/models/concerns/reactive_caching.rb' - 'app/models/concerns/relative_positioning.rb' - 'app/models/hooks/web_hook.rb' - 'app/models/integrations/hangouts_chat.rb' - 'app/models/integrations/microsoft_teams.rb' + - 'app/models/integrations/pumble.rb' - 'app/models/integrations/unify_circuit.rb' - 'app/models/integrations/webex_teams.rb' - 'app/models/wiki.rb' - 'app/services/auto_merge/base_service.rb' - 'app/services/award_emojis/destroy_service.rb' + - 'app/services/groups/transfer_service.rb' - 'app/services/issuable_base_service.rb' - - 'app/services/issues/reopen_service.rb' - 'app/services/projects/transfer_service.rb' - - 'app/workers/authorized_projects_worker.rb' - 'app/workers/namespaces/root_statistics_worker.rb' - 'db/migrate/20210420012444_change_web_hook_events_default.rb' - 'db/migrate/20210507191949_add_remove_on_issue_close_to_labels.rb' @@ -92,6 +88,7 @@ Style/EmptyMethod: - 'db/post_migrate/20220324032250_migrate_shimo_confluence_service_category.rb' - 'db/post_migrate/20220412143552_consume_remaining_encrypt_integration_property_jobs.rb' - 'db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb' + - 'db/post_migrate/20220524074947_finalize_backfill_null_note_discussion_ids.rb' - 'ee/app/controllers/admin/emails_controller.rb' - 'ee/app/controllers/admin/geo/designs_controller.rb' - 'ee/app/controllers/admin/geo/settings_controller.rb' @@ -101,9 +98,8 @@ Style/EmptyMethod: - 'ee/app/controllers/groups/analytics/devops_adoption_controller.rb' - 'ee/app/controllers/groups/compliance_frameworks_controller.rb' - 'ee/app/controllers/groups/feature_discovery_moments_controller.rb' - - 'ee/app/controllers/groups/hooks_controller.rb' - 'ee/app/controllers/groups/ldap_group_links_controller.rb' - - 'ee/app/controllers/groups/push_rules_controller.rb' + - 'ee/app/controllers/groups/settings/reporting_controller.rb' - 'ee/app/controllers/projects/analytics/code_reviews_controller.rb' - 'ee/app/controllers/projects/analytics/merge_request_analytics_controller.rb' - 'ee/app/controllers/projects/incident_management/escalation_policies_controller.rb' @@ -122,8 +118,10 @@ Style/EmptyMethod: - 'ee/app/controllers/subscriptions/groups_controller.rb' - 'ee/app/controllers/trial_registrations_controller.rb' - 'ee/app/controllers/trials_controller.rb' + - 'ee/app/controllers/users/identity_verification_controller.rb' - 'ee/app/experiments/cart_abandonment_modal_experiment.rb' - 'ee/app/models/ee/epic.rb' + - 'ee/app/models/geo/group_wiki_repository_registry.rb' - 'ee/app/services/feature_flag_issues/destroy_service.rb' - 'ee/db/geo/migrate/20170906174622_remove_duplicates_from_project_registry.rb' - 'lib/api/helpers/packages/conan/api_helpers.rb' @@ -135,6 +133,8 @@ Style/EmptyMethod: - 'lib/gitlab/alert_management/payload/base.rb' - 'lib/gitlab/background_migration/backfill_iteration_cadence_id_for_boards.rb' - 'lib/gitlab/background_migration/create_security_setting.rb' + - 'lib/gitlab/background_migration/delete_approval_rules_with_vulnerability.rb' + - 'lib/gitlab/background_migration/delete_invalid_epic_issues.rb' - 'lib/gitlab/background_migration/drop_invalid_remediations.rb' - 'lib/gitlab/background_migration/fix_incorrect_max_seats_used.rb' - 'lib/gitlab/background_migration/migrate_approver_to_approval_rules.rb' @@ -142,6 +142,7 @@ Style/EmptyMethod: - 'lib/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch.rb' - 'lib/gitlab/background_migration/migrate_job_artifact_registry_to_ssf.rb' - 'lib/gitlab/background_migration/migrate_requirements_to_work_items.rb' + - 'lib/gitlab/background_migration/migrate_shared_vulnerability_scanners.rb' - 'lib/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb' - 'lib/gitlab/background_migration/update_vulnerability_occurrences_location.rb' - 'lib/gitlab/ci/config/entry/need.rb' @@ -150,10 +151,10 @@ Style/EmptyMethod: - 'lib/gitlab/ci/pipeline/chain/validate/after_config.rb' - 'lib/gitlab/config/entry/node.rb' - 'lib/gitlab/config/entry/simplifiable.rb' - - 'lib/gitlab/email/message/in_product_marketing/experience.rb' - 'lib/gitlab/empty_search_results.rb' - 'lib/gitlab/git_access.rb' - 'lib/gitlab/import_export/json/ndjson_writer.rb' + - 'lib/gitlab/mailgun/webhook_processors/base.rb' - 'lib/gitlab/null_request_store.rb' - 'lib/gitlab/usage_data_non_sql_metrics.rb' - 'lib/mattermost/session.rb' @@ -162,7 +163,6 @@ Style/EmptyMethod: - 'qa/qa/resource/job.rb' - 'qa/qa/resource/package.rb' - 'qa/qa/resource/registry_repository.rb' - - 'qa/qa/resource/runner.rb' - 'qa/qa/service/cluster_provider/k3d.rb' - 'qa/qa/service/cluster_provider/k3s.rb' - 'qa/qa/service/cluster_provider/minikube.rb' @@ -173,7 +173,6 @@ Style/EmptyMethod: - 'spec/lib/gitlab/database/load_balancing/sidekiq_client_middleware_spec.rb' - 'spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb' - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' - - 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb' - 'spec/lib/gitlab/database/partitioning/sliding_list_strategy_spec.rb' - 'spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb' - 'spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb' @@ -192,4 +191,5 @@ Style/EmptyMethod: - 'spec/lib/gitlab/utils/delegator_override/validator_spec.rb' - 'spec/lib/gitlab/utils/delegator_override_spec.rb' - 'spec/lib/gitlab/utils/override_spec.rb' + - 'spec/lib/gitlab/utils/strong_memoize_spec.rb' - 'spec/workers/concerns/waitable_worker_spec.rb' diff --git a/.rubocop_todo/style/explicit_block_argument.yml b/.rubocop_todo/style/explicit_block_argument.yml index 63b7b5d387..346be20132 100644 --- a/.rubocop_todo/style/explicit_block_argument.yml +++ b/.rubocop_todo/style/explicit_block_argument.yml @@ -1,11 +1,10 @@ --- # Cop supports --auto-correct. Style/ExplicitBlockArgument: - # Offense count: 143 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/controllers/admin/background_migrations_controller.rb' + - 'app/controllers/admin/batched_jobs_controller.rb' - 'app/controllers/application_controller.rb' - 'app/models/application_record.rb' - 'app/models/broadcast_message.rb' @@ -14,13 +13,14 @@ Style/ExplicitBlockArgument: - 'app/models/ci/build_trace_chunks/redis_trace_chunks.rb' - 'app/models/concerns/counter_attribute.rb' - 'app/models/merge_request.rb' + - 'app/models/merge_request_diff.rb' - 'app/models/snippet_repository.rb' - 'app/services/import_export_clean_up_service.rb' - 'app/services/packages/debian/generate_distribution_key_service.rb' - 'app/workers/concerns/each_shard_worker.rb' - - 'db/migrate/20210629031900_associate_existing_dast_builds_with_variables.rb' - 'ee/app/services/gitlab_subscriptions/fetch_subscription_plans_service.rb' - 'ee/app/services/group_saml/identity/destroy_service.rb' + - 'ee/app/services/security/security_orchestration_policies/base_merge_requests_service.rb' - 'ee/lib/ee/backup/repositories.rb' - 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb' - 'ee/lib/gitlab/audit/events/preloader.rb' @@ -44,6 +44,7 @@ Style/ExplicitBlockArgument: - 'lib/gitlab/ci/variables/collection.rb' - 'lib/gitlab/cleanup/remote_uploads.rb' - 'lib/gitlab/database/dynamic_model_helpers.rb' + - 'lib/gitlab/database/lock_writes_manager.rb' - 'lib/gitlab/database/reindexing/reindex_concurrently.rb' - 'lib/gitlab/git/changes.rb' - 'lib/gitlab/gitaly_client/list_blobs_adapter.rb' @@ -58,16 +59,20 @@ Style/ExplicitBlockArgument: - 'lib/gitlab/import_export/project/base_task.rb' - 'lib/gitlab/import_export/project/export_task.rb' - 'lib/gitlab/import_export/project/import_task.rb' + - 'lib/gitlab/import_export/remote_stream_upload.rb' + - 'lib/gitlab/issuable/clone/copy_resource_events_service.rb' - 'lib/gitlab/metrics/dashboard/cache.rb' - 'lib/gitlab/metrics/dashboard/stages/base_stage.rb' - 'lib/gitlab/profiler.rb' - 'lib/gitlab/redis/wrapper.rb' - 'lib/gitlab/reference_counter.rb' - 'lib/gitlab/seeder.rb' + - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' - 'lib/gitlab/sidekiq_middleware/monitor.rb' - 'lib/gitlab/sidekiq_middleware/query_analyzer.rb' - 'lib/gitlab/sidekiq_middleware/request_store_middleware.rb' - 'lib/gitlab/sidekiq_middleware/server_metrics.rb' + - 'lib/gitlab/sidekiq_status.rb' - 'lib/gitlab/utils/measuring.rb' - 'lib/tasks/config_lint.rake' - 'qa/qa/ee/page/insights/show.rb' @@ -87,7 +92,6 @@ Style/ExplicitBlockArgument: - 'qa/qa/resource/events/base.rb' - 'qa/qa/runtime/api/repository_storage_moves.rb' - 'qa/qa/runtime/search.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb' - 'rubocop/code_reuse_helpers.rb' - 'spec/features/merge_request/user_sees_wip_help_message_spec.rb' - 'spec/features/projects/features_visibility_spec.rb' @@ -99,9 +103,10 @@ Style/ExplicitBlockArgument: - 'spec/models/repository_spec.rb' - 'spec/services/pages/zip_directory_service_spec.rb' - 'spec/services/todo_service_spec.rb' + - 'spec/support/database/gitlab_schemas_validate_connection.rb' - 'spec/support/helpers/feature_flag_helpers.rb' + - 'spec/support/helpers/features/runners_helpers.rb' - 'spec/support/helpers/features/top_nav_spec_helpers.rb' - - 'spec/support/helpers/graphql_helpers.rb' - 'spec/support/helpers/modal_helpers.rb' - 'spec/support/helpers/next_found_instance_of.rb' - 'spec/support/helpers/usage_data_helpers.rb' diff --git a/.rubocop_todo/style/format_string.yml b/.rubocop_todo/style/format_string.yml index 66c368a7a5..4da3c32416 100644 --- a/.rubocop_todo/style/format_string.yml +++ b/.rubocop_todo/style/format_string.yml @@ -142,6 +142,7 @@ Style/FormatString: - 'app/presenters/ci/pipeline_presenter.rb' - 'app/presenters/merge_request_presenter.rb' - 'app/presenters/project_presenter.rb' + - 'app/presenters/key_presenter.rb' - 'app/serializers/build_details_entity.rb' - 'app/services/alert_management/alerts/update_service.rb' - 'app/services/boards/lists/base_create_service.rb' @@ -265,7 +266,6 @@ Style/FormatString: - 'ee/app/services/vulnerabilities/destroy_dismissal_feedback_service.rb' - 'ee/app/services/vulnerabilities/dismiss_service.rb' - 'ee/app/services/vulnerabilities/finding_dismiss_service.rb' - - 'ee/app/services/vulnerabilities/findings/create_from_security_finding_service.rb' - 'ee/app/services/vulnerabilities/historical_statistics/adjustment_service.rb' - 'ee/app/services/vulnerabilities/statistics/adjustment_service.rb' - 'ee/app/services/vulnerability_external_issue_links/create_service.rb' diff --git a/.rubocop_todo/style/guard_clause.yml b/.rubocop_todo/style/guard_clause.yml index b07c29ca1d..a4ae491b90 100644 --- a/.rubocop_todo/style/guard_clause.yml +++ b/.rubocop_todo/style/guard_clause.yml @@ -378,6 +378,7 @@ Style/GuardClause: - 'ee/app/models/namespace_limit.rb' - 'ee/app/models/preloaders/environments/protected_environment_preloader.rb' - 'ee/app/models/protected_environment.rb' + - 'ee/app/models/protected_environments/deploy_access_level.rb' - 'ee/app/models/sbom/occurrence.rb' - 'ee/app/models/users_security_dashboard_project.rb' - 'ee/app/models/vulnerabilities/feedback.rb' diff --git a/.rubocop_todo/style/if_unless_modifier.yml b/.rubocop_todo/style/if_unless_modifier.yml index cc21860d46..8e295c6862 100644 --- a/.rubocop_todo/style/if_unless_modifier.yml +++ b/.rubocop_todo/style/if_unless_modifier.yml @@ -34,7 +34,6 @@ Style/IfUnlessModifier: - 'app/controllers/import/github_controller.rb' - 'app/controllers/import/gitlab_controller.rb' - 'app/controllers/import/manifest_controller.rb' - - 'app/controllers/jwt_controller.rb' - 'app/controllers/omniauth_callbacks_controller.rb' - 'app/controllers/profiles/emails_controller.rb' - 'app/controllers/profiles/two_factor_auths_controller.rb' @@ -47,7 +46,6 @@ Style/IfUnlessModifier: - 'app/controllers/projects/deploy_keys_controller.rb' - 'app/controllers/projects/design_management/designs_controller.rb' - 'app/controllers/projects/imports_controller.rb' - - 'app/controllers/projects/integrations/shimos_controller.rb' - 'app/controllers/projects/issues_controller.rb' - 'app/controllers/projects/merge_requests/diffs_controller.rb' - 'app/controllers/projects/merge_requests_controller.rb' @@ -94,13 +92,9 @@ Style/IfUnlessModifier: - 'app/graphql/mutations/release_asset_links/update.rb' - 'app/graphql/mutations/todos/mark_all_done.rb' - 'app/graphql/resolvers/blobs_resolver.rb' - - 'app/graphql/resolvers/ci/runner_jobs_resolver.rb' - 'app/graphql/resolvers/concerns/board_item_filterable.rb' - 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb' - 'app/graphql/resolvers/concerns/time_frame_arguments.rb' - - 'app/graphql/resolvers/group_packages_resolver.rb' - - 'app/graphql/resolvers/package_details_resolver.rb' - - 'app/graphql/resolvers/project_jobs_resolver.rb' - 'app/graphql/resolvers/project_pipeline_resolver.rb' - 'app/graphql/resolvers/timelog_resolver.rb' - 'app/graphql/types/ci/job_type.rb' @@ -133,7 +127,6 @@ Style/IfUnlessModifier: - 'app/helpers/selects_helper.rb' - 'app/helpers/snippets_helper.rb' - 'app/helpers/sorting_helper.rb' - - 'app/helpers/storage_helper.rb' - 'app/helpers/submodule_helper.rb' - 'app/helpers/tab_helper.rb' - 'app/helpers/timeboxes_helper.rb' @@ -168,7 +161,6 @@ Style/IfUnlessModifier: - 'app/models/concerns/bulk_users_by_email_load.rb' - 'app/models/concerns/cache_markdown_field.rb' - 'app/models/concerns/ci/artifactable.rb' - - 'app/models/concerns/counter_attribute.rb' - 'app/models/concerns/deprecated_assignee.rb' - 'app/models/concerns/group_descendant.rb' - 'app/models/concerns/has_wiki_page_meta_attributes.rb' @@ -272,7 +264,6 @@ Style/IfUnlessModifier: - 'app/services/ci/job_token_scope/remove_project_service.rb' - 'app/services/ci/parse_dotenv_artifact_service.rb' - 'app/services/ci/pipeline_processing/atomic_processing_service.rb' - - 'app/services/ci/pipelines/add_job_service.rb' - 'app/services/ci/register_job_service.rb' - 'app/services/ci/retry_job_service.rb' - 'app/services/ci/run_scheduled_build_service.rb' @@ -322,14 +313,11 @@ Style/IfUnlessModifier: - 'app/services/merge_requests/add_context_service.rb' - 'app/services/merge_requests/base_service.rb' - 'app/services/merge_requests/build_service.rb' - - 'app/services/merge_requests/handle_assignees_change_service.rb' - 'app/services/merge_requests/merge_base_service.rb' - 'app/services/merge_requests/mergeability_check_service.rb' - 'app/services/merge_requests/push_options_handler_service.rb' - 'app/services/merge_requests/refresh_service.rb' - - 'app/services/merge_requests/request_attention_service.rb' - 'app/services/merge_requests/squash_service.rb' - - 'app/services/merge_requests/toggle_attention_requested_service.rb' - 'app/services/merge_requests/update_service.rb' - 'app/services/metrics/dashboard/clone_dashboard_service.rb' - 'app/services/metrics/dashboard/update_dashboard_service.rb' @@ -354,7 +342,6 @@ Style/IfUnlessModifier: - 'app/services/packages/maven/find_or_create_package_service.rb' - 'app/services/packages/nuget/update_package_from_metadata_service.rb' - 'app/services/packages/pypi/create_package_service.rb' - - 'app/services/packages/rubygems/dependency_resolver_service.rb' - 'app/services/pages/migrate_legacy_storage_to_deployment_service.rb' - 'app/services/post_receive_service.rb' - 'app/services/projects/container_repository/gitlab/delete_tags_service.rb' @@ -375,7 +362,6 @@ Style/IfUnlessModifier: - 'app/services/projects/update_repository_storage_service.rb' - 'app/services/protected_branches/cache_service.rb' - 'app/services/resource_access_tokens/create_service.rb' - - 'app/services/resource_events/change_labels_service.rb' - 'app/services/snippets/create_service.rb' - 'app/services/snippets/destroy_service.rb' - 'app/services/snippets/repository_validation_service.rb' @@ -422,8 +408,6 @@ Style/IfUnlessModifier: - 'app/workers/google_cloud/create_cloudsql_instance_worker.rb' - 'app/workers/issues/rebalancing_worker.rb' - 'app/workers/merge_request_mergeability_check_worker.rb' - - 'app/workers/object_storage/migrate_uploads_worker.rb' - - 'app/workers/process_commit_worker.rb' - 'app/workers/projects/import_export/relation_export_worker.rb' - 'app/workers/remove_expired_members_worker.rb' - 'app/workers/repository_fork_worker.rb' @@ -450,8 +434,6 @@ Style/IfUnlessModifier: - 'config/initializers/sidekiq.rb' - 'config/initializers/stackprof.rb' - 'config/initializers/validate_database_config.rb' - - 'config/initializers/wikicloth_redos_patch.rb' - - 'config/initializers/zz_metrics.rb' - 'config/initializers_before_autoloader/002_sidekiq.rb' - 'config/routes.rb' - 'danger/database/Dangerfile' @@ -603,6 +585,7 @@ Style/IfUnlessModifier: - 'ee/app/services/ee/protected_branches/create_service.rb' - 'ee/app/services/ee/todo_service.rb' - 'ee/app/services/ee/users/update_service.rb' + - 'ee/app/services/elastic/cluster_reindexing_service.rb' - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/elastic/process_bookkeeping_service.rb' - 'ee/app/services/epics/base_service.rb' @@ -652,7 +635,6 @@ Style/IfUnlessModifier: - 'ee/app/services/vulnerability_feedback/create_service.rb' - 'ee/app/services/vulnerability_feedback/destroy_service.rb' - 'ee/app/services/vulnerability_feedback_module/update_service.rb' - - 'ee/app/services/elastic/cluster_reindexing_service.rb' - 'ee/app/validators/host_validator.rb' - 'ee/app/validators/password/complexity_validator.rb' - 'ee/app/workers/app_sec/dast/profile_schedule_worker.rb' @@ -889,7 +871,6 @@ Style/IfUnlessModifier: - 'lib/gitlab/ci/config/normalizer.rb' - 'lib/gitlab/ci/parsers/coverage/sax_document.rb' - 'lib/gitlab/ci/parsers/security/common.rb' - - 'lib/gitlab/ci/parsers/security/validators/schema_validator.rb' - 'lib/gitlab/ci/pipeline/chain/populate.rb' - 'lib/gitlab/ci/pipeline/chain/seed.rb' - 'lib/gitlab/ci/pipeline/chain/validate/abilities.rb' @@ -991,7 +972,6 @@ Style/IfUnlessModifier: - 'lib/gitlab/import_export/project/relation_factory.rb' - 'lib/gitlab/import_export/project/tree_restorer.rb' - 'lib/gitlab/instrumentation/rate_limiting_gates.rb' - - 'lib/gitlab/instrumentation/redis_interceptor.rb' - 'lib/gitlab/jira_import.rb' - 'lib/gitlab/jira_import/base_importer.rb' - 'lib/gitlab/legacy_github_import/client.rb' @@ -1034,7 +1014,6 @@ Style/IfUnlessModifier: - 'lib/gitlab/search/params.rb' - 'lib/gitlab/search_context.rb' - 'lib/gitlab/search_results.rb' - - 'lib/gitlab/shell.rb' - 'lib/gitlab/sidekiq_config.rb' - 'lib/gitlab/sidekiq_config/cli_methods.rb' - 'lib/gitlab/sidekiq_config/worker_router.rb' @@ -1063,7 +1042,6 @@ Style/IfUnlessModifier: - 'lib/sidebars/projects/menus/packages_registries_menu.rb' - 'lib/sidebars/projects/menus/security_compliance_menu.rb' - 'lib/sidebars/projects/menus/settings_menu.rb' - - 'lib/sidebars/projects/panel.rb' - 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb' - 'lib/system_check/init_helpers.rb' - 'lib/tasks/cleanup.rake' @@ -1078,7 +1056,6 @@ Style/IfUnlessModifier: - 'lib/tasks/gitlab/snippets.rake' - 'lib/tasks/gitlab/storage.rake' - 'lib/tasks/gitlab/update_templates.rake' - - 'qa/qa/ee/page/merge_request/show.rb' - 'qa/qa/ee/resource/settings/elasticsearch.rb' - 'qa/qa/flow/sign_up.rb' - 'qa/qa/page/component/select2.rb' @@ -1099,21 +1076,10 @@ Style/IfUnlessModifier: - 'qa/qa/runtime/ip_address.rb' - 'qa/qa/scenario/bootable.rb' - 'qa/qa/service/praefect_manager.rb' - - 'qa/qa/specs/features/api/3_create/gitaly/distributed_reads_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/merge_when_pipeline_succeeds_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/web_ide/web_terminal_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_group_level_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/advanced_global_advanced_syntax_search_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/elasticsearch_api_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/commit_index/commit_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/issues_index/issue_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/main_index/blob_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/index_tests/notes_index/note_index_spec.rb' - - 'qa/qa/specs/features/ee/api/9_enablement/elasticsearch/nightly_elasticsearch_test_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/geo_replication_maven_package_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_ldap_sync_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/9_enablement/elasticsearch/elasticsearch_reindexing_spec.rb' - 'qa/qa/specs/helpers/context_selector.rb' - 'qa/qa/specs/parallel_runner.rb' - 'qa/qa/support/loglinking.rb' @@ -1123,7 +1089,6 @@ Style/IfUnlessModifier: - 'rubocop/cop/api/grape_array_missing_coerce.rb' - 'rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers.rb' - 'rubocop/cop/gitlab/event_store_subscriber.rb' - - 'rubocop/cop/gitlab/keys_first_and_values_first.rb' - 'rubocop/cop/gitlab/mark_used_feature_flags.rb' - 'rubocop/cop/gitlab/policy_rule_boolean.rb' - 'rubocop/cop/ignored_columns.rb' @@ -1131,8 +1096,6 @@ Style/IfUnlessModifier: - 'rubocop/cop/migration/add_reference.rb' - 'rubocop/cop/migration/remove_column.rb' - 'rubocop/cop/migration/sidekiq_queue_migrate.rb' - - 'rubocop/cop/performance/ar_exists_and_present_blank.rb' - - 'rubocop/cop/rspec/web_mock_enable.rb' - 'rubocop/routes_under_scope.rb' - 'scripts/pipeline_test_report_builder.rb' - 'scripts/review_apps/automated_cleanup.rb' @@ -1187,6 +1150,7 @@ Style/IfUnlessModifier: - 'spec/requests/api/integrations_spec.rb' - 'spec/requests/users_controller_spec.rb' - 'spec/routing/import_routing_spec.rb' + - 'spec/rubocop_spec_helper.rb' - 'spec/serializers/issue_sidebar_basic_entity_spec.rb' - 'spec/services/application_settings/update_service_spec.rb' - 'spec/services/clusters/applications/create_service_spec.rb' @@ -1197,7 +1161,6 @@ Style/IfUnlessModifier: - 'spec/services/packages/maven/find_or_create_package_service_spec.rb' - 'spec/services/packages/maven/metadata/append_package_file_service_spec.rb' - 'spec/services/packages/maven/metadata/sync_service_spec.rb' - - 'spec/services/projects/container_repository/cleanup_tags_service_spec.rb' - 'spec/services/projects/create_service_spec.rb' - 'spec/spec_helper.rb' - 'spec/support/capybara.rb' @@ -1213,7 +1176,6 @@ Style/IfUnlessModifier: - 'spec/support/helpers/lets_encrypt_helpers.rb' - 'spec/support/helpers/live_debugger.rb' - 'spec/support/helpers/modal_helpers.rb' - - 'spec/support/helpers/seed_helper.rb' - 'spec/support/helpers/stub_gitlab_calls.rb' - 'spec/support/helpers/stubbed_feature.rb' - 'spec/support/helpers/test_env.rb' diff --git a/.rubocop_todo/style/keyword_parameters_order.yml b/.rubocop_todo/style/keyword_parameters_order.yml index 0bb499cebb..3521f295cc 100644 --- a/.rubocop_todo/style/keyword_parameters_order.yml +++ b/.rubocop_todo/style/keyword_parameters_order.yml @@ -1,10 +1,9 @@ --- # Cop supports --auto-correct. Style/KeywordParametersOrder: - # Offense count: 110 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: + - 'app/controllers/concerns/product_analytics_tracking.rb' - 'app/finders/group_descendants_finder.rb' - 'app/finders/merge_request_target_project_finder.rb' - 'app/graphql/resolvers/package_pipelines_resolver.rb' @@ -30,20 +29,23 @@ Style/KeywordParametersOrder: - 'ee/app/services/analytics/devops_adoption/enabled_namespaces/create_service.rb' - 'ee/app/services/analytics/devops_adoption/enabled_namespaces/find_or_create_service.rb' - 'ee/app/services/audit_events/user_impersonation_group_audit_event_service.rb' - - 'ee/app/services/members/activate_service.rb' - 'ee/lib/gitlab/elastic/helper.rb' + - 'ee/lib/gitlab/insights/executors/dora_executor.rb' + - 'ee/lib/gitlab/insights/executors/issuable_executor.rb' - 'ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb' - 'ee/spec/requests/api/deployments_spec.rb' + - 'lib/gitlab/background_migration/batched_migration_job.rb' - 'lib/gitlab/checks/timed_logger.rb' - 'lib/gitlab/ci/reports/security/finding.rb' + - 'lib/gitlab/cleanup/personal_access_tokens.rb' - 'lib/gitlab/database/partitioning/monthly_strategy.rb' - 'lib/gitlab/database/with_lock_retries.rb' - 'lib/gitlab/diff/diff_refs.rb' - 'lib/gitlab/email/smime/signer.rb' - - 'lib/gitlab/error_tracking.rb' - 'lib/gitlab/exclusive_lease.rb' - 'lib/gitlab/import_export/import_failure_service.rb' - 'lib/gitlab/merge_requests/mergeability/results_store.rb' + - 'lib/gitlab/usage_data_counters/editor_unique_counter.rb' - 'lib/microsoft_teams/notifier.rb' - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb' @@ -64,9 +66,12 @@ Style/KeywordParametersOrder: - 'spec/migrations/20220107064845_populate_vulnerability_reads_spec.rb' - 'spec/migrations/confirm_support_bot_user_spec.rb' - 'spec/services/service_ping/submit_service_ping_service_spec.rb' + - 'spec/support/helpers/doc_url_helper.rb' - 'spec/support/helpers/smime_helper.rb' - 'spec/support/helpers/workhorse_helpers.rb' + - 'spec/support/shared_examples/projects/container_repository/cleanup_tags_service_shared_examples.rb' - 'spec/support/shared_examples/services/container_expiration_policy_shared_examples.rb' - 'spec/support/shared_examples/services/dependency_proxy_ttl_policies_shared_examples.rb' - 'spec/support/shared_examples/services/namespace_package_settings_shared_examples.rb' + - 'spec/tasks/gitlab/usage_data_rake_spec.rb' - 'spec/workers/container_expiration_policies/cleanup_container_repository_worker_spec.rb' diff --git a/.rubocop_todo/style/numeric_literal_prefix.yml b/.rubocop_todo/style/numeric_literal_prefix.yml index ea0b028d11..5de1518043 100644 --- a/.rubocop_todo/style/numeric_literal_prefix.yml +++ b/.rubocop_todo/style/numeric_literal_prefix.yml @@ -1,21 +1,22 @@ --- # Cop supports --auto-correct. Style/NumericLiteralPrefix: - # Offense count: 148 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/models/container_repository.rb' - 'app/services/packages/debian/generate_distribution_key_service.rb' - 'config/initializers/01_secret_token.rb' - 'config/initializers/1_settings.rb' - 'db/post_migrate/20220131000001_schedule_trace_expiry_removal.rb' + - 'ee/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size.rb' - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' - 'ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size_spec.rb' - 'ee/spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb' - 'ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb' - 'ee/spec/migrations/schedule_trace_expiry_removal_spec.rb' - 'ee/spec/models/analytics/devops_adoption/snapshot_spec.rb' + - 'ee/spec/models/ci/minutes/usage_spec.rb' - 'ee/spec/models/ee/group_spec.rb' - 'ee/spec/models/gitlab/seat_link_data_spec.rb' - 'ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb' @@ -27,18 +28,17 @@ Style/NumericLiteralPrefix: - 'lib/gitlab/jwt_authenticatable.rb' - 'lib/system_check/app/uploads_path_permission_check.rb' - 'lib/system_check/app/uploads_path_tmp_permission_check.rb' + - 'lib/tasks/gitlab/backup.rake' - 'lib/tasks/tanuki_emoji.rake' - 'metrics_server/metrics_server.rb' - 'qa/qa/support/ssh.rb' - 'qa/spec/support/ssh_spec.rb' - 'scripts/security-harness' + - 'spec/finders/personal_access_tokens_finder_spec.rb' - 'spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb' - 'spec/lib/gitlab/database/background_migration/batched_job_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - - 'spec/lib/gitlab/encoding_helper_spec.rb' - 'spec/lib/gitlab/git/diff_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - - 'spec/lib/gitlab/git/tree_spec.rb' - 'spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb' - 'spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb' - 'spec/lib/gitlab/gitaly_client/diff_spec.rb' @@ -65,11 +65,11 @@ Style/NumericLiteralPrefix: - 'spec/lib/gitlab/puma_logging/json_formatter_spec.rb' - 'spec/lib/gitlab/relative_positioning/range_spec.rb' - 'spec/metrics_server/metrics_server_spec.rb' + - 'spec/migrations/20220506154054_create_sync_namespace_details_trigger_spec.rb' + - 'spec/migrations/20220524184149_create_sync_project_namespace_details_trigger_spec.rb' - 'spec/models/issue_spec.rb' - - 'spec/models/repository_spec.rb' - - 'spec/support/helpers/repo_helpers.rb' - - 'spec/support/helpers/test_env.rb' + - 'spec/models/personal_access_token_spec.rb' + - 'spec/requests/api/personal_access_tokens_spec.rb' - 'spec/support/import_export/export_file_helper.rb' - 'spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb' - 'spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' diff --git a/.rubocop_todo/style/percent_literal_delimiters.yml b/.rubocop_todo/style/percent_literal_delimiters.yml index 9989ae3f8b..472a722ed2 100644 --- a/.rubocop_todo/style/percent_literal_delimiters.yml +++ b/.rubocop_todo/style/percent_literal_delimiters.yml @@ -592,7 +592,6 @@ Style/PercentLiteralDelimiters: - 'lib/gitlab/search/abuse_detection.rb' - 'lib/gitlab/search_context.rb' - 'lib/gitlab/sidekiq_daemon/memory_killer.rb' - - 'lib/gitlab/sidekiq_middleware/memory_killer.rb' - 'lib/gitlab/slash_commands/presenters/base.rb' - 'lib/gitlab/ssh_public_key.rb' - 'lib/gitlab/task_helpers.rb' @@ -1155,7 +1154,6 @@ Style/PercentLiteralDelimiters: - 'spec/support/helpers/login_helpers.rb' - 'spec/support/helpers/prometheus_helpers.rb' - 'spec/support/helpers/repo_helpers.rb' - - 'spec/support/helpers/seed_helper.rb' - 'spec/support/helpers/seed_repo.rb' - 'spec/support/helpers/test_env.rb' - 'spec/support/helpers/usage_data_helpers.rb' @@ -1192,7 +1190,6 @@ Style/PercentLiteralDelimiters: - 'spec/support_specs/graphql/arguments_spec.rb' - 'spec/support_specs/helpers/active_record/query_recorder_spec.rb' - 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb' - - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb' - 'spec/tasks/gitlab/task_helpers_spec.rb' - 'spec/tasks/gitlab/uploads/migrate_rake_spec.rb' diff --git a/.rubocop_todo/style/redundant_begin.yml b/.rubocop_todo/style/redundant_begin.yml new file mode 100644 index 0000000000..e96cdb26b0 --- /dev/null +++ b/.rubocop_todo/style/redundant_begin.yml @@ -0,0 +1,57 @@ +--- +# Cop supports --auto-correct. +Style/RedundantBegin: + Details: grace period + Exclude: + - 'app/controllers/concerns/membership_actions.rb' + - 'app/controllers/concerns/metrics_dashboard.rb' + - 'app/controllers/concerns/renders_ldap_servers.rb' + - 'app/helpers/auth_helper.rb' + - 'app/models/event.rb' + - 'app/models/integrations/asana.rb' + - 'app/models/integrations/jira.rb' + - 'app/models/user.rb' + - 'app/services/ci/register_job_service.rb' + - 'app/services/design_management/generate_image_versions_service.rb' + - 'app/services/error_tracking/list_projects_service.rb' + - 'app/services/issue_links/create_service.rb' + - 'app/services/merge_requests/assign_issues_service.rb' + - 'app/services/projects/batch_forks_count_service.rb' + - 'app/services/projects/batch_open_issues_count_service.rb' + - 'app/services/projects/lfs_pointers/lfs_object_download_list_service.rb' + - 'app/services/users/update_highest_member_role_service.rb' + - 'ee/app/controllers/groups/sso_controller.rb' + - 'ee/app/finders/security/findings_finder.rb' + - 'ee/app/services/epics/epic_links/create_service.rb' + - 'ee/app/services/epics/related_epic_links/create_service.rb' + - 'ee/app/services/geo/container_repository_sync_service.rb' + - 'ee/app/validators/ee/json_schema_validator.rb' + - 'ee/lib/ee/api/helpers/award_emoji.rb' + - 'ee/lib/gem_extensions/elasticsearch/model/adapter/multiple/records.rb' + - 'ee/lib/gitlab/ci/parsers/security/dast.rb' + - 'ee/lib/omni_auth/strategies/group_saml.rb' + - 'ee/lib/system_check/geo/authorized_keys_check.rb' + - 'lib/api/helpers/award_emoji.rb' + - 'lib/api/time_tracking_endpoints.rb' + - 'lib/atlassian/jira_connect/serializers/build_entity.rb' + - 'lib/backup/manager.rb' + - 'lib/banzai/pipeline/wiki_pipeline.rb' + - 'lib/gem_extensions/active_record/association.rb' + - 'lib/gitlab.rb' + - 'lib/gitlab/changes_list.rb' + - 'lib/gitlab/color.rb' + - 'lib/gitlab/database/migration_helpers.rb' + - 'lib/gitlab/database/schema_cache_with_renamed_table.rb' + - 'lib/gitlab/favicon.rb' + - 'lib/gitlab/import_export/base/relation_factory.rb' + - 'lib/gitlab/import_export/members_mapper.rb' + - 'lib/gitlab/import_export/project/tree_saver.rb' + - 'lib/gitlab/instrumentation/redis_interceptor.rb' + - 'lib/gitlab/metrics/dashboard/importers/prometheus_metrics.rb' + - 'lib/gitlab/phabricator_import/project_creator.rb' + - 'lib/gitlab/project_search_results.rb' + - 'lib/gitlab/shell.rb' + - 'lib/gitlab/usage/metrics/aggregates/sources/calculations/intersection.rb' + - 'lib/sidebars/menu.rb' + - 'qa/qa/resource/api_fabricator.rb' + - 'qa/qa/runtime/api/client.rb' diff --git a/.rubocop_todo/style/redundant_condition.yml b/.rubocop_todo/style/redundant_condition.yml new file mode 100644 index 0000000000..86be40f7ff --- /dev/null +++ b/.rubocop_todo/style/redundant_condition.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +Style/RedundantCondition: + Exclude: + - 'ee/app/models/license.rb' + - 'spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb' diff --git a/.rubocop_todo/style/redundant_parentheses.yml b/.rubocop_todo/style/redundant_parentheses.yml new file mode 100644 index 0000000000..1ca658776b --- /dev/null +++ b/.rubocop_todo/style/redundant_parentheses.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --auto-correct. +Style/RedundantParentheses: + Exclude: + - 'lib/gitlab/database/tables_truncate.rb' + - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/utilization/billing_seats_usage_data_spec.rb' diff --git a/.rubocop_todo/style/single_argument_dig.yml b/.rubocop_todo/style/single_argument_dig.yml index 860183426e..3ffd27d26a 100644 --- a/.rubocop_todo/style/single_argument_dig.yml +++ b/.rubocop_todo/style/single_argument_dig.yml @@ -1,9 +1,7 @@ --- # Cop supports --auto-correct. Style/SingleArgumentDig: - # Offense count: 150 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/graphql/resolvers/namespace_projects_resolver.rb' - 'app/models/ci/build.rb' @@ -22,6 +20,7 @@ Style/SingleArgumentDig: - 'ee/app/workers/concerns/elastic/migration_helper.rb' - 'ee/lib/gitlab/ci/parsers/security/dependency_list.rb' - 'ee/lib/gitlab/subscription_portal/clients/graphql.rb' + - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' - 'ee/spec/graphql/mutations/vulnerabilities/create_spec.rb' - 'ee/spec/lib/ee/gitlab/ci/parsers/security/common_spec.rb' - 'ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb' @@ -35,10 +34,11 @@ Style/SingleArgumentDig: - 'ee/spec/requests/api/graphql/project/dast_site_profiles_spec.rb' - 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb' - 'ee/spec/requests/api/internal/upcoming_reconciliations_spec.rb' + - 'ee/spec/services/vulnerabilities/findings/find_or_create_from_security_finding_service_spec.rb' - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb' + - 'lib/gitlab/auth/o_auth/auth_hash.rb' - 'lib/gitlab/ci/badge/coverage/template.rb' - - 'lib/gitlab/ci/badge/pipeline/template.rb' - - 'lib/gitlab/ci/badge/release/template.rb' + - 'lib/gitlab/ci/badge/template.rb' - 'lib/gitlab/ci/lint.rb' - 'lib/gitlab/ci/parsers/accessibility/pa11y.rb' - 'lib/gitlab/ci/parsers/security/common.rb' @@ -51,11 +51,13 @@ Style/SingleArgumentDig: - 'lib/gitlab/database/transaction/observer.rb' - 'lib/gitlab/serverless/service.rb' - 'qa/qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb' + - 'qa/qa/vendor/mail_hog/api.rb' - 'spec/controllers/graphql_controller_spec.rb' - 'spec/graphql/types/release_links_type_spec.rb' - 'spec/helpers/projects_helper_spec.rb' - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb' + - 'spec/requests/api/graphql/ci/instance_variables_spec.rb' - 'spec/requests/api/graphql/container_repository/container_repository_details_spec.rb' - 'spec/requests/api/graphql/project/container_repositories_spec.rb' - 'spec/requests/api/graphql/project/jira_import_spec.rb' diff --git a/.rubocop_todo/style/sole_nested_conditional.yml b/.rubocop_todo/style/sole_nested_conditional.yml index 620d66a272..535b8d2076 100644 --- a/.rubocop_todo/style/sole_nested_conditional.yml +++ b/.rubocop_todo/style/sole_nested_conditional.yml @@ -1,8 +1,7 @@ --- +# Cop supports --auto-correct. Style/SoleNestedConditional: - # Offense count: 64 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/controllers/admin/application_settings_controller.rb' - 'app/controllers/ldap/omniauth_callbacks_controller.rb' @@ -17,7 +16,6 @@ Style/SoleNestedConditional: - 'app/models/network/graph.rb' - 'app/models/packages/package.rb' - 'app/models/protected_branch.rb' - - 'app/services/ci/register_job_service.rb' - 'app/services/concerns/update_visibility_level.rb' - 'app/services/incident_management/incidents/create_service.rb' - 'app/services/merge_requests/update_service.rb' @@ -27,9 +25,11 @@ Style/SoleNestedConditional: - 'app/services/projects/create_service.rb' - 'app/services/projects/hashed_storage/migration_service.rb' - 'app/services/projects/hashed_storage/rollback_service.rb' + - 'app/workers/merge_requests/delete_source_branch_worker.rb' - 'ee/app/finders/ee/snippets_finder.rb' - 'ee/app/services/ee/issue_links/create_service.rb' - 'ee/app/services/ee/lfs/unlock_file_service.rb' + - 'ee/app/services/ee/merge_requests/create_pipeline_service.rb' - 'ee/app/services/epics/tree_reorder_service.rb' - 'ee/app/services/geo/framework_repository_sync_service.rb' - 'ee/app/services/geo/repository_base_sync_service.rb' @@ -43,6 +43,7 @@ Style/SoleNestedConditional: - 'lib/api/ci/helpers/runner.rb' - 'lib/api/deploy_keys.rb' - 'lib/api/helpers/label_helpers.rb' + - 'lib/api/maven_packages.rb' - 'lib/api/users.rb' - 'lib/banzai/filter/ascii_doc_sanitization_filter.rb' - 'lib/banzai/filter/base_sanitization_filter.rb' @@ -52,7 +53,9 @@ Style/SoleNestedConditional: - 'lib/gitlab/config/entry/configurable.rb' - 'lib/gitlab/config/entry/validators.rb' - 'lib/gitlab/database/each_database.rb' + - 'lib/gitlab/database/load_balancing/load_balancer.rb' - 'lib/gitlab/email/handler/reply_processing.rb' + - 'lib/gitlab/patch/database_config.rb' - 'lib/gitlab/user_access.rb' - 'lib/gitlab/utils.rb' - 'lib/gitlab/x509/signature.rb' @@ -60,5 +63,5 @@ Style/SoleNestedConditional: - 'lib/mattermost/session.rb' - 'lib/object_storage/direct_upload.rb' - 'qa/qa/flow/login.rb' - - 'qa/qa/support/page_error_checker.rb' + - 'qa/qa/page/project/web_ide/edit.rb' - 'spec/spec_helper.rb' diff --git a/.rubocop_todo/style/special_global_vars.yml b/.rubocop_todo/style/special_global_vars.yml new file mode 100644 index 0000000000..df688872d7 --- /dev/null +++ b/.rubocop_todo/style/special_global_vars.yml @@ -0,0 +1,4 @@ +--- +# Cop supports --auto-correct. +Style/SpecialGlobalVars: + Details: grace period diff --git a/.rubocop_todo/style/string_concatenation.yml b/.rubocop_todo/style/string_concatenation.yml index 315ce3701a..ec15edbc20 100644 --- a/.rubocop_todo/style/string_concatenation.yml +++ b/.rubocop_todo/style/string_concatenation.yml @@ -263,9 +263,9 @@ Style/StringConcatenation: - 'spec/models/custom_emoji_spec.rb' - 'spec/models/grafana_integration_spec.rb' - 'spec/models/integrations/campfire_spec.rb' + - 'spec/models/integrations/datadog_spec.rb' - 'spec/models/integrations/chat_message/pipeline_message_spec.rb' - 'spec/models/integrations/chat_message/push_message_spec.rb' - - 'spec/models/integrations/datadog_spec.rb' - 'spec/models/integrations/jenkins_spec.rb' - 'spec/models/merge_request_diff_spec.rb' - 'spec/models/merge_request_spec.rb' diff --git a/.rubocop_todo/style/string_literals_in_interpolation.yml b/.rubocop_todo/style/string_literals_in_interpolation.yml index cded81afa7..fc90e1ce6a 100644 --- a/.rubocop_todo/style/string_literals_in_interpolation.yml +++ b/.rubocop_todo/style/string_literals_in_interpolation.yml @@ -1,9 +1,7 @@ --- # Cop supports --auto-correct. Style/StringLiteralsInInterpolation: - # Offense count: 119 - # Temporarily disabled due to too many offenses - Enabled: false + Details: grace period Exclude: - 'app/graphql/mutations/base_mutation.rb' - 'app/helpers/colors_helper.rb' @@ -23,11 +21,16 @@ Style/StringLiteralsInInterpolation: - 'ee/app/helpers/ee/merge_requests_helper.rb' - 'ee/app/models/license.rb' - 'ee/app/services/epics/tree_reorder_service.rb' + - 'ee/lib/ee/api/helpers/issues_helpers.rb' - 'ee/lib/gitlab/elastic/helper.rb' + - 'ee/lib/tasks/gitlab/elastic.rake' - 'ee/spec/features/admin/admin_settings_spec.rb' + - 'ee/spec/features/subscriptions/expiring_subscription_message_spec.rb' + - 'ee/spec/lib/gitlab/expiring_subscription_message_spec.rb' - 'lib/api/helpers/snippets_helpers.rb' - 'lib/api/validations/validators/check_assignees_count.rb' - 'lib/banzai/filter/references/abstract_reference_filter.rb' + - 'lib/banzai/filter/syntax_highlight_filter.rb' - 'lib/generators/gitlab/usage_metric_definition_generator.rb' - 'lib/gitlab/background_migration/fix_projects_without_prometheus_service.rb' - 'lib/gitlab/ci/config/entry/job.rb' @@ -36,6 +39,7 @@ Style/StringLiteralsInInterpolation: - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' - 'lib/gitlab/doctor/secrets.rb' - 'lib/gitlab/endpoint_attributes/config.rb' + - 'lib/gitlab/gitaly_client/ref_service.rb' - 'lib/gitlab/graphql/queries.rb' - 'lib/gitlab/quick_actions/extractor.rb' - 'lib/gitlab/sanitizers/exif.rb' @@ -43,13 +47,11 @@ Style/StringLiteralsInInterpolation: - 'lib/gitlab/tracking/destinations/snowplow.rb' - 'lib/tasks/gitlab/info.rake' - 'lib/tasks/gitlab/sidekiq.rake' - - 'lib/tasks/gitlab/tw/codeowners.rake' - 'qa/qa/ee/page/component/secure_report.rb' - 'qa/qa/ee/page/group/secure/show.rb' - 'qa/qa/resource/events/base.rb' - 'qa/qa/service/cluster_provider/base.rb' - 'qa/qa/service/cluster_provider/gcloud.rb' - - 'qa/qa/service/docker_run/gitlab_runner.rb' - 'qa/qa/specs/helpers/context_selector.rb' - 'qa/qa/tools/generate_perf_testdata.rb' - 'rubocop/cop/migration/prevent_index_creation.rb' @@ -59,9 +61,12 @@ Style/StringLiteralsInInterpolation: - 'spec/finders/serverless_domain_finder_spec.rb' - 'spec/lib/banzai/filter/references/commit_reference_filter_spec.rb' - 'spec/lib/banzai/filter/references/issue_reference_filter_spec.rb' + - 'spec/lib/gitlab/background_migration/batched_migration_job_spec.rb' - 'spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' + - 'spec/lib/gitlab/gitaly_client/ref_service_spec.rb' - 'spec/lib/object_storage/direct_upload_spec.rb' - 'spec/models/serverless/domain_spec.rb' - 'spec/requests/api/keys_spec.rb' - 'spec/support/database/prevent_cross_joins.rb' + - 'spec/views/notify/import_issues_csv_email.html.haml_spec.rb' diff --git a/.rubocop_todo/style/symbol_proc.yml b/.rubocop_todo/style/symbol_proc.yml index bfb3867b12..d373788dbc 100644 --- a/.rubocop_todo/style/symbol_proc.yml +++ b/.rubocop_todo/style/symbol_proc.yml @@ -70,8 +70,6 @@ Style/SymbolProc: - 'app/services/clusters/agents/delete_expired_events_service.rb' - 'app/services/feature_flags/update_service.rb' - 'app/services/merge_requests/base_service.rb' - - 'app/services/merge_requests/bulk_remove_attention_requested_service.rb' - - 'app/services/merge_requests/reopen_service.rb' - 'app/services/notes/destroy_service.rb' - 'app/services/packages/debian/generate_distribution_service.rb' - 'app/services/resource_events/synthetic_label_notes_builder_service.rb' @@ -87,7 +85,6 @@ Style/SymbolProc: - 'config/initializers/01_active_record_database_tasks_configuration_flag.rb' - 'config/initializers/doorkeeper_openid_connect.rb' - 'config/initializers/mail_encoding_patch.rb' - - 'config/initializers/wikicloth_redos_patch.rb' - 'config/settings.rb' - 'db/migrate/20210318134427_delete_security_findings_without_uuid.rb' - 'db/migrate/20210503105845_add_project_value_stream_id_to_project_stages.rb' @@ -136,7 +133,6 @@ Style/SymbolProc: - 'ee/spec/helpers/ee/registrations_helper_spec.rb' - 'ee/spec/lib/ee/gitlab/search_results_spec.rb' - 'ee/spec/lib/gitlab/elastic/document_reference_spec.rb' - - 'ee/spec/models/ee/iterations/cadence_spec.rb' - 'ee/spec/services/groups/participants_service_spec.rb' - 'ee/spec/support/helpers/subscription_portal_helpers.rb' - 'ee/spec/support/shared_examples/lib/gitlab/graphql/issuables_lazy_links_aggregate_shared_examples.rb' @@ -205,17 +201,13 @@ Style/SymbolProc: - 'qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb' - 'qa/qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/attachment_replication_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/http_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/rename_replication_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/ssh_push_spec.rb' - - 'qa/qa/specs/features/ee/browser_ui/12_geo/wiki_http_push_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_status_on_operation_dashboard_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb' - 'rubocop/cop/gitlab/mark_used_feature_flags.rb' + - 'rubocop/cop/gitlab/namespaced_class.rb' - 'scripts/qa/testcases-check' - 'scripts/static-analysis' - 'spec/controllers/concerns/product_analytics_tracking_spec.rb' @@ -245,7 +237,6 @@ Style/SymbolProc: - 'spec/lib/gitlab/database/loose_foreign_keys_spec.rb' - 'spec/lib/gitlab/database/migration_helpers/loose_foreign_key_helpers_spec.rb' - 'spec/lib/gitlab/git/commit_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - 'spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb' - 'spec/lib/gitlab/graphql/lazy_spec.rb' - 'spec/lib/gitlab/graphql/markdown_field_spec.rb' @@ -272,7 +263,6 @@ Style/SymbolProc: - 'spec/services/merge_requests/conflicts/list_service_spec.rb' - 'spec/services/notification_recipients/builder/default_spec.rb' - 'spec/services/packages/go/create_package_service_spec.rb' - - 'spec/services/suggestions/apply_service_spec.rb' - 'spec/spec_helper.rb' - 'spec/support/generate-seed-repo-rb' - 'spec/support/helpers/filter_spec_helper.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index d5faca300b..cc95a92c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,702 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 15.5.4 (2022-11-11) + +### Fixed (3 changes) + +- [Allow links to be opened from Swagger UI documentations](gitlab-org/gitlab@d0ee1589e00a695764a942e711dfe1be405f011c) ([merge request](gitlab-org/gitlab!103772)) +- [Add Hashie::Array to allowed YAML serialization classes](gitlab-org/gitlab@b450aae9dbc1a0cbe124de8e3643842a11a1ee77) ([merge request](gitlab-org/gitlab!103772)) +- [Revert Sidekiq default routing rules](gitlab-org/gitlab@f1db2eefe1d5039b220d4368dc25dbe5ad9060a1) ([merge request](gitlab-org/gitlab!103643)) + +## 15.5.3 (2022-11-07) + +### Fixed (1 change) + +- [Fix Opensearch compatibility check](gitlab-org/gitlab@c7094017eb6fae71c0b8441a04f6927ed69025ea) ([merge request](gitlab-org/gitlab!103157)) **GitLab Enterprise Edition** + +## 15.5.2 (2022-11-02) + +### Security (11 changes) + +- [Redact confidential references in Jira issue descriptions](gitlab-org/security/gitlab@b6df9d1e4e0c996655a41831fbfae8f457fe1e6b) ([merge request](gitlab-org/security/gitlab!2870)) +- [Forbid reading emojis on internal notes](gitlab-org/security/gitlab@0015523a32c38c184ffef9067d9952d0ef54e3f2) ([merge request](gitlab-org/security/gitlab!2854)) +- [Same-site redirect vulnerability](gitlab-org/security/gitlab@7fd87a5f0b8317d45171fb565c198cda4e65fa34) ([merge request](gitlab-org/security/gitlab!2878)) +- [BYPASS: Stored-XSS with CSP-bypass via scoped labels' color](gitlab-org/security/gitlab@2f1777b305d632b3256076967a798dab65fe6bf4) ([merge request](gitlab-org/security/gitlab!2860)) +- [Fix Running Upstream Pipelines Jobs Without Permission](gitlab-org/security/gitlab@9b3f469da7c0295eb12120027a45ac04f76cdad5) ([merge request](gitlab-org/security/gitlab!2881)) +- [Add length limit to addressable URLs](gitlab-org/security/gitlab@82ffc5825c9a7761d787c66b8c4a1593b3330c50) ([merge request](gitlab-org/security/gitlab!2856)) +- [Add a redirect wall before artifact redirect to pages](gitlab-org/security/gitlab@41a4480b3302ba8a67e94de5420d41298d258585) ([merge request](gitlab-org/security/gitlab!2875)) +- [Sandbox swagger-ui to prevent injection attacks](gitlab-org/security/gitlab@432913f802a093b67f2e5d46cc51b5f13bb16590) ([merge request](gitlab-org/security/gitlab!2857)) +- [Fix external project permission when using CI prefill variables](gitlab-org/security/gitlab@ec872da0ab949f447aec35d64d1db45b5d25b7fd) ([merge request](gitlab-org/security/gitlab!2853)) +- [Resolve users can view audit events from other members](gitlab-org/security/gitlab@34ffe2e88fa462b055f22d6af84fdb93a62fa575) ([merge request](gitlab-org/security/gitlab!2855)) +- [Path traversal fix for Secure Files](gitlab-org/security/gitlab@568c36b34a884cc877b6292b340de9da66537bc8) ([merge request](gitlab-org/security/gitlab!2858)) + +## 15.5.1 (2022-10-24) + +### Fixed (2 changes) + +- [Batch records when preloading for indexing](gitlab-org/gitlab@43f0f24d5985ab2d731ab022aa5a498cfee5789b) ([merge request](gitlab-org/gitlab!101927)) **GitLab Enterprise Edition** +- [Specify certificates when connecting to KAS using TLS](gitlab-org/gitlab@f445f3f11d93eef56793fc116c7b2f1a4d030701) ([merge request](gitlab-org/gitlab!101927)) + +## 15.5.0 (2022-10-21) + +### Added (159 changes) + +- [Render labels correctly in content editor](gitlab-org/gitlab@638d82853f69babb1cdab437c5ae5c7befbb0c8d) ([merge request](gitlab-org/gitlab!101027)) +- [Add "use_legacy_web_ide" to "user_preferences"](gitlab-org/gitlab@a5fc40397368786dd6596ae36768967382585f50) ([merge request](gitlab-org/gitlab!98945)) +- [Set default compliance framework during project creation](gitlab-org/gitlab@bdcce8e14ed51e58b03a4b5eea623915d17fafad) ([merge request](gitlab-org/gitlab!100959)) **GitLab Enterprise Edition** +- [Expose `created_by` in the Users API](gitlab-org/gitlab@d235f2cead5e0505660612b207a722fb57d6a82a) ([merge request](gitlab-org/gitlab!93092)) +- [Add models for tag and tag links](gitlab-org/gitlab@ae345a3d0df94f98a67354585395fbcd6646305b) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100271)) +- [Adding migration for backfilling namespaces metadata](gitlab-org/gitlab@5ff5b728057411fd3f71b66f8cd1325c4706b771) ([merge request](gitlab-org/gitlab!98513)) +- [Add metrics for projects with applied scan result policies](gitlab-org/gitlab@a078b5a8f37c654bbff240f95bc8636fc1e5861e) ([merge request](gitlab-org/gitlab!99955)) **GitLab Enterprise Edition** +- [Moved label and date widgets out of FF](gitlab-org/gitlab@46951293e36801a3ac1609f941427f3ec8df315d) ([merge request](gitlab-org/gitlab!101117)) +- [Add GraphQL field to preview billable user changes](gitlab-org/gitlab@282f335d0b86674d90a6b42329037b9ce09a0819) ([merge request](gitlab-org/gitlab!90195)) **GitLab Enterprise Edition** +- [Additional Gitlab::Json method aliases](gitlab-org/gitlab@457279cf874b89cb9ab837810785d1019c38cffb) ([merge request](gitlab-org/gitlab!101286)) +- [Enhance review app modal instructions](gitlab-org/gitlab@1ee8b02d94061b282a3f47d10c9582107a805217) ([merge request](gitlab-org/gitlab!95004)) +- [[18052] Gitlab import: Issue attachments](gitlab-org/gitlab@db828d5c6098e51b0106480cafc4e244bef57144) ([merge request](gitlab-org/gitlab!100510)) +- [Namespace package forward settings in GraphQL](gitlab-org/gitlab@60a6a487ba96311af92884e690db7c8e326180f0) ([merge request](gitlab-org/gitlab!100526)) +- [Allow automatic runner authentication token rotation](gitlab-org/gitlab@75433d818a0b122dbc78f7c5e92405610f2c1943) ([merge request](gitlab-org/gitlab!100990)) +- [Add RaspberryPi OS 11 (Bullseye) to the list of supported OS](gitlab-org/gitlab@b4e860fbdc6872393c0f3109cf4abec919dd05fe) ([merge request](gitlab-org/gitlab!93731)) +- [Add bulk destroy mutation for Packages](gitlab-org/gitlab@95ed1338b612f1bb9b7f718142da25258112b432) ([merge request](gitlab-org/gitlab!100386)) +- [Add approvalProjectRules to graphql endpoint](gitlab-org/gitlab@77c5ce871bb642686a36dc210249237a82898548) ([merge request](gitlab-org/gitlab!97196)) **GitLab Enterprise Edition** +- [Track work item iteration update](gitlab-org/gitlab@29345820151539f97e8dc4a2950cc8ad8373cb88) ([merge request](gitlab-org/gitlab!98539)) **GitLab Enterprise Edition** +- [Add environment key to pages jobs](gitlab-org/gitlab@3a15ef9af4040dc9050d0585059dc97474214a58) by @k0jak ([merge request](gitlab-org/gitlab!100447)) +- [Sync profile fields to user_details and truncate](gitlab-org/gitlab@cd253bf5ce356fc55b6fb094e0a7135f6ab9b7c0) by @brianjaustin ([merge request](gitlab-org/gitlab!95107)) +- [[373705] Configurable optional stages list API](gitlab-org/gitlab@75993222a1c2e40b7186983edfb007babce2356c) ([merge request](gitlab-org/gitlab!98930)) +- [Add scan file path to dast site profile](gitlab-org/gitlab@580bd236c34c504f363a207e9cbfae7a0273aae5) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79279)) +- [Removed upload_size from storage_size](gitlab-org/gitlab@8ef85dc9b59f8db4acb9b2e05c29ca32411d4b05) ([merge request](gitlab-org/gitlab!94970)) **GitLab Enterprise Edition** +- [Add GIT_SUBMODULE_PATHS documentation](gitlab-org/gitlab@e2a37ca9228a48ed302885967519561abe69f169) by @bollenn ([merge request](gitlab-org/gitlab!100881)) +- [Show edited at for work item descriptions](gitlab-org/gitlab@22d1bab4a5c3037add44f938a87b6ea245a27e7f) ([merge request](gitlab-org/gitlab!98523)) +- [Add health status filter on issue boards](gitlab-org/gitlab@f7646c9d6b11c2c3f30c558e5a748974bec72f64) ([merge request](gitlab-org/gitlab!100695)) **GitLab Enterprise Edition** +- [Autogenerate OpenApi using grape-swagger](gitlab-org/gitlab@5dc470ddb9aa09c5e7b7dd51db157eb67d471217) ([merge request](gitlab-org/gitlab!98681)) +- [Create API to fetch all Github organizations for the user](gitlab-org/gitlab@e90b9396ef4ecdb54f9fdb53c70f79861adc34f2) ([merge request](gitlab-org/gitlab!97688)) +- [Only merge when all the status checks have passed](gitlab-org/gitlab@a472212cbee49cd20ffc52a3785ec21c74fbd8e8) ([merge request](gitlab-org/gitlab!96765)) +- [Improved CRM contacts autocomplete service to include state and set](gitlab-org/gitlab@0ea5b97e7d3bd8bf5ec93277d0ecd7f945a1e109) by @zillemarco ([merge request](gitlab-org/gitlab!100264)) +- [Add metrics for groups with assigned security policy project](gitlab-org/gitlab@32502861a410cae7778b345a0c810259bfd7ea26) ([merge request](gitlab-org/gitlab!99957)) **GitLab Enterprise Edition** +- [Add metrics for merge requests witj applied scan result policies](gitlab-org/gitlab@e26844aac2577b3c28f0d32990fbbec8173d4ca2) ([merge request](gitlab-org/gitlab!99958)) **GitLab Enterprise Edition** +- [Enable JWT authentication for Gitlab Shell](gitlab-org/gitlab@a4f7e1509c92eaa4218b3e42d857965ae00e980d) ([merge request](gitlab-org/gitlab!100929)) +- [Add new storage type for DSL field](gitlab-org/gitlab@8f8f893bf0c8f4648d127795f6f23304160dbd5a) ([merge request](gitlab-org/gitlab!100924)) +- [Prepare async index for index on author_id and id in merge_requests](gitlab-org/gitlab@67852706dbcb57acf698d00277647540dd9a6359) ([merge request](gitlab-org/gitlab!100921)) +- [Map 'Require pull request before merging' GitHub rule with access_levels](gitlab-org/gitlab@01be4d0e450c5ac038b542b60337162feb2e53ab) ([merge request](gitlab-org/gitlab!97065)) +- [Add default_compliance_framework_id column to namespace_settings table](gitlab-org/gitlab@88f4e467f050964089eb5fbfffea14b0bba575c8) ([merge request](gitlab-org/gitlab!100609)) +- [Autocomplete support for work items](gitlab-org/gitlab@d5dcc6cc9bccb7a0c01fa7c4ebdda21089d035bf) ([merge request](gitlab-org/gitlab!100783)) +- [Feature password expiration migration](gitlab-org/gitlab@4ab12e85c6a3dfe185f7ced42f03f164e4ce5644) by @qt-gith ([merge request](gitlab-org/gitlab!100519)) +- [Disable creation of all types of personal tokens with FIPS enabled](gitlab-org/gitlab@99a78b874f73bae4535d2b3221b12b39ab5ce885) ([merge request](gitlab-org/gitlab!98702)) **GitLab Enterprise Edition** +- [After a milestone from the new release form, redirect back](gitlab-org/gitlab@c1b9e558bf8430456b4e786c8d359d55d793b54e) ([merge request](gitlab-org/gitlab!100715)) +- [Add cancel projects import from github](gitlab-org/gitlab@72ef0376ca731cfb11bcd04d67a446865ab75baa) ([merge request](gitlab-org/gitlab!98931)) +- [Support for suggestions in content editor](gitlab-org/gitlab@578f5c2f661a642962716572c04bdf368f0736f8) ([merge request](gitlab-org/gitlab!100791)) +- [Prepare index async for merge requests on author and target project id](gitlab-org/gitlab@b6a2f090df53e1dd7e54771be213a5005496a400) ([merge request](gitlab-org/gitlab!100769)) +- [Add an owner of a runner to the runners list](gitlab-org/gitlab@698962c32925366d2eff5815f0c88a9c80c8aaf1) ([merge request](gitlab-org/gitlab!100166)) +- [Trigger mergeRequestMergeStatusUpdated when MR gets closed](gitlab-org/gitlab@9ffe2e4b1dd238f244f97ed0676b942eb72969f9) ([merge request](gitlab-org/gitlab!100794)) +- [Add support for quick actions in content editor](gitlab-org/gitlab@6dc4fd6f2147751655f5c1730c8411905e351626) ([merge request](gitlab-org/gitlab!100688)) +- [Allow admins to limit registration of project and group runners](gitlab-org/gitlab@209a840dd73d70117701b19e0e102e5f484e1c91) ([merge request](gitlab-org/gitlab!100663)) +- [Speed up usage ping count for projects with incident SLAs enabled](gitlab-org/gitlab@d6eae3b9ff2ff2feef80f80c25ad36d0c4a46e89) ([merge request](gitlab-org/gitlab!100718)) +- [Include release ci variables](gitlab-org/gitlab@af492a330dfb59472c3fbaca76fff5dcc3967c7b) ([merge request](gitlab-org/gitlab!98447)) +- [Map 'Require signed commits' GH rule with project's push_rule attribute](gitlab-org/gitlab@9591759274225f8ca4f47840ed67450e4b1564cf) ([merge request](gitlab-org/gitlab!97273)) +- [Adding remaining MLFlow endpoints](gitlab-org/gitlab@2d302b81d7caa19d3630a40fbc2f32754a746689) ([merge request](gitlab-org/gitlab!98106)) +- [Add pipelineScheduleDestroy mutation](gitlab-org/gitlab@1cfb325d47b2cb71da76d620056234c953383647) by @batu ([merge request](gitlab-org/gitlab!97854)) +- [Add Push Rule for DCO Signoff](gitlab-org/gitlab@3f4af565a071ec598d7d0c1b0b805ce9e731b7be) ([merge request](gitlab-org/gitlab!98810)) **GitLab Enterprise Edition** +- [Add jitsu key to project when created](gitlab-org/gitlab@8c1c57e83de27d4610945c3f2deac86a102a39b8) ([merge request](gitlab-org/gitlab!97978)) +- [Add metrics for projects with assigned security policy project](gitlab-org/gitlab@54bc554d4a3841b4f755dd79149281750427d5e0) ([merge request](gitlab-org/gitlab!99956)) **GitLab Enterprise Edition** +- [Consume Google Cloud Services within GitLab](gitlab-org/gitlab@347870a0a7977f39a9c1c7f373b085c88652b688) ([merge request](gitlab-org/gitlab!100545)) +- [Update requirement verification status mutation](gitlab-org/gitlab@9aa28e36f7e2e8d96df6ea0a24aac166daa9ef8a) ([merge request](gitlab-org/gitlab!98313)) +- [Filter group runners by tags](gitlab-org/gitlab@6f76d933e5563fd3447ef1cc9f894ea51d928282) ([merge request](gitlab-org/gitlab!100010)) +- [[18052] Support img tags in GitHub markdown attachment importers](gitlab-org/gitlab@ce4f3a8e76a8bc4ed45bab8d3b7d9e928260da5d) ([merge request](gitlab-org/gitlab!100508)) +- [[18052] Gitlab import: note attachments](gitlab-org/gitlab@5e466e467b21a6279a1de0356a1b89642ee131d0) ([merge request](gitlab-org/gitlab!97547)) +- [Authentication in private registry in code quality](gitlab-org/gitlab@2621f4c02d131b77e4b65433ade81c32a3985fed) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95686)) +- [Add user preference to turn off automatically adding a new list item](gitlab-org/gitlab@5229fc38c351ac6bea1cc37731d82f1b59690175) ([merge request](gitlab-org/gitlab!90280)) +- [Add free_user_cap_over_limit_notified_at to NS details](gitlab-org/gitlab@c3f0524c7da33bbc05dafc57d95b3309ad94fb57) ([merge request](gitlab-org/gitlab!100460)) +- [Add Geo::ProjectWikiRepositoryState model](gitlab-org/gitlab@a2fbfa7172c0379294d0288eeb2dd96dd3b85cd1) ([merge request](gitlab-org/gitlab!99253)) **GitLab Enterprise Edition** +- [Add project_wiki_repository_states table](gitlab-org/gitlab@62f80673668f3a49f34a79288f5d610bb8d8bcd1) ([merge request](gitlab-org/gitlab!99253)) +- [Delete orphaned operational vulnerabilities](gitlab-org/gitlab@b4157334a29b9fc99c6a36518ae1b54b0450067c) ([merge request](gitlab-org/gitlab!98907)) +- [Add migrated_to_state_transition column](gitlab-org/gitlab@dca8ae9a7ed931d238b156b3973bf8f6d00cbc83) ([merge request](gitlab-org/gitlab!99999)) +- [Destroy invalid members](gitlab-org/gitlab@ac56b073ac2e7dfeb1616ac031304abd0520ed85) ([merge request](gitlab-org/gitlab!99467)) +- [Add advanced settings support to import projects Vue app](gitlab-org/gitlab@03697d14027ede4f6e8b8db3a6204ca84cac82c5) ([merge request](gitlab-org/gitlab!100278)) +- [Allow admins to delete runners in bulk](gitlab-org/gitlab@c966c058515f67c5014545981d1988d4ec8e1a47) ([merge request](gitlab-org/gitlab!100273)) +- [Trigger mergeRequestMergeStatusUpdated when MR marked as draft/ready](gitlab-org/gitlab@92399356fa26dbf5a9e72b5725300cf28d41a59f) ([merge request](gitlab-org/gitlab!100250)) +- [Create tmp index members on id where namespace id null](gitlab-org/gitlab@31f333bf18a6d6e514128a39eef384ae96a85508) ([merge request](gitlab-org/gitlab!100123)) +- [Add avatar to user dropdown items](gitlab-org/gitlab@f65aa07a2320eebfc5433bb794481787d2383051) ([merge request](gitlab-org/gitlab!99480)) +- [Enable issuable_description_updated subscription in GraphQL](gitlab-org/gitlab@32df7740860b402820a7cc730e78b92101a9d708) ([merge request](gitlab-org/gitlab!100208)) +- [Add project_wiki_repository_states table](gitlab-org/gitlab@4a99f659613c72762e7a18b8adb89242a038645f) ([merge request](gitlab-org/gitlab!99168)) +- [Add health filter for board lists](gitlab-org/gitlab@81c6b06ffb48528cea7d31e5f3f6e45d96bee7db) ([merge request](gitlab-org/gitlab!100178)) **GitLab Enterprise Edition** +- [Add labels widget input to work item update mutation](gitlab-org/gitlab@0d750ccbb73641d95d217708e98f11a9f24c784a) ([merge request](gitlab-org/gitlab!100098)) +- [Show empty state for external CI config in pipeline editor](gitlab-org/gitlab@cb28520a1cb1583ef1687da37e66e098ae887915) ([merge request](gitlab-org/gitlab!98647)) +- [Add inbound_job_token_scope to ci cd settings](gitlab-org/gitlab@111ce11ae9df4726293fbe43552cba3ab65067e7) ([merge request](gitlab-org/gitlab!99032)) +- [Remove FF email_for_two_factor_otp_failure](gitlab-org/gitlab@66796002bf6de33f5952e1e063d4ccb860846e9e) ([merge request](gitlab-org/gitlab!100114)) +- [Add DORA4 charts to Insights by default](gitlab-org/gitlab@efb28d6c98230bf8a77ca8a66432fb3f76197700) ([merge request](gitlab-org/gitlab!99225)) **GitLab Enterprise Edition** +- [Add the ability to sort iterations by due date](gitlab-org/gitlab@cd4a8bf0d83ec6a12cdc5c1a05c80d0b71b7a9c1) ([merge request](gitlab-org/gitlab!98952)) **GitLab Enterprise Edition** +- [feat: Add resolved_on_default_branch index to vuln reads](gitlab-org/gitlab@368f51aceb6895af811cf7e395bb0840a42e11b8) ([merge request](gitlab-org/gitlab!100044)) +- [Add glm values for trials](gitlab-org/gitlab@a99100b45768b854fc05cde1df92db7968ff4bcb) ([merge request](gitlab-org/gitlab!98572)) +- [Add isDefault to BranchRule type objects in GraphQL endpoint](gitlab-org/gitlab@bbbcb9b6385369b641309637b61edd9dfc626623) ([merge request](gitlab-org/gitlab!98852)) +- [Remove forward_deployment_enabled feature flag](gitlab-org/gitlab@f7f97f6e1b5d97c8e280acfeac46c95d81844a5d) ([merge request](gitlab-org/gitlab!99984)) +- [RpmRepositoryFile model with uploader and spec](gitlab-org/gitlab@f392f35e829fb8b022f7acf305b5803568659fc4) ([merge request](gitlab-org/gitlab!97484)) +- [Add X-Gitlab-Instance header to webhooks](gitlab-org/gitlab@dd4d8638aa9bffb8f43af0df7944412594fbebcd) ([merge request](gitlab-org/gitlab!99945)) +- [Add support for emojis suggestions](gitlab-org/gitlab@793ad40b90bdccb12199f74fd6e32ac4addfe889) ([merge request](gitlab-org/gitlab!99471)) +- [Add Scheduled badge to pipeline detail view](gitlab-org/gitlab@79c1fb6dbcc98d605e3a8a9ef5eb675fbbea5ceb) by @Taucher2003 ([merge request](gitlab-org/gitlab!99537)) +- [Add migration for direction column of ci scope](gitlab-org/gitlab@cb1c0988ff67a5c5b98b4d9f6672a72fa6326a45) ([merge request](gitlab-org/gitlab!98673)) +- [Trigger mergeRequestReviewersUpdated when reviewer state change](gitlab-org/gitlab@2fbc6220d32ec5797aac5d1024508f8115ff8ae1) ([merge request](gitlab-org/gitlab!98953)) +- [REST API filter issues by any/none health status](gitlab-org/gitlab@b5186974b756e42fe1c6678b979697a70c3d4c15) ([merge request](gitlab-org/gitlab!99209)) **GitLab Enterprise Edition** +- [Add mailer with templates](gitlab-org/gitlab@6d03a6d034334f306f07c6e610bf4ec043450f42) ([merge request](gitlab-org/gitlab!95865)) **GitLab Enterprise Edition** +- [Enable Releases feature toggle](gitlab-org/gitlab@cc99de39a41acafdabab81d4ec2d8740ad8faa4a) ([merge request](gitlab-org/gitlab!99045)) +- [Disable all types of personal access tokens when FIPS enabled](gitlab-org/gitlab@44433b601d79c7a028f0375e0b084fba9bc85173) ([merge request](gitlab-org/gitlab!97299)) **GitLab Enterprise Edition** +- [Add resource groups API endpoint to list upcoming jobs](gitlab-org/gitlab@52f3c76aa3c8def53ffe7c4f82049c76363c5548) ([merge request](gitlab-org/gitlab!99027)) +- [Enable skip_default_scope_for_events FF by default](gitlab-org/gitlab@3ccf648e2ea14a24ab74397d4b770cabe0711f04) ([merge request](gitlab-org/gitlab!99230)) +- [Add suppport for suggestions in content editor](gitlab-org/gitlab@3be46069fdb1bb6ecaa9dee258d4278134dc4f5f) ([merge request](gitlab-org/gitlab!90753)) +- [Trigger mergeRequestReviewersUpdated subscription when reviewers change](gitlab-org/gitlab@bcacf60b7be1eb9d25ec0479620781c7b59222e0) ([merge request](gitlab-org/gitlab!98941)) +- [Shift `can_create_group` to ApplicationSetting](gitlab-org/gitlab@7d11d710a650590ca37f047392206f5938460e78) ([merge request](gitlab-org/gitlab!96746)) +- [Create table and model to store user's phone number validations](gitlab-org/gitlab@431e31d370226f0019a26e3813bfde711da65058) ([merge request](gitlab-org/gitlab!97762)) +- [Map 'Require conversation resolution' GitHub rule with project setting](gitlab-org/gitlab@00e0bc0cac08817ab850f4bfa3f8372c8db30d59) ([merge request](gitlab-org/gitlab!98107)) +- [Add ci_pipeline_metadata table to hold title strings](gitlab-org/gitlab@c8bfacd3161205f2325b3c47c5f566bdeb58c7fd) ([merge request](gitlab-org/gitlab!97139)) +- [Add and fill foreign key for approval rules](gitlab-org/gitlab@84a0389959f20e8cc3a5bac2935caa5c792712ea) ([merge request](gitlab-org/gitlab!97270)) **GitLab Enterprise Edition** +- [Add timing when we use caching in certain api/controller endpoints](gitlab-org/gitlab@7d7122f1ee5d09912183e08521d3cefc3a792a94) ([merge request](gitlab-org/gitlab!99035)) +- [Add timing for mergeability checks](gitlab-org/gitlab@39cd0190ad263ab7c6b70fd8b318df15a37f2489) ([merge request](gitlab-org/gitlab!99036)) +- [Support GraphQL subscription for iteration assignment](gitlab-org/gitlab@b34d63a301ab25c991bfc94995bb00056724a3c8) ([merge request](gitlab-org/gitlab!98536)) **GitLab Enterprise Edition** +- [Add unprotectAccessLevels to EE graphql endpoint](gitlab-org/gitlab@b30483683aa7a082a73dd452c18332697967d007) ([merge request](gitlab-org/gitlab!96694)) **GitLab Enterprise Edition** +- [Jitsu/GitLab Connection PoC](gitlab-org/gitlab@d69ea144d285ddcc7e0bbe7014a87b9da27e8f31) ([merge request](gitlab-org/gitlab!95999)) +- [Project setting for suggested Reviewers](gitlab-org/gitlab@d04e9c5403a7cc7a5f3a693f4f63c78feba75f3a) ([merge request](gitlab-org/gitlab!97376)) +- [Add CI_JOB_NAME_SLUG predefined CI variable](gitlab-org/gitlab@8cbcf9ca9be9d180f568ccecf27d6bcd6ed056cc) by @jdoubleu ([merge request](gitlab-org/gitlab!94169)) +- [Allow users to create annotated tags from release](gitlab-org/gitlab@8c8ad574e082928f20d118ce58078a0dd4c114a0) ([merge request](gitlab-org/gitlab!98448)) +- [Allow autosaving wiki content](gitlab-org/gitlab@2a6e232a62a2a235bf64aa74a691784a5fa0fdfa) ([merge request](gitlab-org/gitlab!97221)) +- [Send email notification when a personal access token is revoked](gitlab-org/gitlab@fbe9afe952c8624e1960d11f69d93ce466f0c318) ([merge request](gitlab-org/gitlab!98911)) +- [GraphQL: Add ALL_AVAILABLE membership value](gitlab-org/gitlab@4f0d8443d8424a993145c6926aaf4104aacb0927) ([merge request](gitlab-org/gitlab!96770)) +- [Include tag specific additional CI variables](gitlab-org/gitlab@3e6b681ee501e4818a86650580b97eadc5c2738d) ([merge request](gitlab-org/gitlab!98349)) +- [Prepares ci_builds_metadata to partitioning](gitlab-org/gitlab@182d3e84aa66380d8b6efcf0f7964e6ebf672c24) ([merge request](gitlab-org/gitlab!97926)) +- [Email user when their 2FA OTP attempt is wrong](gitlab-org/gitlab@cb972761814d43498181f2682f0c972cd574352f) ([merge request](gitlab-org/gitlab!98507)) +- [Backfill epic cache counts](gitlab-org/gitlab@d5f847a90e2d9d9aae910a3ce4f7b7460c476805) ([merge request](gitlab-org/gitlab!97351)) +- [Adds log-parameter and log-batch MLFlow endpoints](gitlab-org/gitlab@0571e6e10c43021a0e93c4a0ac530cc91db32221) ([merge request](gitlab-org/gitlab!97815)) +- [Prepare async index for vulnerability reads location image](gitlab-org/gitlab@569450b5d8a4e642562e2c04aa2801b1e92ddfe5) ([merge request](gitlab-org/gitlab!98474)) +- [Add issuableDescriptionUpdated to the GQL subscription type](gitlab-org/gitlab@97fb6d7bceeddaad1db7b3873777784cb2a3ad40) ([merge request](gitlab-org/gitlab!98458)) +- [Expose if user can mark notes as confidential](gitlab-org/gitlab@b229921bb31a6141324c2f3de8be2ebd1b91f31c) ([merge request](gitlab-org/gitlab!98707)) +- [Add Any and None options to filter issues by health status](gitlab-org/gitlab@393e590e8844a011b84659c4c62bd43f72739978) ([merge request](gitlab-org/gitlab!98386)) +- [Expose BulkImports::Failure#exception_message in the API](gitlab-org/gitlab@e47a443d913c5f3533c019eda29c60a7254de997) ([merge request](gitlab-org/gitlab!98665)) +- [Add real time capability for work item assignees widget](gitlab-org/gitlab@dfc46b67a0022a70ac8c981fe136f2def635f865) ([merge request](gitlab-org/gitlab!98492)) +- [Support secure schemas version 15.0.2](gitlab-org/gitlab@308aaa3fc5e32deae80e18a96799458a223eb143) ([merge request](gitlab-org/gitlab!98587)) **GitLab Enterprise Edition** +- [Add X-Gitlab-Instance header to webhooks](gitlab-org/gitlab@198f641481659c28a2bcc3cb2f76d98eb530e8c1) ([merge request](gitlab-org/gitlab!98624)) +- [Display blocking items on Roadmap](gitlab-org/gitlab@fda93117389514c22607050e02edc131a745347b) ([merge request](gitlab-org/gitlab!98392)) +- [Fetch Iteration widget as well for work items type task](gitlab-org/gitlab@780fd15bcd4f93c39d4d9ff6dea613b25bbcc298) ([merge request](gitlab-org/gitlab!98316)) +- [Add unique indexes to facilitate bulk upserts](gitlab-org/gitlab@7ca654a19625442ff0dab32c00fccd962c41300c) ([merge request](gitlab-org/gitlab!96575)) +- [Add note when child epic gets moved](gitlab-org/gitlab@09015cfdbd5add5c1dc01cc29b21b817ed65b694) ([merge request](gitlab-org/gitlab!98325)) **GitLab Enterprise Edition** +- [Add jobs endpoint](gitlab-org/gitlab@308d926167e7133a859182bdf4aff1afe05a3e82) by @TrueKalix ([merge request](gitlab-org/gitlab!98533)) +- [Add glm values for trials](gitlab-org/gitlab@6b3118e3cb6d5c4293bcbee9c5472f95d8e2c529) ([merge request](gitlab-org/gitlab!96784)) +- [Allow epics having child issues from different group hierarchies](gitlab-org/gitlab@2f4256e3bfbf1d5c8a56c32aac066c6845b9d787) ([merge request](gitlab-org/gitlab!97159)) **GitLab Enterprise Edition** +- [Schedule index removal for ci_builds_metadata](gitlab-org/gitlab@f26d8a55bc791b718b866c8d93cfba2a3cad0f04) ([merge request](gitlab-org/gitlab!98429)) +- [Add GET /personal_access_tokens/self endpoint](gitlab-org/gitlab@39c63ee83369bf5353256a6b95f3116728edd102) ([merge request](gitlab-org/gitlab!98104)) +- [Add a timeline event preview markdown endpoint](gitlab-org/gitlab@123296a44a6b36369709d392c41b2ed98beda386) ([merge request](gitlab-org/gitlab!96540)) +- [Add indexes to ci_builds_metadata](gitlab-org/gitlab@9a5e8c3e06487896502ad5b3d7163f8128de93d6) ([merge request](gitlab-org/gitlab!98170)) +- [Metrics for GitLab for Jira App](gitlab-org/gitlab@7f80098fddca43c386a7c4b2ca4d785e246aac16) ([merge request](gitlab-org/gitlab!97674)) +- [Display permission alert on epic tree count popovers](gitlab-org/gitlab@855539b65b68a1885c6901918f3ea896234c7b71) ([merge request](gitlab-org/gitlab!96210)) **GitLab Enterprise Edition** +- [Add issue resource_iteration_events to Project Import/Export](gitlab-org/gitlab@2e48aa277337dd218a7389f3eb8c0178db6f56f7) ([merge request](gitlab-org/gitlab!96883)) **GitLab Enterprise Edition** +- [Use Google CDN if enabled for CI job artifacts](gitlab-org/gitlab@611ccae9c09849c807e9ad1690f0904de224bb94) ([merge request](gitlab-org/gitlab!98010)) +- [Adds LogMetric endpoint to MLFlow](gitlab-org/gitlab@570d435892cb2bc39efba2e38a1b5d3afe50e846) ([merge request](gitlab-org/gitlab!97394)) +- [Frontend for Environment Search](gitlab-org/gitlab@aaabd802d72a76e7bfc34e9774bb422a4129d5c4) ([merge request](gitlab-org/gitlab!97834)) +- [Add pipeline_schedule GraphQL type](gitlab-org/gitlab@649c370cc59297b8cab01e24b498e41751b8a388) ([merge request](gitlab-org/gitlab!96715)) +- [Added straight mode to compare view](gitlab-org/gitlab@659f0ce91eca4a5489df847647e52671fa91b612) by @DracoBlue ([merge request](gitlab-org/gitlab!80031)) +- [Show Slack App Home](gitlab-org/gitlab@6aaaf589d2c2dadd17e8110971185847384da3a6) ([merge request](gitlab-org/gitlab!98297)) +- [Show “Merged date” sort option for dashboard MRs](gitlab-org/gitlab@9cd4a015ff8e076733d6d8df0af5beec83e191fe) ([merge request](gitlab-org/gitlab!98244)) +- [Extend GraphQL query for protected environments](gitlab-org/gitlab@049d98963e88d502b8b272fa12a12513d6bccd50) ([merge request](gitlab-org/gitlab!96221)) **GitLab Enterprise Edition** +- [Add source_id to BulkImports::Entity table](gitlab-org/gitlab@121591e3ef13690ba139d975b3ceffcf65f84d25) ([merge request](gitlab-org/gitlab!98197)) +- [Add filters for PAT](gitlab-org/gitlab@4ddb2ad0b79789e91f7b7a3f0e493d0219ec8aa8) by @TrueKalix ([merge request](gitlab-org/gitlab!93565)) +- [Add group shares in group transfer locations API](gitlab-org/gitlab@4ff81f280e0f03aa373898992c64304503646582) ([merge request](gitlab-org/gitlab!98190)) +- [Add any, none filters for issue health status](gitlab-org/gitlab@3c1f8a151e9cb3fca33a13b3ce66f38ad7161ba8) ([merge request](gitlab-org/gitlab!97614)) +- [Add any, none filters for issue health status](gitlab-org/gitlab@2e52c5a8e2005a85736c489baf80e890060997cb) ([merge request](gitlab-org/gitlab!97614)) +- [Add REST API filters for issue health status](gitlab-org/gitlab@dea5345eafa0832420974dabac33f4cfcff90d83) ([merge request](gitlab-org/gitlab!97727)) +- [Add REST API filters for issue health status](gitlab-org/gitlab@2ea4d85a6a3d38f9312c3f91f758b0c7c6dec296) ([merge request](gitlab-org/gitlab!97727)) + +### Fixed (164 changes) + +- [Fix: locale on sidebar items when collapsed](gitlab-org/gitlab@a07d403a43c87002cc038207b7005e1e8235d003) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!101014)) **GitLab Enterprise Edition** +- [Don't fail project export if upload file doesn't exist](gitlab-org/gitlab@96fc6e42b6ea59942ab1cd14a80176f69481850e) ([merge request](gitlab-org/gitlab!101253)) +- [Prevent JobArtifactsDestroy whilst refreshing](gitlab-org/gitlab@816a370d4f036e3906eb08f2584751d3430a398a) by @leetickett ([merge request](gitlab-org/gitlab!98419)) +- [GitLab Version - Properly track link clicks](gitlab-org/gitlab@f2f2f3ba8ccaf5ee9b50b45de4dd97dbf6a5ad32) ([merge request](gitlab-org/gitlab!100978)) +- [Fix naming issue with Test Summary widget](gitlab-org/gitlab@98e6cca2ead62be85982de8a63f61be4ef899bbf) ([merge request](gitlab-org/gitlab!101285)) +- [Ensure current user owns table to partition](gitlab-org/gitlab@db15059f9b4975b05ba0dab381c97e794abcc2cf) ([merge request](gitlab-org/gitlab!100889)) +- [Check for path traversals in the debian distribution regex](gitlab-org/gitlab@afe19c00b1d467df7dba24c7ccd7e556bcd52d2f) by @sathieu ([merge request](gitlab-org/gitlab!100041)) +- [Fix spurious requests when viewing PDF blobs](gitlab-org/gitlab@09521e346c0b225e093d9fa37c827849e564a683) ([merge request](gitlab-org/gitlab!99492)) +- [Pass additional_params to search API logging](gitlab-org/gitlab@ed00a23caec56bf778d21c05b74ff8e790978330) ([merge request](gitlab-org/gitlab!101047)) +- [Fix scoped label styles in activity feed](gitlab-org/gitlab@3b534bb54018abe1ce762e716325556e0ca30b3c) ([merge request](gitlab-org/gitlab!101040)) +- [Gitlab Migration - retry ExportRequest & RequestStatus network requests](gitlab-org/gitlab@1865da48e6cb5927a1a797121b5dd3bdfb2cad82) ([merge request](gitlab-org/gitlab!100869)) +- [Fix 500 error when namespace path is a negative integer](gitlab-org/gitlab@f6c1e2f44fabe10fbfc15b9bb59829fe2cc3d78c) ([merge request](gitlab-org/gitlab!101206)) +- [Prevent outdated deployments from running before execution](gitlab-org/gitlab@8f07ea6c773d52c21e7fbc373b3d4dbc705243fc) ([merge request](gitlab-org/gitlab!100983)) +- [Persist page size for group migration](gitlab-org/gitlab@6d772285bc17e93e15f5525c5e964b5c4d74d740) ([merge request](gitlab-org/gitlab!101179)) +- [Use configured namespace when generating Kubeconfig](gitlab-org/gitlab@ecabf92e50ec9a53b3363b41cf9dc8eaec5d9fec) ([merge request](gitlab-org/gitlab!93423)) +- [Add the labels to the cache key for merge request api](gitlab-org/gitlab@9d47ce44863993668f372c5cc0be2fc041114d6d) ([merge request](gitlab-org/gitlab!101137)) +- [Don’t append base to links with old wiki path](gitlab-org/gitlab@f0b8e53874572fbfddbfd9d04d34c699b2d25779) ([merge request](gitlab-org/gitlab!101107)) +- [Ensure schemas are up-to-date after migration tests complete](gitlab-org/gitlab@a93da703bc26c8601e82535d48299f18cf123b1d) ([merge request](gitlab-org/gitlab!100455)) +- [Fix broken trial registration spec](gitlab-org/gitlab@0575517be2379ee423461d4bd63f72d8e763db1b) ([merge request](gitlab-org/gitlab!101091)) **GitLab Enterprise Edition** +- [Fixed commit messages not wrapping when too long](gitlab-org/gitlab@93da5b21b0c63cd6faa2c259e54095ebb600b034) by @zillemarco ([merge request](gitlab-org/gitlab!101093)) +- [Hide Reviewers Edit Button when no permissions](gitlab-org/gitlab@60ad24396b87ecca014bbc01954b1272b261b65f) by @Taucher2003 ([merge request](gitlab-org/gitlab!101054)) +- [Allow grouping more than 1 label of same scope in iteration reports](gitlab-org/gitlab@5ee3b6cf085dd659726cd974d6d31d9c54140cf0) ([merge request](gitlab-org/gitlab!100950)) +- [Fix site profile edit with empty fields](gitlab-org/gitlab@ccca1a1aa2fec649ff31b3bdb76b88b28998bebd) ([merge request](gitlab-org/gitlab!100797)) **GitLab Enterprise Edition** +- [Fix remove epic modal to include children info](gitlab-org/gitlab@8e7bd204eb7166992e817d1c9c6f4c53621baa40) ([merge request](gitlab-org/gitlab!101009)) **GitLab Enterprise Edition** +- [Fix: locale on todo filter](gitlab-org/gitlab@f8dfc1071957bb653482f8e298c1f487804eab69) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!101001)) **GitLab Enterprise Edition** +- [Remove auto_accept_terms from OAuth::User](gitlab-org/gitlab@e03eb105ff4b851f6773f7918205db819e3228a2) ([merge request](gitlab-org/gitlab!99193)) +- [Fix alignment of internal note header](gitlab-org/gitlab@5d1d7a42a8a5f00e2d228150404bc8e7a810364b) ([merge request](gitlab-org/gitlab!100867)) +- [Fix glm param dropping in the company controller](gitlab-org/gitlab@aa1fa51980adaaaee4976b02ac9fe9ebd6e29d82) ([merge request](gitlab-org/gitlab!100754)) **GitLab Enterprise Edition** +- [GitLab Version - Properly import on dashboard](gitlab-org/gitlab@5ef3b8365d54bb41a9b5145f7adedee019b844e2) ([merge request](gitlab-org/gitlab!100955)) +- [Fix internal note background styling when using dark mode](gitlab-org/gitlab@b2bf38d46115d4ddc070817cb85e67032b06bdf5) ([merge request](gitlab-org/gitlab!100920)) +- [Fix alignment issues on agent activity list](gitlab-org/gitlab@129caf5a4b01799dfab1301829ae0a0c6c78a04c) ([merge request](gitlab-org/gitlab!100918)) +- [Add internal_id allocation for GitHub Import](gitlab-org/gitlab@32d53f0883fd26e1a7d893dc0b6874562866e209) ([merge request](gitlab-org/gitlab!100670)) +- [Show error when removing epic or issue from epic](gitlab-org/gitlab@916bcd283241fef7cf2271e128c38b99e3181c14) ([merge request](gitlab-org/gitlab!100898)) +- [Fix: admin subscription time format locale issue](gitlab-org/gitlab@31084852b2b341c0407f0b1aa2cc8fb4545390cf) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!100534)) **GitLab Enterprise Edition** +- [Fix mis-alignment of the action buttons in extensions](gitlab-org/gitlab@81536d3a4de5ff7b48f193846c72cd460b0acfbb) ([merge request](gitlab-org/gitlab!100127)) +- [Support username in assign push options](gitlab-org/gitlab@2d19871ace076cbeffe7b0920244b8e993637572) ([merge request](gitlab-org/gitlab!99195)) +- [Enable read_runner permission for auditors, also for instance runners](gitlab-org/gitlab@7273a5149d1023561d47f2d4ee41080e6faa87fa) ([merge request](gitlab-org/gitlab!100497)) **GitLab Enterprise Edition** +- [Enable read_group_all_available_runners permission for auditors](gitlab-org/gitlab@815f1098922c4baac73187d6d5671541f359ee55) ([merge request](gitlab-org/gitlab!100497)) **GitLab Enterprise Edition** +- [fix: Improve shell variable quoting in Coverage-Fuzzing templates](gitlab-org/gitlab@567156dbea6546f207228e28e55e78b526147abd) ([merge request](gitlab-org/gitlab!100762)) +- [Fix grammatical error in exclusive keys validator](gitlab-org/gitlab@c7d58af45ada83c1bc5df97bfe6c78f9a4a60ce9) ([merge request](gitlab-org/gitlab!100716)) +- [Do not show banner if SM subscription is renewed](gitlab-org/gitlab@243da42a56e947996f5c59a7f7079996a7994960) ([merge request](gitlab-org/gitlab!100187)) **GitLab Enterprise Edition** +- [Remove and add ci_job_variables.raw](gitlab-org/gitlab@55a9c2633d71a6a16f3a1fdfa9ac594a8846923b) ([merge request](gitlab-org/gitlab!100705)) +- [Fix feature flag file location](gitlab-org/gitlab@ea8efcb2989b88047b75a49da76be9462a3c14b2) ([merge request](gitlab-org/gitlab!100580)) **GitLab Enterprise Edition** +- [Fix markdown for iteration description](gitlab-org/gitlab@1f31a1ef4cdcf2f774065c7dae635a201a9c35f9) ([merge request](gitlab-org/gitlab!100646)) **GitLab Enterprise Edition** +- [Fix line height on project and group lists](gitlab-org/gitlab@d211194c70c872dcdf1ddf7b450075ec63311438) ([merge request](gitlab-org/gitlab!98608)) +- [Allocate InternalId for importing issues](gitlab-org/gitlab@bca781f97c52cce09232f21d233386ea33bc6839) ([merge request](gitlab-org/gitlab!99145)) +- [Remove outdated migration steps](gitlab-org/gitlab@5a06bb52e87f576e359fd0a5b073aad7a66a7eb5) ([merge request](gitlab-org/gitlab!100584)) +- [Add scrolling support for jupyter notebooks](gitlab-org/gitlab@be3cde97119c940b2d9841fefe3821d7f6cc79d3) ([merge request](gitlab-org/gitlab!100581)) +- [Fix HLJS multi-line-rendering](gitlab-org/gitlab@8c782ebc16afb7b8a52c31bea32b3403815c6751) ([merge request](gitlab-org/gitlab!100566)) +- [Fix runner instructions with disabled registration](gitlab-org/gitlab@7f350f513a91944f0a6a5d3c940e55214360d6c1) ([merge request](gitlab-org/gitlab!100391)) +- [Fix RunnerPolicy to allow group maintainers to see shared runners](gitlab-org/gitlab@35e0c798c59f84295ce405d4dadfde662f466dda) ([merge request](gitlab-org/gitlab!100327)) +- [Fix Wiki feature raises exception when titles start with ~](gitlab-org/gitlab@ac3c76779dae9063de5f8444f7c64f860766f3da) ([merge request](gitlab-org/gitlab!100567)) +- [Fix duplicate key errors during GitHub Import](gitlab-org/gitlab@8811faf7157c35837aac6870348f35ed7c24a506) ([merge request](gitlab-org/gitlab!99493)) +- [Fix case where Merge Request change tab shows incorrect number](gitlab-org/gitlab@0a3d35423bb3899542b80deb2810ae1bf068bb30) by @hyperhtml ([merge request](gitlab-org/gitlab!100243)) +- [Avoid loading entire blob without limit for displaying diffs](gitlab-org/gitlab@4c3c470292b751558e37ea507513edec5939c8cb) ([merge request](gitlab-org/gitlab!99029)) +- [Migrate bulk sidebar subscriptions dropdown to pajamas](gitlab-org/gitlab@7cfd5fd2ae5d876cd9074225ec62fda5ff948573) ([merge request](gitlab-org/gitlab!100444)) +- [Add bottom margin to "Protect a tag" card](gitlab-org/gitlab@2fe5694c486c89ebb1400fccdd5d4b7c24578094) ([merge request](gitlab-org/gitlab!100423)) +- [Fix epic items not loading for signed out users](gitlab-org/gitlab@77dc763208b2de7ce5a91faa2467df24e5a54aef) ([merge request](gitlab-org/gitlab!100183)) **GitLab Enterprise Edition** +- [fix: Don't fetch environments on Admin variables page](gitlab-org/gitlab@7e2e8cd84f1b4222463c6b624959303eca4a0068) ([merge request](gitlab-org/gitlab!100403)) +- [Render markdown for snippets if links contain hash to anchor](gitlab-org/gitlab@00eab5f52c9e182682ef533c89228a06741f12f7) by @fabsrc ([merge request](gitlab-org/gitlab!100395)) +- [Enable the FF ci_requeue_with_dag_object_hierarchy](gitlab-org/gitlab@3edfaba4b42f0ced5e33fbef00e31152676a1a1d) ([merge request](gitlab-org/gitlab!100400)) +- [Fix closing of external issues](gitlab-org/gitlab@470af621748ce74f08333763bbb465c9509ca869) ([merge request](gitlab-org/gitlab!100172)) +- [Improve error message when providing an invalid deploy key](gitlab-org/gitlab@84c2ee9280c11d22a2e2e43a780c041238086214) by @davebarr ([merge request](gitlab-org/gitlab!92780)) +- [Fix indentation of children epics on Roadmap](gitlab-org/gitlab@75c5d094fa5bf04debf27b78e22bf910a9a35af9) ([merge request](gitlab-org/gitlab!100359)) **GitLab Enterprise Edition** +- [Use custom logo on sign in page again](gitlab-org/gitlab@3be2eb14d939a862005bb4f4e39a5eac2119487b) by @wwwjon ([merge request](gitlab-org/gitlab!98898)) +- [Fix lock retries for the partition helper](gitlab-org/gitlab@757b40c7f2a32ac359f3abb84228e34d7d8f49cf) ([merge request](gitlab-org/gitlab!100169)) +- [Fix alignment issues of resolved with issue system note](gitlab-org/gitlab@3276e1daed12a63c18b6b4ae24d1d2e50abe4c22) ([merge request](gitlab-org/gitlab!100345)) +- [This MR fixes cron parsing bug](gitlab-org/gitlab@ff85e9e8bdf09c1eb8362dd8237eab454e27f309) ([merge request](gitlab-org/gitlab!99267)) **GitLab Enterprise Edition** +- [Don't change escalations if neither status nor policy changed](gitlab-org/gitlab@0e13f4f85a6033bdae56bc54bafbf5eaa96c9f58) ([merge request](gitlab-org/gitlab!100316)) **GitLab Enterprise Edition** +- [Hide Analytics features based on project settings](gitlab-org/gitlab@9608ef13ad7cee2d63bd18ccfacb7707ad41ff74) ([merge request](gitlab-org/gitlab!100257)) +- [Set default link color to blue-500](gitlab-org/gitlab@6d47797b5a522e69bd4a815b03638e35fd89c9e2) ([merge request](gitlab-org/gitlab!100113)) +- [Fix project create service to use known columns](gitlab-org/gitlab@47025b5f21d9199c66aaafde84645278829070c1) ([merge request](gitlab-org/gitlab!99097)) **GitLab Enterprise Edition** +- [Fix alignment on changed line in multiline suggestion comment](gitlab-org/gitlab@0a10c70d5197ece5ff02538de6fc356786af6f6a) ([merge request](gitlab-org/gitlab!100213)) +- [fix: Compare email addresses case insensitively](gitlab-org/gitlab@521a05eae652e365ddf0fa76f04bc00d191eea7c) by @DerAstronaut ([merge request](gitlab-org/gitlab!99115)) +- [Deal with multiple filters in query builder](gitlab-org/gitlab@f2bad1f3fef329b151a2b547559fee4879aa107f) ([merge request](gitlab-org/gitlab!99246)) **GitLab Enterprise Edition** +- [Better memoize BulkImports::ExportStatus#export_status](gitlab-org/gitlab@09d9c9aa84e7fdd7e3dbf937ace8ff823cc5d27e) ([merge request](gitlab-org/gitlab!100186)) +- [Fix variables alignment](gitlab-org/gitlab@5486d9b6d66bba1b620e4ddbb16d6d42c82bb1aa) ([merge request](gitlab-org/gitlab!100177)) +- [Add retriable exceptions & dont raise if wiki is disabled](gitlab-org/gitlab@84089400306352ee7f7732d33aab7deb66232c6e) ([merge request](gitlab-org/gitlab!99275)) +- [Fix encoding issues with plantuml blocks](gitlab-org/gitlab@49757ee0d1a5c35b89ec2fdbf6297d70b3b90108) ([merge request](gitlab-org/gitlab!99946)) +- [Removing single quotes to avoid harbor help text being rendered as math](gitlab-org/gitlab@03f9711dd9388347e4d69f5b28e25fa692a6fd20) by @orozot ([merge request](gitlab-org/gitlab!98902)) +- [Show notifications toggle when mr merged](gitlab-org/gitlab@4b69a5eaebfc689aba2ae7a7fcf5c602e73cd3ac) by @leetickett ([merge request](gitlab-org/gitlab!99703)) +- [Fix 500 errors in Projects::AutocompleteSourcesController](gitlab-org/gitlab@e2bf82df42172a0a60da14b5c40b9138a5197a84) ([merge request](gitlab-org/gitlab!99700)) +- [Add missing tooltip for deployment name](gitlab-org/gitlab@996e5f97f7ad8e582ddcb7517631e81e3f0a83d7) ([merge request](gitlab-org/gitlab!98916)) +- [Fix ES settings form localization](gitlab-org/gitlab@6f7f5c39528ba441432898615915f75921b31043) by @Taucher2003 ([merge request](gitlab-org/gitlab!99541)) **GitLab Enterprise Edition** +- [Add WikiLinkFilter to AsciiDocPipeline](gitlab-org/gitlab@2efc9a2822d0bd29e0ceeeddf920b067fde88f39) ([merge request](gitlab-org/gitlab!99514)) +- [Fix serialization of tables in Content Editor](gitlab-org/gitlab@f9bac3effb5b1170091f858320a45615dbca58a2) ([merge request](gitlab-org/gitlab!99520)) +- [Prevent creation of duplicate deploy tokens on page refresh](gitlab-org/gitlab@abc93c805ff90abdadc259297f44c80d71d6fa62) ([merge request](gitlab-org/gitlab!98459)) +- [Fix two expand buttons on MR widgets when page width is narrow](gitlab-org/gitlab@b234209ef8c631ef0226b3bfbebe0a3497e346dd) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99064)) +- [Avoid linking CVE IDs as Jira tickets](gitlab-org/gitlab@fc3216a59226c7239161273023ed15c79bb3d55f) by @kelunik ([merge request](gitlab-org/gitlab!97939)) +- [Hide `Contributors` menu item](gitlab-org/gitlab@b84efdd49628ab0094d2e64388811b2f2a8d3314) by @TrueKalix ([merge request](gitlab-org/gitlab!99279)) +- [Fix ExternalDatabaseChecker tests for geo and PG11](gitlab-org/gitlab@177843b53ac54f6262d726bcf3a3a9703133be29) ([merge request](gitlab-org/gitlab!99223)) +- [When getting container repository tags, use a fixed page size](gitlab-org/gitlab@54858bfe8b6161a2e58b9efaff9a79880f999741) ([merge request](gitlab-org/gitlab!99248)) +- [This MR closes drawer when project changed](gitlab-org/gitlab@076116148ce1f743fffddce2cffebe33f765239b) ([merge request](gitlab-org/gitlab!98481)) **GitLab Enterprise Edition** +- [Fix REST/GRAPHQL APIs handling TODOs WorkItem target](gitlab-org/gitlab@28b297980600e13d86eb2de2f8214cc9ee67a5fd) ([merge request](gitlab-org/gitlab!98866)) +- [Remove usage of Geo::FileRegistryRemovalWorker worker](gitlab-org/gitlab@45d5794992a3683abd814d8cf09f4219d87a2afd) ([merge request](gitlab-org/gitlab!99156)) **GitLab Enterprise Edition** +- [Avoid runaway queue growth of Geo::DestroyWorker](gitlab-org/gitlab@31e3b7e6dc70b9379d3a9dfe9460f0b3885e7d2c) ([merge request](gitlab-org/gitlab!99156)) **GitLab Enterprise Edition** +- [Fix initial value set on TimezoneDropdown](gitlab-org/gitlab@23f59072aa7d1486093bbbcc60d202690e24af88) ([merge request](gitlab-org/gitlab!98998)) +- [Fix the epics search query for displaying roadmap](gitlab-org/gitlab@96c08813df5e6ed9fa2122c820be0e56c6476829) ([merge request](gitlab-org/gitlab!98722)) **GitLab Enterprise Edition** +- [Allow auditors read-only access to Alerts](gitlab-org/gitlab@767c659e05ea335f3e90e87d5a31cf411f70ee6e) ([merge request](gitlab-org/gitlab!98614)) **GitLab Enterprise Edition** +- [Fix flash margin in Web IDE](gitlab-org/gitlab@1143ce4a5bce2d22ab9e576e3fbd00350de9f6d0) ([merge request](gitlab-org/gitlab!98943)) +- [Discussion: Fix font-size and highlight](gitlab-org/gitlab@7e14eaead7f4f7d312eda67c63cd86b076b750b7) ([merge request](gitlab-org/gitlab!98973)) +- [Add missing licensed feature flag to frontend](gitlab-org/gitlab@d10cb1cdfad1e49125b7b0aecf2db819ac859758) ([merge request](gitlab-org/gitlab!99024)) **GitLab Enterprise Edition** +- [Update project member styles in GFM](gitlab-org/gitlab@86c9165c2ce75bfda0b4f016fe7a9f6543125fdb) ([merge request](gitlab-org/gitlab!98405)) +- [ExternalDatabaseChecker to support CI Database](gitlab-org/gitlab@bd6667e41266b80185464ed8c5314f1eb47623b5) ([merge request](gitlab-org/gitlab!98214)) +- [Allow multiple drafts on a single line in MR reviews](gitlab-org/gitlab@b3920e178f5118b4d477cd67a671ea1b5087b963) ([merge request](gitlab-org/gitlab!98494)) +- [Add the diverged commits when displaying the merge controls](gitlab-org/gitlab@6d997710637535cfe2f8d466101babd56a357571) ([merge request](gitlab-org/gitlab!98712)) +- [Fix DAST profile names for group security policies](gitlab-org/gitlab@96fb02177eb8fcb22bc821b4021f0bb2ea3db594) ([merge request](gitlab-org/gitlab!96225)) **GitLab Enterprise Edition** +- [Changes how project export tarballs are uploaded to an external website](gitlab-org/gitlab@b23939ed617484e95be021409fc799a4bbec99d4) ([merge request](gitlab-org/gitlab!99038)) +- [NuGet case-insensitive version search](gitlab-org/gitlab@a96ca9eb339ea2daaa3d1f5947b293a7630038e3) ([merge request](gitlab-org/gitlab!98382)) +- [Hide add oncall schedule buttons for unauthorized users](gitlab-org/gitlab@c6c3e9ac29b20fa7abdef145ecdffd0266b6fa0a) ([merge request](gitlab-org/gitlab!97023)) +- [Fix CI JSON schema for variables](gitlab-org/gitlab@345c3e45beec1c17f8edb176364a6ae2a7405fc8) ([merge request](gitlab-org/gitlab!98690)) +- [Fix 500 errors when sorting by merged date with approvers](gitlab-org/gitlab@2accf53461c18f82491e51ebc68176ce2189d60b) ([merge request](gitlab-org/gitlab!98731)) +- [Apply push rules to squash commit messages](gitlab-org/gitlab@6fce0d0eb3a76b693468a2866a4a519bed877692) ([merge request](gitlab-org/gitlab!98686)) **GitLab Enterprise Edition** +- [Update GitLab Migration to use source_id when requesting relation export](gitlab-org/gitlab@dc0b0c7b7e7a31507e58b134817d4b0765dc52c5) ([merge request](gitlab-org/gitlab!98234)) +- [LockWrites Rake Task to support DRY_RUN mode](gitlab-org/gitlab@4fc239e0e46df2716e74a20d3a0b381dc9570535) ([merge request](gitlab-org/gitlab!98768)) +- [Hide harbor registy in menu if uncheck active](gitlab-org/gitlab@c1a520a1056462ae8b177f2014f4d1d24d16eb9e) by @orozot ([merge request](gitlab-org/gitlab!98921)) +- [Fix wrong CLRF rendering](gitlab-org/gitlab@6ec51fa9656dfccbc873e728e7cb2d53fbb6ac24) by @TrueKalix ([merge request](gitlab-org/gitlab!98918)) +- [Exclude tiers if a protected environment exist from creation form](gitlab-org/gitlab@bcb0cf97c4d6966ed3ffac12da30a638d0e391da) ([merge request](gitlab-org/gitlab!98699)) **GitLab Enterprise Edition** +- [Hide MR Callout when MRs disabled for project](gitlab-org/gitlab@e5bc57a46aa44bf7b5e843d34c8ca89d8312e78b) by @Taucher2003 ([merge request](gitlab-org/gitlab!98879)) +- [Use toolbar buttons for indent/outdent](gitlab-org/gitlab@72bd58b49ab19aa43c6802189bb0be985da4e32d) ([merge request](gitlab-org/gitlab!98111)) +- [Fix unlocking previous pipeline artifacts](gitlab-org/gitlab@5a8864ee9eeba1aeb8b4f23f74d557bda90b4fa5) ([merge request](gitlab-org/gitlab!98693)) +- [Fix alignment issues on agent activity list](gitlab-org/gitlab@790ad85d53029ac938e3b3dae69540ad88ff4435) ([merge request](gitlab-org/gitlab!98323)) +- [Improve work item detail accessibility](gitlab-org/gitlab@3396a128bc104553c9b39e4216d1bd5f081db771) ([merge request](gitlab-org/gitlab!98216)) +- [Render form submit button using Pajamas::ButtonComponent](gitlab-org/gitlab@3b5ba95ba5544a5af7a78aad7b0eb113cd10216b) ([merge request](gitlab-org/gitlab!98779)) +- [Render form submit button using Pajamas::ButtonComponent](gitlab-org/gitlab@c9791839514832e277c00e849a2afabf103b2706) ([merge request](gitlab-org/gitlab!98774)) **GitLab Enterprise Edition** +- [Rescue exception when exporting MR diffs](gitlab-org/gitlab@5cd4a893c181bb68fa88593726ea87811686cfed) ([merge request](gitlab-org/gitlab!98680)) +- [Set BulkImports::Tracker as skipped if entity is failed](gitlab-org/gitlab@2eb14653d007e062c660151add64946b6720b59a) ([merge request](gitlab-org/gitlab!98676)) +- [Monkey patch Licensee::License to properly cache](gitlab-org/gitlab@d61b084295bd8fee2f2ebfdac6891b4baffc7b34) ([merge request](gitlab-org/gitlab!98638)) +- [License overview incorrectly shows 'Expired: never' for expired license](gitlab-org/gitlab@3abf32f0cfc37c3731be4f2cc408221db9cc4358) ([merge request](gitlab-org/gitlab!96673)) **GitLab Enterprise Edition** +- [Update `View latest projects` and `View latest groups` links](gitlab-org/gitlab@ba1eee0ad8b02862926bee2bc88451b45afdf1f5) ([merge request](gitlab-org/gitlab!98591)) +- [Reloading the classes runs the LoadBalancer again](gitlab-org/gitlab@f8fb0301dcbbe820714601d6ed274ccd7bbee5b3) ([merge request](gitlab-org/gitlab!98590)) +- [Revert "Merge branch 'toon-no-more-licensee' into 'master'"](gitlab-org/gitlab@cdebd72eaf730446dc1a9cfe1c2a54f87dbc4f9a) ([merge request](gitlab-org/gitlab!98584)) +- [Fix escaping for references with special characters](gitlab-org/gitlab@961bdd9b6dd4e1addc2ada5e9f2f7c0d2d903b34) ([merge request](gitlab-org/gitlab!98564)) +- [Do not save duplicate notes when importing pipelines](gitlab-org/gitlab@8bbf83378b367924b5a64737c31608f292cae4e4) ([merge request](gitlab-org/gitlab!97988)) +- [Add shortcuts and permalink updater to vue blob controls](gitlab-org/gitlab@6f56e1a86440e3d53887b734168f39a4713c1c62) ([merge request](gitlab-org/gitlab!98470)) +- [Show tasks in dashboard issue list](gitlab-org/gitlab@0228cfc2b79f025d471d5de14875b847314ff18c) ([merge request](gitlab-org/gitlab!98502)) +- [Simplify line link](gitlab-org/gitlab@54b0429e850a59de8dfba45b05191e2bea6b17ff) ([merge request](gitlab-org/gitlab!98515)) +- [Update custom tag reference in CI schema](gitlab-org/gitlab@196f4809abfa5a89e646afa4feabeebc3cf813bc) ([merge request](gitlab-org/gitlab!98512)) +- [Ensure that stage name and record are in sync for page deployments](gitlab-org/gitlab@fa110c43d89dae0d6c97d82d28785669fdbcf2c0) ([merge request](gitlab-org/gitlab!98506)) +- [Fix bugs around file attach button](gitlab-org/gitlab@88cb11f2555e44ba40f72e885eda93b06f13e8b5) ([merge request](gitlab-org/gitlab!98499)) +- [Keep pipeline editor commit info when changing tabs](gitlab-org/gitlab@b4863bbdff9b0c6769566ae2df5e64877ae5b980) ([merge request](gitlab-org/gitlab!98464)) +- [Fix wrong `inverse_of` in `vulnerability_state_transitions` association](gitlab-org/gitlab@cd7cd1ad8d7ab244474273586a8025751c76e487) ([merge request](gitlab-org/gitlab!98451)) +- [Fix label events being grouped incorrectly](gitlab-org/gitlab@5b4e4d94484cb62f769070bfa1173f0dc2c74646) ([merge request](gitlab-org/gitlab!98449)) +- [Resolve failure path issue on creating leads](gitlab-org/gitlab@4a42d7f6a4ebed4caee09591395cdadc336cdb43) ([merge request](gitlab-org/gitlab!98232)) **GitLab Enterprise Edition** +- [Filter all settings sections and show empty state if no results](gitlab-org/gitlab@8d4ed030a9763179c0cb1ff6eb72d69699adf8b7) ([merge request](gitlab-org/gitlab!96873)) +- [Avoid preloading nil root_ancestor in ProjectRootAncestorPreloader](gitlab-org/gitlab@dd07740d4b6514842a95f7eaefff3002fe2b49cd) ([merge request](gitlab-org/gitlab!97864)) +- [Fix undismissable error alert on contact list](gitlab-org/gitlab@11a023e31b6f3583b6fe4d314587d85dd0f2fda1) by @leetickett ([merge request](gitlab-org/gitlab!96247)) +- [Remove attach file button from toolbar](gitlab-org/gitlab@6c183572524d4491f38e2f06859db40b746bd464) ([merge request](gitlab-org/gitlab!98401)) **GitLab Enterprise Edition** +- [Remove vulnerability approval rules](gitlab-org/gitlab@79324022c54960c0da6319debceab1f499b16739) ([merge request](gitlab-org/gitlab!96385)) **GitLab Enterprise Edition** +- [Fix N+1 queries when fetching labels of child epics](gitlab-org/gitlab@8504996bee0a122cd90bd88a87bf8ad81e006bf6) ([merge request](gitlab-org/gitlab!97705)) **GitLab Enterprise Edition** +- [Add navbar to empty search results](gitlab-org/gitlab@b3d03f2135cd1abbb72409fe03fb8262824de148) ([merge request](gitlab-org/gitlab!98024)) +- [Show emoji in user_popover when status text is empty](gitlab-org/gitlab@f369bc31263fdbed4edf4542b9ef6f68e11cb831) by @n0rdlicht ([merge request](gitlab-org/gitlab!98212)) +- [Only focus search in dropdown if it has artifacts](gitlab-org/gitlab@c4ba4700ec1dabf622ec18b1ca515e128641a942) ([merge request](gitlab-org/gitlab!97714)) +- [Improve specs](gitlab-org/gitlab@ba31812af82f08f8e1ee1fe25be098bf7789183f) ([merge request](gitlab-org/gitlab!98302)) +- [Replace visitUrl with Gl-Link in ci-badge-link](gitlab-org/gitlab@fcfe74b0a4f37c31776a92e0dfd3a4114245a97c) by @leetickett ([merge request](gitlab-org/gitlab!97601)) +- [Move the index removal migration to a regular migration](gitlab-org/gitlab@98ff5235e27d28e95466e6d0da7b2cd8df1d1eba) ([merge request](gitlab-org/gitlab!98337)) +- [Sorted project members by user name](gitlab-org/gitlab@8d744198b359f7c296fb3094498cafea91577f40) ([merge request](gitlab-org/gitlab!98305)) +- [Only mark vulnerabilities on default branch as disappeared](gitlab-org/gitlab@17fab4554feba8875701b6a17d1c0c4e4ab1fa3d) ([merge request](gitlab-org/gitlab!98247)) **GitLab Enterprise Edition** +- [Allow read-only access to escalation policies for auditors](gitlab-org/gitlab@5184eb65d4c84ac39b17d84b711e8d75f18d6e38) ([merge request](gitlab-org/gitlab!98269)) **GitLab Enterprise Edition** +- [Fix codeowners for sections with the same patterns](gitlab-org/gitlab@dd5630afeae7a97a8ad72f01e5b309d950ccd451) ([merge request](gitlab-org/gitlab!98194)) +- [Fix: locale on project repo settings](gitlab-org/gitlab@59aa97ae0d8a6b4adae79957dd6eefb57dd92793) by @JeremyWuuuuu ([merge request](gitlab-org/gitlab!98040)) **GitLab Enterprise Edition** +- [Use the MR data to determine if the branch was deleted](gitlab-org/gitlab@fd3868967dac6eee7f9957ae1db634d351e460ca) ([merge request](gitlab-org/gitlab!98011)) +- [Make Wiki operations target default branch instead of HEAD](gitlab-org/gitlab@ac7e2ef8978d1b79edd7d40082b3dd54c9b18856) ([merge request](gitlab-org/gitlab!97701)) +- [Fix spacing in commit view of MR](gitlab-org/gitlab@016d0f0b2824fa5734b823fe07358ad929b77997) ([merge request](gitlab-org/gitlab!97334)) + +### Changed (194 changes) + +- [Update google-protobuf to v3.21.7](gitlab-org/gitlab@559a7ec54852c0d580a622578ace3647e1949d88) ([merge request](gitlab-org/gitlab!101437)) +- [Add validationStartedAt to DastSiteValidationType](gitlab-org/gitlab@05d17bf3a10b7228ecdd977d1b2f460642978928) ([merge request](gitlab-org/gitlab!101290)) **GitLab Enterprise Edition** +- [Allow specifying document types to reindex](gitlab-org/gitlab@e4fa6a95734ceb1bfd8b7ba666d6c448069ff3b8) ([merge request](gitlab-org/gitlab!100424)) **GitLab Enterprise Edition** +- [Changes dormant user setting input minimum to 90 days](gitlab-org/gitlab@d526d3253d6cefede1d0ee475ee1b2eb7926ec3a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100793)) +- [Fix an issue where the delete button would always delete the fist item](gitlab-org/gitlab@b4689994caf4b8ace5fdedb0c22bdfb73fe666d2) ([merge request](gitlab-org/gitlab!101197)) +- [Migrate old sidekiq queues](gitlab-org/gitlab@daa069d25cb4be42d0a2ac2b9cbd7220bbaa4b3a) ([merge request](gitlab-org/gitlab!98102)) +- [Update sign in preview page and new label page](gitlab-org/gitlab@d41539cc5f6718205e0c6429aefa13a27506b911) ([merge request](gitlab-org/gitlab!101304)) +- [Permit to create/update/delete protected branches without repository](gitlab-org/gitlab@8f6e29d96526c22c263eae6d8a6d0c6dfaf3d057) ([merge request](gitlab-org/gitlab!97958)) +- [Use issue type in user activity for issue or work item events](gitlab-org/gitlab@e2975fdb72c047654a10248fe5b1633b543620bf) ([merge request](gitlab-org/gitlab!101297)) +- [Track wiki verification in the project_wiki_repository_states table](gitlab-org/gitlab@7a39ee03be3b95ba038ee348f4900145d95dd0aa) ([merge request](gitlab-org/gitlab!100640)) **GitLab Enterprise Edition** +- [Fix alert text for rate limiting](gitlab-org/gitlab@ff768c236de8df0ca127e651c5810b37aaa1dbc5) ([merge request](gitlab-org/gitlab!100895)) +- [Remove RubyProf in favor of StackProf from Gitlab::Profiler](gitlab-org/gitlab@27a49f5a52e77b03450eb8b33b5306c876ba597a) ([merge request](gitlab-org/gitlab!100936)) +- [This MR adds agents option for humanized rules](gitlab-org/gitlab@dce4770f0ca6d14ef50ec592a40d0a2444ef81a9) ([merge request](gitlab-org/gitlab!98383)) **GitLab Enterprise Edition** +- [Revert changes to manual actions on environments](gitlab-org/gitlab@a86d0d7c22c2778e75b714a0522ddf5f9fdcdf0a) ([merge request](gitlab-org/gitlab!98787)) +- [Show copy button for unsafe external URLs](gitlab-org/gitlab@a48147784c736f1cd4f468fb913c1c3d1025a225) ([merge request](gitlab-org/gitlab!100874)) +- [Removes experimental feature flag](gitlab-org/gitlab@3e03318ad1bb3d8001df427da3ac91b575aa0e35) ([merge request](gitlab-org/gitlab!100704)) +- [This MR adds agents option for schedule rule component](gitlab-org/gitlab@59554210d7f89a65e0d34c9462d0d7daa2fcb860) ([merge request](gitlab-org/gitlab!98238)) **GitLab Enterprise Edition** +- [Reset form button if error encountered](gitlab-org/gitlab@5ae90b02063b2a677740e9d1f4932207051c7911) ([merge request](gitlab-org/gitlab!100174)) +- [Remove runners_finder_all_available feature flag](gitlab-org/gitlab@8c418e7e9e6e4eb5f9517756abfc6d412090cf85) ([merge request](gitlab-org/gitlab!101099)) +- [This MR adds new pre-scan verification status](gitlab-org/gitlab@5229be7c53c7b2a6f142ba8a2d54b9d74e8358ef) ([merge request](gitlab-org/gitlab!100593)) **GitLab Enterprise Edition** +- [Update pact to v1.63 and rack-test to v2.0.2](gitlab-org/gitlab@5f11fbe8315eb26eb966ec123eb254e3bed5ed25) ([merge request](gitlab-org/gitlab!99206)) +- [Add pipeline iid to pipeline event webhook](gitlab-org/gitlab@f8b92798e6a4bf1d8e9f27cd1e1429a9f7183efc) by @fabsrc ([merge request](gitlab-org/gitlab!100524)) +- [Make releases_access_level equal repository_access_level when higher](gitlab-org/gitlab@5466e9db630697d646654600cb1645d864735120) ([merge request](gitlab-org/gitlab!100751)) +- [Search Page Layour change](gitlab-org/gitlab@b68a550068f765c0f23ca1cbb1419f5955fac291) ([merge request](gitlab-org/gitlab!97820)) +- [Let go get response http semantic status code](gitlab-org/gitlab@c3869997c9533852cbe7531886a2771fee0551f6) by @icbd ([merge request](gitlab-org/gitlab!95991)) +- [Render a dotted line for missing DORA insights data](gitlab-org/gitlab@ab9d4fc3178dd363b3ab76647c05546bffb17387) ([merge request](gitlab-org/gitlab!98301)) **GitLab Enterprise Edition** +- [Add finder for scan result policies and update](gitlab-org/gitlab@f019412379c670f147ae426f108a928466b470e8) ([merge request](gitlab-org/gitlab!100149)) **GitLab Enterprise Edition** +- [Update "last used" date for PATs if used in git operations](gitlab-org/gitlab@bf507761c65dbe3050060a8d0561ae0bb780f46a) by @fabsrc ([merge request](gitlab-org/gitlab!100690)) +- [Allow to toggle inbound job token](gitlab-org/gitlab@11c89b5655c6ab665c69a24718613203f5527180) ([merge request](gitlab-org/gitlab!99165)) +- [Extend scan_finding rules to group level](gitlab-org/gitlab@f18c44343f9d17e33a0bcc6fb4c3a488b9475554) ([merge request](gitlab-org/gitlab!98548)) **GitLab Enterprise Edition** +- [Update IDE pipeline styling](gitlab-org/gitlab@500a9c8f6865a08c640ca7c9532b727d74b8e6a0) ([merge request](gitlab-org/gitlab!100325)) +- [Shows project storage limit notifications only to owners](gitlab-org/gitlab@e8476799228fcacb68beb722db513ac48d320949) ([merge request](gitlab-org/gitlab!100031)) **GitLab Enterprise Edition** +- [Exposed current_sign_in_at as last login at for billable members](gitlab-org/gitlab@79d7d9fb32b827b29463d53bb67e2f26d4e3c48a) ([merge request](gitlab-org/gitlab!100709)) **GitLab Enterprise Edition** +- [Correct copy on Project Access Token scope page](gitlab-org/gitlab@b77394a2a6cfd05afd61be8396cc506d306697f4) ([merge request](gitlab-org/gitlab!100129)) +- [Improve SAML SSO wording](gitlab-org/gitlab@259442d5d2a285b5fee5b67815e7619e12ead0e5) ([merge request](gitlab-org/gitlab!99252)) +- [Add browseArtifactsPath to GraphQL CiJob](gitlab-org/gitlab@cbd546af09ea7023ddae20433890aa4f56e476dd) ([merge request](gitlab-org/gitlab!99276)) +- [GitLab Version - Badge Tracking](gitlab-org/gitlab@74e450daadb6ede81888789096793e05746e2e51) ([merge request](gitlab-org/gitlab!99301)) +- [Fix: notify locale on project was not exported email](gitlab-org/gitlab@35b4d25b763f9dd6070153d9e258f3e30882a5c4) by @qt-gith ([merge request](gitlab-org/gitlab!96680)) +- [Adding .mobileprovision file parser to Project-level Secure Files](gitlab-org/gitlab@d62fda8ea76437a43ee63458a8b53b8ae4065526) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100477)) +- [Add columns about MR checks to namespace_settings](gitlab-org/gitlab@4d7a68855e637561e4dadc6e21b35b523fa305d8) by @luzhiyuan.deer ([merge request](gitlab-org/gitlab!100544)) +- [Convert Octokit response in Github Integration to hash](gitlab-org/gitlab@1983903ac917f49b16885911ce4e264f98f2bb4e) ([merge request](gitlab-org/gitlab!100440)) **GitLab Enterprise Edition** +- [Adding .p12 file parser to Project-level Secure Files](gitlab-org/gitlab@b0553ea52083da6956fa9945cad0dddec1d7075a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100465)) +- [Updates Config::Entry::Variable value to support array](gitlab-org/gitlab@f39f15fa23199007593f998563fcbd1c7fb7d477) ([merge request](gitlab-org/gitlab!98223)) +- [Update Jitsu authenticator to production endpoint](gitlab-org/gitlab@d0251af60f3e73f1922df0a1db377e4d7285c51d) ([merge request](gitlab-org/gitlab!99978)) **GitLab Enterprise Edition** +- [Remove confusing runners summary text](gitlab-org/gitlab@b0fbde25f80b8c1f06143fc6df62e9286f54e3fd) ([merge request](gitlab-org/gitlab!100736)) +- [Replace release notes form in new tag page with a link](gitlab-org/gitlab@a99e50a8cdb24a5b53ab707fbac929a8496c58e3) ([merge request](gitlab-org/gitlab!99533)) +- [Fix issue header alignment](gitlab-org/gitlab@8d8506826a194e5bb40c51db700ed6600ade0984) ([merge request](gitlab-org/gitlab!100764)) +- [Reduce the size of the initial backoff duration for web-hooks](gitlab-org/gitlab@846e778169c0d7fd7c8d3e3a874fe67104a5ca84) ([merge request](gitlab-org/gitlab!98982)) +- [Store future subscriptions on instance activation](gitlab-org/gitlab@15b72c788ae8f8ad18ece38099f427447abe0799) ([merge request](gitlab-org/gitlab!98802)) **GitLab Enterprise Edition** +- [Expose licenses in dependencies API](gitlab-org/gitlab@20c147167b8a4c154c453b61aab96a53894d9661) ([merge request](gitlab-org/gitlab!90754)) **GitLab Enterprise Edition** +- [Allow `/page` to be used in description on incident creation](gitlab-org/gitlab@a881d0c9df685607a434edb56d7d52f11490f866) ([merge request](gitlab-org/gitlab!100028)) +- [Update Work item cannot be accessed](gitlab-org/gitlab@36ff898bd4051381d350f0be269c7bf103b87309) ([merge request](gitlab-org/gitlab!97903)) +- [Add localization to markdown actions](gitlab-org/gitlab@64ca0f258890354de60675e976027bad1f6f89e3) ([merge request](gitlab-org/gitlab!100128)) +- [Fix padding for draft notes](gitlab-org/gitlab@da433fd6f89d72fbe3f5d658bfce2b3ceb5094e2) ([merge request](gitlab-org/gitlab!100196)) +- [Moves classes into variables](gitlab-org/gitlab@b50173b87bc196646bba62af528c2a23a9744a96) ([merge request](gitlab-org/gitlab!100565)) +- [Improves modal copy when deleting page assets leads to package deletion](gitlab-org/gitlab@cf8d3de78973d32fed83049c14fe845d9aad1b13) ([merge request](gitlab-org/gitlab!100384)) +- [Remove container_registry_new_cleanup_service feature flag](gitlab-org/gitlab@32cc9a2997ceeaaab18a444edec60156922251bf) ([merge request](gitlab-org/gitlab!100551)) +- [Global Search vertical navigation search helper](gitlab-org/gitlab@7726da6ac36d3144dd3e963bb90d6065b42cf475) ([merge request](gitlab-org/gitlab!100263)) **GitLab Enterprise Edition** +- [Add approver for group level scan result policies](gitlab-org/gitlab@ea1e4db53a9318096af63830d2842c532ad9f22e) ([merge request](gitlab-org/gitlab!100130)) **GitLab Enterprise Edition** +- [Nullify duplicate runner authentication tokens](gitlab-org/gitlab@468c34371198e1a5396bd64ec6aff3686086d9d1) ([merge request](gitlab-org/gitlab!98689)) +- [This MR adds new feature flag for DAST pre-scan verification](gitlab-org/gitlab@67d528a5da3625af0a0aec3688f9c82b094869e1) ([merge request](gitlab-org/gitlab!100322)) **GitLab Enterprise Edition** +- [Secure Files Metadata Parser](gitlab-org/gitlab@507fa48b4624112f2a0c12e885cc73ab33c2e355) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99046)) +- [Update alert and incident table styles](gitlab-org/gitlab@34a340890ee6a4c39e315f17e8d09c803924d89a) by @briankabiro ([merge request](gitlab-org/gitlab!98033)) +- [Govern Metric Updates](gitlab-org/gitlab@567950da193fb607ea0894a07d31bcacf16f824b) ([merge request](gitlab-org/gitlab!98858)) **GitLab Enterprise Edition** +- [Productivity Analytics - Migrate url-sync mixin](gitlab-org/gitlab@081de58e7724db86d7b83ae8f8635c85495fdae2) by @ali_o_kan ([merge request](gitlab-org/gitlab!99487)) **GitLab Enterprise Edition** +- [Update max helm charts to 1000](gitlab-org/gitlab@8d2b848816159a617739f99bf66d264efe54bddb) ([merge request](gitlab-org/gitlab!99517)) +- [Update shared runners summary text](gitlab-org/gitlab@bd2c75c7ad4726f5be68649a71bced1cf2b4ebde) ([merge request](gitlab-org/gitlab!100432)) +- [Enable float values in cost factor](gitlab-org/gitlab@a6ef7a28e4f5f9e9a8c8d1cbbbe68e68b57c5d86) ([merge request](gitlab-org/gitlab!98353)) **GitLab Enterprise Edition** +- [Improve MergeService log messages](gitlab-org/gitlab@3accdc24281dd66a3d32f59857eb67502c4a414d) ([merge request](gitlab-org/gitlab!100381)) +- [Update dependency auto-deploy-image to v2.39.0](gitlab-org/gitlab@3595ba02425fcfb497c741a349ad5efd04bd26c6) ([merge request](gitlab-org/gitlab!100374)) +- [Don't pre-fill markdown table with cells in issue](gitlab-org/gitlab@636690c6e873508b54bffd4b3613df9bee1093c0) ([merge request](gitlab-org/gitlab!100342)) +- [Remove ci_destroy_unlocked_pipeline_artifacts feature flag](gitlab-org/gitlab@f9787e7d3770f2d39ec66fffe6c9686c8b29ccd2) ([merge request](gitlab-org/gitlab!100336)) +- [Show view-only audit events filter for users with the developer role](gitlab-org/gitlab@4c12301ec007cd7d0a1a27e4cc5de654299d99b4) ([merge request](gitlab-org/gitlab!97945)) **GitLab Enterprise Edition** +- [Remove participant status from epic participants](gitlab-org/gitlab@b94629639523e7ad54de38e012bfc241fe0315a1) ([merge request](gitlab-org/gitlab!100126)) +- [Improve copy on delete modale in package](gitlab-org/gitlab@3c856e9ac9e599e4b6bd37917f58779f160b7a07) by @ali_o_kan ([merge request](gitlab-org/gitlab!100289)) +- [Prevent login using autogenerated passwords](gitlab-org/gitlab@c8ab8420c651cd50f7eda47209a8f834d4e7abe4) ([merge request](gitlab-org/gitlab!99031)) +- [Replace Wiki service list_pages by normal repository RPCs](gitlab-org/gitlab@e4817094a7f1f6305a211a8f687a862252d495b5) ([merge request](gitlab-org/gitlab!96461)) **GitLab Enterprise Edition** +- [Update dependency auto-deploy-image to v2.38.1](gitlab-org/gitlab@fa5ca5d2e67e1d8eb69def097819eb71a56ee5e5) ([merge request](gitlab-org/gitlab!100269)) +- [Show warning if code search mappings are outdated](gitlab-org/gitlab@d5d227da3e08b06ccc817280169717e89e2f3751) ([merge request](gitlab-org/gitlab!99254)) **GitLab Enterprise Edition** +- [Replace Wiki service find_page RPC by normal repository RPCs](gitlab-org/gitlab@8e44c21ff45b44c9bc4837ecc3bb868b653399b0) ([merge request](gitlab-org/gitlab!96461)) +- [Replace Wiki service find_page RPC by normal repository RPCs](gitlab-org/gitlab@af1a3956abc5ff2e6fdf11e03823be3ce386eb9c) ([merge request](gitlab-org/gitlab!96461)) +- [Replace Wiki service find_page RPC by normal repository RPCs](gitlab-org/gitlab@4df3e03b40dfea5ad301c9ae4dffcadd8853ae31) ([merge request](gitlab-org/gitlab!96461)) +- [Update UI text in insights dropdown list + dropdown sizing](gitlab-org/gitlab@1a157cb7d0a8e74a2dd97b0af1d0a2d04406cbbb) ([merge request](gitlab-org/gitlab!99134)) **GitLab Enterprise Edition** +- [Change design comments cancel confirmation](gitlab-org/gitlab@8a77d69b1271e154fb833b92add8f23f6b513735) ([merge request](gitlab-org/gitlab!98776)) +- [Debian package API: do not enqueue jobs directly](gitlab-org/gitlab@f4c9e7e61e1e2e9e4c12a6ecc8af103930260813) by @sathieu ([merge request](gitlab-org/gitlab!100215)) +- [Fixes top padding for skeleton notes](gitlab-org/gitlab@21f7ca326e46ff30b253907ff972bd2e2cfe029d) ([merge request](gitlab-org/gitlab!99474)) +- [Remove user attributes from notes](gitlab-org/gitlab@b0da4374517dcf6ce2cc82b560b81e4870e82744) ([merge request](gitlab-org/gitlab!95796)) **GitLab Enterprise Edition** +- [Use inline code for varaiables in harbor text](gitlab-org/gitlab@afd482670179d932b74d1353164de8b407532a24) ([merge request](gitlab-org/gitlab!100207)) +- [Deprecate AWS `host` connection parameter](gitlab-org/gitlab@c26e40ca773bae62d7b01f705e04aa85856855ec) ([merge request](gitlab-org/gitlab!100206)) +- [Migrate card component - user list in admin page](gitlab-org/gitlab@5f302e24e3770bce9c6b109a1a451523e1e189ba) ([merge request](gitlab-org/gitlab!98765)) +- [Pull apart emoji and activity controls](gitlab-org/gitlab@2d85e23307ba6d5c16283d7d0bc2fce66325588f) ([merge request](gitlab-org/gitlab!96260)) **GitLab Enterprise Edition** +- [Exclude loopback and link local addresses from Google CDN use](gitlab-org/gitlab@adad442735ba71ef6dca27590c3dc48552fb1a47) ([merge request](gitlab-org/gitlab!100193)) +- [Update runner settings styling](gitlab-org/gitlab@7a9fae4a9a937aa855e12d0da15ca4e72fb6d110) ([merge request](gitlab-org/gitlab!99039)) +- [Enforce active jobs limit earlier in pipeline creation](gitlab-org/gitlab@3e4785c8fcdbb7cd36f031e252401a8b778b2e79) ([merge request](gitlab-org/gitlab!100184)) +- [Adapt Helm API to consider the package registry access level](gitlab-org/gitlab@df150a839e9070b92c4d9422a64328d3ec8ce4ae) by @wwwjon ([merge request](gitlab-org/gitlab!97951)) +- [Adapt Generic Packages to consider the package registry access level](gitlab-org/gitlab@a84bce8a5ecee164a8327b3ed1b897ac33900ec4) by @wwwjon ([merge request](gitlab-org/gitlab!97838)) +- [Global Search vertical navigation search helper](gitlab-org/gitlab@381e80e0254373a9bf03009e06ed47c0d1269a87) ([merge request](gitlab-org/gitlab!97784)) +- [Enabled realtime labels FF](gitlab-org/gitlab@c655d5a59c2e1bca18ca4da99961030d65b5d523) ([merge request](gitlab-org/gitlab!99108)) +- [Hide `Action` column when revokePath is missing](gitlab-org/gitlab@4d16b1281f621eb9b1a1cc091dc0015a25f97512) ([merge request](gitlab-org/gitlab!99464)) +- [Remove use_gitaly_pagination_for_refs feature flag](gitlab-org/gitlab@d322db353151340a5e65d5f677147d8057f7def1) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99967)) +- [Upgrade Sourcegraph integration to 0.0.82](gitlab-org/gitlab@d1da145f0d4335e1828b2198a445533dad6e642f) by @philipp-spiess ([merge request](gitlab-org/gitlab!99127)) +- [Do not show blocked states](gitlab-org/gitlab@f63594cff6f7c662f687a28944d91f5fd724acdb) ([merge request](gitlab-org/gitlab!99270)) **GitLab Enterprise Edition** +- [Remove iteration_cadences FF](gitlab-org/gitlab@b6d917accd0630cd3fb8ddd4ebfc6f9c7c567059) ([merge request](gitlab-org/gitlab!93252)) **GitLab Enterprise Edition** +- [Update colors in the user activity calendar](gitlab-org/gitlab@67eb6a20d6d23dc944b7835e40fe9dc555d92165) ([merge request](gitlab-org/gitlab!99160)) +- [Tighten Google CDN URL config requirements](gitlab-org/gitlab@b54f29f42128372d5fe9a74e431dcb49c54e37a1) ([merge request](gitlab-org/gitlab!100033)) +- [Geo - Update no subscription banner message](gitlab-org/gitlab@ae33203fb139b4dd02115b61f5b3a5efe071654d) ([merge request](gitlab-org/gitlab!100004)) **GitLab Enterprise Edition** +- [Geo - Update URL text to External URL](gitlab-org/gitlab@0c539a438dc93c088c89beddae60dca464a86f8c) ([merge request](gitlab-org/gitlab!100016)) **GitLab Enterprise Edition** +- [Update unknown ci_pipeline_artifacts.locked column values](gitlab-org/gitlab@66d3f2935932860fbfac42c0e338bfca44127b66) ([merge request](gitlab-org/gitlab!99182)) +- [Add codeowners collapse, use vue component instead of haml](gitlab-org/gitlab@fd9307dc5257a2ea936d5cd1e231348ae44a3d96) ([merge request](gitlab-org/gitlab!99100)) **GitLab Enterprise Edition** +- [Fixes highlighting color for first diff reply](gitlab-org/gitlab@d9f09c806e809e31dde8f99bc27f26ebadbbbd1a) ([merge request](gitlab-org/gitlab!99485)) +- [Change Version API to mirror Metadata API](gitlab-org/gitlab@2ca4474a0e7e08cccf148b96ea6c05812c3b59bf) ([merge request](gitlab-org/gitlab!99176)) +- [Reduced lease from 1.5hrs to 1 hr](gitlab-org/gitlab@3f81dd3b95b853213cb9e49a9244e5a495199e63) ([merge request](gitlab-org/gitlab!99226)) +- [Update extensions in Gitpod configuration](gitlab-org/gitlab@1120edd1259a9484933d3fd4213fb8aacb3fc4ad) by @gtsiolis ([merge request](gitlab-org/gitlab!95867)) +- [Geo: Migrate Container Registry replication to use SSF](gitlab-org/gitlab@9781bca2f4f53b1a4d0b1d2ec49a10dc591d7f85) ([merge request](gitlab-org/gitlab!93690)) **GitLab Enterprise Edition** +- [Do not user select2 for mirror user id](gitlab-org/gitlab@bcab533d8a6501166bda20a61b8700fe6d58196d) ([merge request](gitlab-org/gitlab!98824)) +- [Don't pre-fill markdown table with cells](gitlab-org/gitlab@5d5779f620369690954169fa923d713027c61a74) ([merge request](gitlab-org/gitlab!98784)) +- [Fix invalid runner REST v4 deprecations](gitlab-org/gitlab@5e40a0ac33d657a94a58d825744bb8c5408259b0) ([merge request](gitlab-org/gitlab!99221)) +- [Harmonise warning message in Settings < Variables](gitlab-org/gitlab@c7e72347eb22517bd6922a50cd7a0e5ca3d52e60) by @ali_o_kan ([merge request](gitlab-org/gitlab!99000)) +- [Update trial status popover title](gitlab-org/gitlab@792477e69743225e02a317f0ba0784e994e716f2) ([merge request](gitlab-org/gitlab!98606)) **GitLab Enterprise Edition** +- [Harmonise warning message in Settings < Pipeline triggers](gitlab-org/gitlab@a67ae90e4f79673eed3aad639a6c9557dcd5d185) by @ali_o_kan ([merge request](gitlab-org/gitlab!99009)) +- [Add tmp indx null member namespace id](gitlab-org/gitlab@8b89fdc8ec20fab46b8ee85af9304913bb4677f9) ([merge request](gitlab-org/gitlab!99212)) +- [Default on :operational_vulnerabilities_filters ff](gitlab-org/gitlab@414d300a8bb46ea633a7160f08cb8b4062c602ca) ([merge request](gitlab-org/gitlab!99318)) +- [Default on :scan_execution_rule_mode feature flag](gitlab-org/gitlab@7259ebb10210c6293fd9f55316fca75deef93d48) ([merge request](gitlab-org/gitlab!99298)) +- [Remove dropdown to add members from admin area](gitlab-org/gitlab@8da55104a7184e6ddb1b5921b41b6e85fbeddee4) ([merge request](gitlab-org/gitlab!99057)) +- [Update cards in the milestone view](gitlab-org/gitlab@9a813389e62f6b5050803f5ae56847aad783ab72) ([merge request](gitlab-org/gitlab!98794)) +- [Ensure PostgreSQL versions are memoized at start of tests](gitlab-org/gitlab@3a83e8e21334b1222efc9d438fb6ed3209c204a3) ([merge request](gitlab-org/gitlab!99197)) +- [Allow to submit wiki form using ctrl enter](gitlab-org/gitlab@e93833dec307d4e410ff22b6fc19135bc3ad5fb1) ([merge request](gitlab-org/gitlab!99169)) +- [Store dependency scanning SBoMs as reports](gitlab-org/gitlab@b8b7a8eeef337059ee9d93878630741370e80e37) ([merge request](gitlab-org/gitlab!99126)) +- [ref_service: Clean up find_local_branches_response](gitlab-org/gitlab@7a5946a02689a544705284969d8927488a9d1f16) ([merge request](gitlab-org/gitlab!98755)) +- [Do not restrict epics child issues group structure](gitlab-org/gitlab@06146e8e8f2733821ccde2419afe2ef90ae1e0ad) ([merge request](gitlab-org/gitlab!99047)) **GitLab Enterprise Edition** +- [This MR stores list of form fields in constant](gitlab-org/gitlab@182d6e755672f2819533fa15e6ebd801cf984295) ([merge request](gitlab-org/gitlab!99054)) **GitLab Enterprise Edition** +- [Use Pajamas alert component for Rails flash](gitlab-org/gitlab@ddccbf42eb579d4c3853087b6cf0e2fcb22c08f0) ([merge request](gitlab-org/gitlab!98358)) +- [Update code analyzers](gitlab-org/gitlab@b701a8e6b951f31f96dcc3999a2df3f160a71613) ([merge request](gitlab-org/gitlab!96785)) **GitLab Enterprise Edition** +- [Migrate groups' projects settings card to ViewComponent](gitlab-org/gitlab@a2be1f8bd30c5549c711723ea8ab3c137b84422f) ([merge request](gitlab-org/gitlab!98806)) +- [Harmonise warning in Protected environments](gitlab-org/gitlab@670aa51e874183306d54294dde5844272281a9bd) by @ali_o_kan ([merge request](gitlab-org/gitlab!98977)) **GitLab Enterprise Edition** +- [Migrate to GlButton](gitlab-org/gitlab@3a6885697dda618e62623e4346898b961777a878) ([merge request](gitlab-org/gitlab!89930)) **GitLab Enterprise Edition** +- [GraphQL: Rename verification status to status](gitlab-org/gitlab@2fbf829af2aa4b0d76c4a61426c69b986d3c2852) ([merge request](gitlab-org/gitlab!98488)) **GitLab Enterprise Edition** +- [Hides cleanup policy admin notification while loading](gitlab-org/gitlab@95565dd0b953c74edbe0ec1d00d9f2b8bb49be9a) ([merge request](gitlab-org/gitlab!98552)) +- [Refetch deployments on user interaction](gitlab-org/gitlab@2b0fdedf03f51fc0d2fd2ec4ff9fe7363e705ac6) ([merge request](gitlab-org/gitlab!98596)) +- [Migrate groups "Protect environment" card to ViewComponent](gitlab-org/gitlab@15d70ae3799ed6c6458fc5a1beaf457bb8a8b798) ([merge request](gitlab-org/gitlab!98800)) **GitLab Enterprise Edition** +- [Allow updating users.pronouns property in REST API](gitlab-org/gitlab@805fdb8e4d2eed1bd563e45185b9b03e92126928) by @drumm ([merge request](gitlab-org/gitlab!99019)) +- [Migrate "Protect a tag" card to ViewComponent](gitlab-org/gitlab@7b6a08b41b4deef12f6bb6d3a9d6ce5baab94c2c) ([merge request](gitlab-org/gitlab!98807)) +- [Migrate "Protect environment" card to ViewComponent](gitlab-org/gitlab@73eaa5ea5ae91fe781aa3e386d1b95c57b5a8249) ([merge request](gitlab-org/gitlab!98795)) **GitLab Enterprise Edition** +- [Hide delete button when user cannot delete runner](gitlab-org/gitlab@8c091f7776508982e1f44355088da62c041cf9be) ([merge request](gitlab-org/gitlab!97819)) +- [Adding metadata and expires_at to Secure Files](gitlab-org/gitlab@bc5eb4669c741d617887e3082c60875150a94a0b) ([merge request](gitlab-org/gitlab!98586)) +- [Limit maximum number of child epics](gitlab-org/gitlab@468869f638f61a3a1b6e682382bb399e846d8654) ([merge request](gitlab-org/gitlab!98757)) **GitLab Enterprise Edition** +- [Remove tmp_index_system_note_metadata_on_attention_request_actions](gitlab-org/gitlab@46a2b5d0afa860caf52b0d41a0d337538bf98660) ([merge request](gitlab-org/gitlab!98745)) +- [Rename WebHook service_id to integration_id](gitlab-org/gitlab@b06fccf615a4fa688fcc97ba3bd527339e1564e7) ([merge request](gitlab-org/gitlab!92073)) +- [Migrate issue/MR bulk edit checkboxes to be Pajamas compliant](gitlab-org/gitlab@9829c8c07b1863ee0685b407496420bb96271edb) ([merge request](gitlab-org/gitlab!98848)) +- [Migrate LDAP `Remember me` checkbox to be Pajamas compliant](gitlab-org/gitlab@0dc52928cd26d9dee42b25225e664148819f4de2) ([merge request](gitlab-org/gitlab!98835)) +- [Migrate OmniAuth `Remember me` checkbox to be Pajamas compliant](gitlab-org/gitlab@84a045f04634d6b619b14cb71527de5492633674) ([merge request](gitlab-org/gitlab!98834)) +- [Update dependency auto-deploy-image to v2.38.0](gitlab-org/gitlab@7182939e5d0bfa464e63ed110d7dc8abc41d3a92) ([merge request](gitlab-org/gitlab!98831)) +- [Migrate card component - admin note in admin area](gitlab-org/gitlab@62288a13914873da67678c4d3be704974b21be04) ([merge request](gitlab-org/gitlab!98805)) +- [Migrate pj component - card in the profile SSH page](gitlab-org/gitlab@f529e2c995e4bb5de4d5cdd4f7a3f18eb134813a) ([merge request](gitlab-org/gitlab!98759)) +- [Allow updating users.commit_email property in REST API](gitlab-org/gitlab@f84b908b6b4495b318fd70fc79742411142aa7a3) by @drumm ([merge request](gitlab-org/gitlab!98764)) +- [Migrate custom attributes card to ViewComponent](gitlab-org/gitlab@51fbe53d0dd10061960010044304339918844fd7) ([merge request](gitlab-org/gitlab!98792)) +- [Add new alert for creating new top-level group](gitlab-org/gitlab@6b4a856c8a1ba45a1647e786c5bb66a4cc4b4ede) ([merge request](gitlab-org/gitlab!95826)) +- [Autofocus on Markown Editor](gitlab-org/gitlab@9423284170b4e2ba3bb84c1ed2170324e44866af) ([merge request](gitlab-org/gitlab!98710)) +- [Removes spacing from system and discussion notes](gitlab-org/gitlab@55d1ddd84435517aba6b8799fb6d3ac056fb70f5) ([merge request](gitlab-org/gitlab!95824)) **GitLab Enterprise Edition** +- [Remove temp index that no longer needed](gitlab-org/gitlab@06a3e08ffd5d7116bdee6dd20412beaebb5393b8) ([merge request](gitlab-org/gitlab!98743)) +- [Update deployment rollback buttons](gitlab-org/gitlab@0d6a340bdb638c35a71273cf0ebf6c196029fe15) ([merge request](gitlab-org/gitlab!98739)) +- [Remove unused db fields from assignees](gitlab-org/gitlab@aa493b0eaf58261d4623d8df64d0f97aee7e4e80) ([merge request](gitlab-org/gitlab!98298)) +- [Remove unused styles on subscription seats table](gitlab-org/gitlab@0be7980d62cf50f695e56bdbc22827830afe8fdb) ([merge request](gitlab-org/gitlab!98742)) **GitLab Enterprise Edition** +- [Drop ci_update_unlocked_job_artifacts feature flag](gitlab-org/gitlab@fcbfee5a38d59d2eb66e85ca1e79bc0a465602b7) ([merge request](gitlab-org/gitlab!98725)) +- [Update `Busy` checkbox copy](gitlab-org/gitlab@10fc01287a78faafe4744d87c212c5510f55f16a) ([merge request](gitlab-org/gitlab!98714)) +- [Update dependency auto-build-image to v1.19.0](gitlab-org/gitlab@d79571ff7f747d58210b7a249e6cd320f1f8decd) ([merge request](gitlab-org/gitlab!92591)) +- [Update successful purchase banner](gitlab-org/gitlab@b9b33751d8522954014d0ff46b25bda7479d9075) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96220)) **GitLab Enterprise Edition** +- [Remove cleanup_extract_mr_diff_deletions feature flag](gitlab-org/gitlab@d588c05e003c3d7b084f9a2fb9bf1d039df4f0cf) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98555)) +- [Default-enable :hash_oauth_tokens feature flag](gitlab-org/gitlab@0d15144ba9e8e46d8961ab255ad248feb12761f3) ([merge request](gitlab-org/gitlab!98242)) +- [GitLab Version - Badge CTA](gitlab-org/gitlab@a6bf5ea299f846e610378b52c3d49cbd0660feac) ([merge request](gitlab-org/gitlab!98376)) +- [Backfill internal column on notes](gitlab-org/gitlab@f65aca834a7169c04d9ddf221585d20279f0aaac) ([merge request](gitlab-org/gitlab!98433)) +- [Block userless CI](gitlab-org/gitlab@dc63fe0dcdb399aac611f313d2bca156600275ef) ([merge request](gitlab-org/gitlab!98567)) +- [Remove cache_issue_sums flag](gitlab-org/gitlab@b62b32e01f245714b12bf7c8a845e041dfc44a93) ([merge request](gitlab-org/gitlab!97634)) **GitLab Enterprise Edition** +- [Do not treat warnings as errors](gitlab-org/gitlab@4e777bf0ff74a46538f15a7c6acf76977b160761) ([merge request](gitlab-org/gitlab!97808)) **GitLab Enterprise Edition** +- [Add warning when Token Access disabled](gitlab-org/gitlab@6bbfa3c0f83f5b2314322b7ad07e8ca7337bab1c) by @ali_o_kan ([merge request](gitlab-org/gitlab!98123)) +- [Add reject_non_dco_commits to push_rules](gitlab-org/gitlab@bcbc2813c1541ec2e65a5d17d19d7623d263efcf) ([merge request](gitlab-org/gitlab!97938)) +- [Added parameter to participants query](gitlab-org/gitlab@71658dd00b1d4e9efa5b35dbe09427db3ce3341e) ([merge request](gitlab-org/gitlab!98520)) +- [Rename timeline event note's validation error message](gitlab-org/gitlab@fd5718c96de9bc6623690e5f814a873a18d82207) ([merge request](gitlab-org/gitlab!97920)) +- [Remove tmp idx null project namespace id](gitlab-org/gitlab@0788d9a46f6bc673f106c65ad9fbebac32b38940) ([merge request](gitlab-org/gitlab!98387)) +- [Hide subgroup milestones on Roadmap when filtered by group](gitlab-org/gitlab@2c4eccf5413b49280aed99c32ba7567a5460b989) ([merge request](gitlab-org/gitlab!98495)) **GitLab Enterprise Edition** +- [Remove unused updated_state_by_user_id from merge_request_reviewers](gitlab-org/gitlab@3c6a3bac9beb3467a939d486c11b0f699967f650) ([merge request](gitlab-org/gitlab!98299)) +- [Add index on internal notes](gitlab-org/gitlab@1715ee208c1657eab35976c1ede86ff34042b78e) ([merge request](gitlab-org/gitlab!98435)) +- [Remove multiple iteration cadences license check](gitlab-org/gitlab@35b201761e67a9f39a77dc94bbf0517836341918) ([merge request](gitlab-org/gitlab!98404)) **GitLab Enterprise Edition** +- [Check feature flag in bulk imports API for consistency](gitlab-org/gitlab@74b59548758664ca487694af0a021857dce64a87) ([merge request](gitlab-org/gitlab!98398)) +- [Enable auditor access to group runners](gitlab-org/gitlab@e0796d71c1d9b882f11fec4e705e852fce46ad4e) ([merge request](gitlab-org/gitlab!98129)) +- [GitLab Version - Increase cache life](gitlab-org/gitlab@904907ccb3ab221a54b23a48ac631858689128b3) ([merge request](gitlab-org/gitlab!95747)) +- [Adds last downloaded date to package registry UI](gitlab-org/gitlab@2df7af2546ec1e8a86c84b3272ed8425ed50fe20) ([merge request](gitlab-org/gitlab!96862)) +- [Drop tmp_index_user_callouts_on_attention_request_feature_names](gitlab-org/gitlab@3037d46f4f16d4188f5d36bc534ad6a652dab841) ([merge request](gitlab-org/gitlab!98300)) +- [Clean up successful experiment promote_mr_approvals_in_free](gitlab-org/gitlab@497d95f92808987537ba4d216c06f7d5ff9fa162) ([merge request](gitlab-org/gitlab!97728)) +- [Add iteration to Issues Analytics table](gitlab-org/gitlab@6aa0944f9c39064d4b529b5a2c2822e73ea7e6d7) by @ali_o_kan ([merge request](gitlab-org/gitlab!98250)) **GitLab Enterprise Edition** +- [Finalize member namespace id cleanup](gitlab-org/gitlab@fda055a8437d1c7c324959fcadedcaec5207d90f) ([merge request](gitlab-org/gitlab!97781)) +- [Remove allow non-blocking member refresh feature flag](gitlab-org/gitlab@a0e96150c37e722dda5e64aa4d677bbf688278c3) ([merge request](gitlab-org/gitlab!98108)) **GitLab Enterprise Edition** +- [Ignore fingerprint column on sbom_sources](gitlab-org/gitlab@0ceb684433fc142e97c80dac546de7d650441189) ([merge request](gitlab-org/gitlab!97989)) +- [Clean up `read_package_policy_rule` feature flag](gitlab-org/gitlab@45990d45cbe34f93d744fff95109f7610b79724b) by @wwwjon ([merge request](gitlab-org/gitlab!96767)) + +### Removed (18 changes) + +- [Remove contraint check_508774aac0](gitlab-org/gitlab@72110d54f7d17816cba40655704b38b6dc97b814) ([merge request](gitlab-org/gitlab!101339)) +- [Remove default_scope for the Event model](gitlab-org/gitlab@abbea54b4e49fb70648a28247a5a8149a67f0998) ([merge request](gitlab-org/gitlab!101208)) +- [Drop free user cap columns from namespace settings](gitlab-org/gitlab@262ea65244edfa5641f00babf7d02695faa10a09) ([merge request](gitlab-org/gitlab!100875)) +- [Remove FF override_group_level_protected_environment_settings_permission](gitlab-org/gitlab@bf469a52560e113b45b54672eaa3785fadf0dcb9) ([merge request](gitlab-org/gitlab!98880)) +- [Remove Feature Flag for artifacts reports junit](gitlab-org/gitlab@b20ce0641548a7c42130ef4cbea967ad0db9c1ef) ([merge request](gitlab-org/gitlab!100591)) +- [Geo Sites - Remove Current Site Badge](gitlab-org/gitlab@15087f6e8b7341f767ce811f78d78035d53823e4) ([merge request](gitlab-org/gitlab!100030)) **GitLab Enterprise Edition** +- [Revert "Merge branch 'pages-lets-encrypt-ecdsa' into 'master'"](gitlab-org/gitlab@12505eaa534db561a5f158077463ba9381f98a2f) ([merge request](gitlab-org/gitlab!99948)) +- [Remove incident_resource_links_widget feature flag](gitlab-org/gitlab@3ae289647f68dc7f355430266debdaffde0e005e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100118)) **GitLab Enterprise Edition** +- [Delete remove invalid member migrations](gitlab-org/gitlab@39c59ab5bec79c5f3275471c18db3072c4d84f51) ([merge request](gitlab-org/gitlab!99231)) +- [Drop index on ci_builds_metadata](gitlab-org/gitlab@c0eddd21d076dfe791db0322d1a58b8644776c6b) ([merge request](gitlab-org/gitlab!99483)) +- [Remove unused partial](gitlab-org/gitlab@d7cf9e61c213ee8a22c00bbeea1d423603a816f1) ([merge request](gitlab-org/gitlab!98814)) +- [Remove unused VSA label_ids param](gitlab-org/gitlab@e842860989ef9a03d59891537c7ffa777a381f80) ([merge request](gitlab-org/gitlab!98434)) **GitLab Enterprise Edition** +- [Remove WorkItemUpdateWidgets mutation from GraphQL API](gitlab-org/gitlab@d1963a4e71ffb55455d7652a53994d532274118f) ([merge request](gitlab-org/gitlab!98377)) +- [Remove application limits for Jira import](gitlab-org/gitlab@70946f4d261d90af5ead38c5ac25d89e39d09f8e) ([merge request](gitlab-org/gitlab!98171)) +- [Remove global_search_custom_slis feature flag](gitlab-org/gitlab@9b6448e950bf3a814b21b8d25d560910e354d6bc) ([merge request](gitlab-org/gitlab!98322)) +- [Remove contribution_analytics_optimized_base_query](gitlab-org/gitlab@020c72eb727860511ac4358fbc8e9ad18a8caa3e) ([merge request](gitlab-org/gitlab!98306)) **GitLab Enterprise Edition** +- [Remove unused experience_level DB column](gitlab-org/gitlab@b5d2d44d0dee6857179433214aa6f5b2526aa144) ([merge request](gitlab-org/gitlab!98164)) +- [Remove legacy memory killer](gitlab-org/gitlab@abbb37b56a38c17e409f7ade3b4a86e0e8821d68) ([merge request](gitlab-org/gitlab!97965)) + +### Security (19 changes) + +- [Fix CVE-2022-32149 in workhorse dependency](gitlab-org/gitlab@6b4b2df5152c85f50627e5a9fd7cd38a1e155e38) ([merge request](gitlab-org/gitlab!100828)) +- [Validate the scheme of project import URLs](gitlab-org/gitlab@42e556b39c012ac445953ea3229475052d343232) ([merge request](gitlab-org/gitlab!99185)) +- [Respect instance level rule for editing approval rules](gitlab-org/gitlab@fc7549c169063849d835fa254e8a17aae78349fa) ([merge request](gitlab-org/gitlab!99289)) +- [Update TodoPolicy to handle confidential notes](gitlab-org/gitlab@82da30efbba3d95336640ff5b8a0da47c1e0121e) ([merge request](gitlab-org/gitlab!99289)) +- [Fixes XSS in widget extensions](gitlab-org/gitlab@c35b35be2eec36b82d9695c9f56147a5b7ff7c2f) ([merge request](gitlab-org/gitlab!99289)) +- [Redact user's private email in group member event webhook](gitlab-org/gitlab@41f100fa2af5f1a5ff153860f6eec2aedde7a322) ([merge request](gitlab-org/gitlab!99289)) +- [Sanitize Url and check for valid numerical errorId in error tracking](gitlab-org/gitlab@c2850529bd23c1ba3d458f90de29f49078177ca3) ([merge request](gitlab-org/gitlab!99289)) +- [Manually sync canonical to security](gitlab-org/gitlab@eb667cd4526c08878d094f52c9c4e779a433c9b2) ([merge request](gitlab-org/gitlab!99289)) +- [Fix conflict between canonical and security](gitlab-org/gitlab@7bb03eaee2e6a4f9979e9179f364927e1afa204c) ([merge request](gitlab-org/gitlab!99289)) +- [Enforce group IP restriction on Dependency Proxy](gitlab-org/gitlab@c9c44b512fb110ff0d005f687033fa6fc83e95dc) ([merge request](gitlab-org/gitlab!99289)) +- [Prevent serialization of sensible attributes from JsonCache](gitlab-org/gitlab@4a22ee6afb9cbf6203e245c9874edbfa79ccbba8) by @jbobadilla-ext ([merge request](gitlab-org/gitlab!99289)) +- [Restrict max duration to 1 year for trace display](gitlab-org/gitlab@4cd825f74a1fe1a92e767e288da2f494bcfd4dea) ([merge request](gitlab-org/gitlab!99289)) +- [Forbid creating a tag using default branch name](gitlab-org/gitlab@1c29e523329d761a55a083601482d7cbf3ca120d) ([merge request](gitlab-org/gitlab!99289)) +- [Add security protection for Github](gitlab-org/gitlab@cf62321df4e71c0e1eb222cf39d967bfbaa65b13) ([merge request](gitlab-org/gitlab!99289)) +- [Redact secrets from WebHookLogs](gitlab-org/gitlab@2c32d522e5d5d97cbe2f4e58824c7ad37c919d3e) ([merge request](gitlab-org/gitlab!99289)) +- [Prevent users creating issues in ay project via board/issues controller](gitlab-org/gitlab@1228faf62f41a90148a2662cc9481094ed901fba) ([merge request](gitlab-org/gitlab!99289)) +- [Use UntrustedRegexp for upload rewriter](gitlab-org/gitlab@4786dded6c2b75acf0646fdd162e022725e88877) ([merge request](gitlab-org/gitlab!99289)) +- [Fix leaking emails in WebHookLogs](gitlab-org/gitlab@a3f3915373cdb7f8facaa3272556052df3ecda40) ([merge request](gitlab-org/gitlab!99289)) +- [Validate httpUrlToRepo to be http or https only](gitlab-org/gitlab@fb6784d2474b80b812ca0acfe00a959a70c39603) ([merge request](gitlab-org/gitlab!99289)) + +### Performance (19 changes) + +- [Avoid query for next page check](gitlab-org/gitlab@a145d713b647f9849a24fe18e6a041f624fc1e0d) ([merge request](gitlab-org/gitlab!101232)) +- [Refactor BitBucket importer](gitlab-org/gitlab@1ddc97c7cf4961d6a996b44a0cddec60719bde9f) ([merge request](gitlab-org/gitlab!99516)) +- [Nullify and delete some user associations in batches](gitlab-org/gitlab@5db49f7664660cebed21a6fc25fb835a95ead375) ([merge request](gitlab-org/gitlab!101098)) +- [Nullify merge request metrics user in batches on user deletion](gitlab-org/gitlab@68dca76235bd7de0654751185e32a1db43c0bdee) ([merge request](gitlab-org/gitlab!101016)) +- [Nullify merge request and user associations in batches on user deletion](gitlab-org/gitlab@bd135d23c5c541c9ecfc3b370d01ec2d592c6553) ([merge request](gitlab-org/gitlab!100962)) +- [Removing feature flag config files](gitlab-org/gitlab@bfc9327443b77fcb3047c75fa1c824941957d4d0) ([merge request](gitlab-org/gitlab!100025)) +- [Fix N+1 when loading labels on issue, epic, mrge_request lists](gitlab-org/gitlab@0d31734943b10b4987b4d0ec0229888e3f8a092d) ([merge request](gitlab-org/gitlab!99117)) +- [Fix labels N + 1 query in WorkItemsResolver](gitlab-org/gitlab@16ff1e903a0a1b343aa7d4c083cafd8db32a362c) ([merge request](gitlab-org/gitlab!100218)) +- [Remove n+1 queries for participants policy checks](gitlab-org/gitlab@1d04aca8e55f2686b119331bf33cdf506e7c496a) ([merge request](gitlab-org/gitlab!98116)) +- [Fix votes N+1 when loading issues, epics, merge requests lists](gitlab-org/gitlab@fe176d3ef340ce5ef3a47c6d80e8642d9b781b9e) ([merge request](gitlab-org/gitlab!99010)) +- [Ensure primary key index is used for Geo::Replicable](gitlab-org/gitlab@b5ffe6d024bfd20541d9c8b663bdc25eed4e5678) ([merge request](gitlab-org/gitlab!98704)) **GitLab Enterprise Edition** +- [Remove feature flags related to diff highlight expiration](gitlab-org/gitlab@ce33cf22be9c7aba70c1163533de02860774642f) ([merge request](gitlab-org/gitlab!98772)) +- [Destroy unlocked and expired pipeline artifacts](gitlab-org/gitlab@9731cb487196767b0ea04f429e122e06dbcb0c31) ([merge request](gitlab-org/gitlab!98633)) +- [Load all license details from Gitaly](gitlab-org/gitlab@a52f9574d492969462b15591392028752c6a77dc) ([merge request](gitlab-org/gitlab!98638)) +- [Load all license details from Gitaly](gitlab-org/gitlab@b37b0d5b4bceed05e1ff90185d3e1771a91d028f) ([merge request](gitlab-org/gitlab!77041)) +- [Avoid N+1 in GraphQL WorkItemsResolver](gitlab-org/gitlab@9e5123a3feea5f1f52fa0ab8161041cbc7f6a1ad) ([merge request](gitlab-org/gitlab!97722)) +- [Add delay during project authorizations refresh](gitlab-org/gitlab@4f4bdab4d8358a2cba7b4825937ca524f1bb844d) ([merge request](gitlab-org/gitlab!97805)) +- [Enable background closure of issues from commit messages](gitlab-org/gitlab@478a79d48a95f00c2780e72e4f9fb2e3b8aace7a) ([merge request](gitlab-org/gitlab!98222)) +- [Fix Workhorse Redis Sentinel role checks](gitlab-org/gitlab@644759728ff35f4f804555b622b85d35e4be50c8) ([merge request](gitlab-org/gitlab!97698)) + +### Other (63 changes) + +- [Add logging for file variable expansion](gitlab-org/gitlab@d4f8834e1c74933d16f45bd28483213c469e37c5) ([merge request](gitlab-org/gitlab!101022)) +- [Remove gitlab_shell_jwt_token feature flag](gitlab-org/gitlab@754b2b80ca9b9beb8b6afded888705443dd0939d) ([merge request](gitlab-org/gitlab!101274)) +- [Deploy tiers named nonprod no longer marked as production](gitlab-org/gitlab@17ed77da9903c21d5c6917d5f17bcb0b00ce0cca) ([merge request](gitlab-org/gitlab!96852)) +- [Remove FF `gl_listbox_for_sort_dropdowns`](gitlab-org/gitlab@54294e18fb3a38cefd4ca0c48c4ccc41eadba1bd) ([merge request](gitlab-org/gitlab!100747)) +- [Remove duplicated read_confidential_notes policy](gitlab-org/gitlab@98653e591f3829a185cc81620f1bc812300a5957) ([merge request](gitlab-org/gitlab!101216)) +- [Drop index_notes_on_note_gin_trigram index where exists](gitlab-org/gitlab@be3fb41d456edd7b366e6df8ee3a41569606625f) ([merge request](gitlab-org/gitlab!101103)) +- [Add diagnostic reports uploader](gitlab-org/gitlab@3c13a0744e440bfd4d678cb81a7e7cd2deddd2fa) ([merge request](gitlab-org/gitlab!100693)) +- [Clean up legacy Gitaly Wiki RPCs in Rails](gitlab-org/gitlab@df9ec360785f6e0a55a6878a4277e0e9ee3a957a) ([merge request](gitlab-org/gitlab!100821)) **GitLab Enterprise Edition** +- [Add message and importer type to logs](gitlab-org/gitlab@9d5d1ce7123662c729b9007104481ed314b6347f) ([merge request](gitlab-org/gitlab!100734)) +- [Update task system note background migration batch sizes](gitlab-org/gitlab@3d76d21d666acb4831abca69e7d4268d889fa249) ([merge request](gitlab-org/gitlab!100457)) +- [RuboCop: Enable previously disabled Rails/ActiveRecordCallbacksOrder](gitlab-org/gitlab@35dfc5a203d50e2601728a39b2f2612d876226c9) by @edith007 ([merge request](gitlab-org/gitlab!94014)) +- [RuboCop: Enable previously disabled Style/SoleNestedConditional](gitlab-org/gitlab@420be342fcdd0bc7cecc20af2e05fac24b300def) by @edith007 ([merge request](gitlab-org/gitlab!94352)) +- [RuboCop: Enable previously disabled Rails/InverseOf](gitlab-org/gitlab@1aa548b69cdceb00b3b4ebb1e40a7d67ee2e06c2) by @edith007 ([merge request](gitlab-org/gitlab!94037)) +- [RuboCop: Enable previously disabled Rails/RedundantForeignKey](gitlab-org/gitlab@e8ce8c53032cd838517c8673180787dbb950a0d1) by @edith007 ([merge request](gitlab-org/gitlab!94055)) +- [RuboCop: Enable previously disabled Style/KeywordParametersOrder](gitlab-org/gitlab@4a81681f87c63b8f53ae27a42c1dc764b113eb63) by @edith007 ([merge request](gitlab-org/gitlab!94120)) +- [RuboCop: Enable previously disabled Style/NumericLiteralPrefix](gitlab-org/gitlab@5fed5d2538f0f17edc848c3c4839a4b954a4f11f) by @edith007 ([merge request](gitlab-org/gitlab!94327)) +- [RuboCop: Enable previously disabled Rails/IndexWith](gitlab-org/gitlab@89dcef761ce974fc997a06fdaed1bcfc38924cd2) by @edith007 ([merge request](gitlab-org/gitlab!94035)) +- [Add bulk_import_id to bulk_import logs](gitlab-org/gitlab@2c978680d6405c9851980808d6289d8366d5c22b) ([merge request](gitlab-org/gitlab!100611)) +- [RuboCop: Enable previously disabled Style/SingleArgumentDig](gitlab-org/gitlab@2c1412674f4cad011b3a8945098c466db715a70d) by @edith007 ([merge request](gitlab-org/gitlab!94351)) +- [Use bulk_import_entity_id in all logs](gitlab-org/gitlab@5fd1aa5ba64171e76186b7b1ac1d0f37621c6919) ([merge request](gitlab-org/gitlab!100307)) +- [Prepare partial non-latin index for issues](gitlab-org/gitlab@761e14a11c17c3fe7746883a098a91bc8536f7b0) ([merge request](gitlab-org/gitlab!100398)) +- [Remove incident_timeline feature flag](gitlab-org/gitlab@af661f9094e234db7f1b04ee17c417294cd4dc1b) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100122)) +- [Enable wiki feature flags by default](gitlab-org/gitlab@bfa43b6ddc32a00fc0ca5e3fa4e1f2518ab51841) ([merge request](gitlab-org/gitlab!100560)) +- [Ignore column with typo on NamespaceDetails](gitlab-org/gitlab@1a1642604cda851defe6663e033cca0589e583bf) ([merge request](gitlab-org/gitlab!100538)) +- [Remove the about your company feature flag and commit code](gitlab-org/gitlab@197483dc65191a4b313458e837f3575a3daba16d) ([merge request](gitlab-org/gitlab!100324)) **GitLab Enterprise Edition** +- [Remove block_emails_with_failures feature flag](gitlab-org/gitlab@08c6db4253e41d9295d49c6e04751d259bac82a1) ([merge request](gitlab-org/gitlab!100380)) +- [Removes the `gl_avatar_for_all_user_avatars` FF](gitlab-org/gitlab@53c1491ad466ade505c71d413b50b469c4b0defc) ([merge request](gitlab-org/gitlab!99271)) +- [Remove the non supported google_client_email](gitlab-org/gitlab@ad4603acd454c15057fc1f84f62ef7a7855f0f98) ([merge request](gitlab-org/gitlab!98534)) +- [Remove background trial application feature flag](gitlab-org/gitlab@cc4f17f7f628939fffc7f0b46ce26796ff039114) ([merge request](gitlab-org/gitlab!99536)) +- [Remove the FF ci_project_pipeline_config_refactoring](gitlab-org/gitlab@b73930f627102d5af2b3f95f94014aabd9ffadf5) ([merge request](gitlab-org/gitlab!98990)) +- [Add snowplow event tracking to group imports](gitlab-org/gitlab@3dd8ad3b0574c502b48a3839eb36531813aa563b) ([merge request](gitlab-org/gitlab!99144)) +- [Add columns for package forward cascade settings](gitlab-org/gitlab@a027075214652d9f4bfaf35ef0b8b0c65de699ec) ([merge request](gitlab-org/gitlab!99274)) +- [Update profile page buttons to pajamas](gitlab-org/gitlab@42bb9ce0108c4f73969031aebe3b81ed04c0317d) ([merge request](gitlab-org/gitlab!98874)) +- [Increase branch expiry from 10 minutes to 60](gitlab-org/gitlab@f920fade55ba9b0c7dd108834b21ca0d1162cd46) ([merge request](gitlab-org/gitlab!99249)) +- [Revert "Merge branch '371986-introduce-ff' into 'master'"](gitlab-org/gitlab@d0866206c5cf02e415e960fdbfea28f3659b2f14) by @kwiebers ([merge request](gitlab-org/gitlab!99149)) +- [Bump Gitlab Shell to v14.12.0](gitlab-org/gitlab@b6682d56755c78fc09ab2a26238fe68e59ee9888) ([merge request](gitlab-org/gitlab!99093)) +- [Remove unused members awaiting index](gitlab-org/gitlab@fe65b2832f15afa2b00eaf6a4dda9224b3cccdce) ([merge request](gitlab-org/gitlab!98715)) +- [Change card to Pajamas](gitlab-org/gitlab@5ae210cb4ae0bd948ddf9a7d279b596b669609df) ([merge request](gitlab-org/gitlab!98839)) +- [RuboCop: Enable previously disabled Style/StringLiteralsInInterpolation](gitlab-org/gitlab@43d649eb6c4e1ff9bb2e6a47ecce948f373823af) by @edith007 ([merge request](gitlab-org/gitlab!94362)) +- [Validate entity type used in Gitlab Migration](gitlab-org/gitlab@f0f783603ca3c50fd49cce77ea8e3ab092d5af60) ([merge request](gitlab-org/gitlab!98972)) +- [Modifications to `adding delay` logic](gitlab-org/gitlab@cd76bcaa0da999ca19ef54085b7996b5fad063e0) ([merge request](gitlab-org/gitlab!98428)) +- [Remove unnecessary card component](gitlab-org/gitlab@a134dd20535c32959676feccc37c6b8c06c7a9fb) ([merge request](gitlab-org/gitlab!98811)) +- [Remove orphan project bots](gitlab-org/gitlab@41940c182745c5565ac51a30ebe70fa59f3a8d23) ([merge request](gitlab-org/gitlab!98562)) +- [Remove FF ci_rules_changes_compare](gitlab-org/gitlab@5fb00ca239abfffd2923a42272bf4d7db669bb95) ([merge request](gitlab-org/gitlab!98662)) +- [Remove and add raw of ci-variables tables with new default](gitlab-org/gitlab@0bb49b14dbac61d2148b7246c914d157ba75f14d) ([merge request](gitlab-org/gitlab!98527)) +- [Ignore unused columns on requirements](gitlab-org/gitlab@d3e04a5c0a97bfbd1bb57abc3b057a5748514884) ([merge request](gitlab-org/gitlab!97183)) **GitLab Enterprise Edition** +- [Remove trace column from ci_builds table](gitlab-org/gitlab@7d508fea6b33e5599d36449bcc2a478387d98ceb) ([merge request](gitlab-org/gitlab!98646)) +- [Remove unused free user cap data feature flag](gitlab-org/gitlab@2383c6c3a0b56807be05f25aacc25abfeca64084) ([merge request](gitlab-org/gitlab!98612)) **GitLab Enterprise Edition** +- [Limit the number of active jobs early in the pipeline creation](gitlab-org/gitlab@f919ce40b66aca158301e390c32286997a0ef115) ([merge request](gitlab-org/gitlab!97814)) **GitLab Enterprise Edition** +- [GraphQL fetch stage by id](gitlab-org/gitlab@ddbbeda93991ad3f5cafabf5d8f415ac3e01f56b) ([merge request](gitlab-org/gitlab!98511)) +- [RuboCop: Enable previously disabled Style/AccessorGrouping](gitlab-org/gitlab@6f9b0ec33fd22fc7fdb4f4c24d340c4f0aebdd82) by @edith007 ([merge request](gitlab-org/gitlab!94071)) +- [RuboCop: Enable previously disabled Style/EmptyMethod](gitlab-org/gitlab@0e52d0f5bb702b3d54b86998d41a33577858cc0e) by @edith007 ([merge request](gitlab-org/gitlab!94087)) +- [RuboCop: Enable previously disabled Rails/FilePath](gitlab-org/gitlab@a542d666e05fe3e218d8fda756589c36fbb1d139) by @edith007 ([merge request](gitlab-org/gitlab!94021)) +- [RuboCop: Enable previously disabled Style/ExplicitBlockArgument](gitlab-org/gitlab@1dadf941e39fa00522168a0f42b59e2df27338d1) by @edith007 ([merge request](gitlab-org/gitlab!94090)) +- [Use Gitlab UI empty state in Roadmap](gitlab-org/gitlab@fbcfcff8254422d94dbe103137249601a2f6f61f) by @rajatgitlab ([merge request](gitlab-org/gitlab!98510)) **GitLab Enterprise Edition** +- [Cleanup task system note renaming background migration](gitlab-org/gitlab@f24cbea2c633b0602e02f026d22cef8cf6ed9d1f) ([merge request](gitlab-org/gitlab!98479)) +- [RuboCop: Enable previously disabled Style/CaseLikeIf](gitlab-org/gitlab@14a2daf336f808fe788d14363543831740dfaaa5) by @edith007 ([merge request](gitlab-org/gitlab!94080)) +- [RuboCop: Enable previously disabled Rails/HelperInstanceVariable](gitlab-org/gitlab@e349f55644637ef29765e239d2c1befdae7cd287) by @edith007 ([merge request](gitlab-org/gitlab!94027)) +- [Add dashboard limit to enable free user management](gitlab-org/gitlab@2004d928d8039ae134135f0234c115bf32b7fcf7) ([merge request](gitlab-org/gitlab!95855)) +- [Decommission BatchPopQueueing class](gitlab-org/gitlab@7084f16fe7f9c95473bf79e598296c6ebb51632a) ([merge request](gitlab-org/gitlab!98423)) +- [Remove create_approval_todos_on_mr_update FF](gitlab-org/gitlab@7251da6b615d6aa2da649121f9e860aece1961c3) ([merge request](gitlab-org/gitlab!98084)) +- [Add environment keyword to pages job](gitlab-org/gitlab@73af406f9101da0a2f076ac023de5dfd60c85445) by @edith007 ([merge request](gitlab-org/gitlab!98283)) +- [Remove feature flag ci_variables_refactoring_to_variable](gitlab-org/gitlab@f5d1e8277fb8c326082e58536aeae21ab3fd289c) ([merge request](gitlab-org/gitlab!97967)) + ## 15.4.2 (2022-10-04) ### Fixed (1 change) @@ -660,6 +1356,26 @@ entry. - [Improve specs with shared examples](gitlab-org/gitlab@dd3f2ecd882e89511eaa927102fc4101f684a38f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95539)) **GitLab Enterprise Edition** - [Fix Style/Next offenses](gitlab-org/gitlab@bdf877063ba1d8d4df1216f7875905343d9e5e33) ([merge request](gitlab-org/gitlab!93329)) +## 15.3.4 (2022-09-29) + +### Security (15 changes) + +- [Redact user's private email in group member event webhook](gitlab-org/security/gitlab@172b8a57bd4acca14d65a4b7a5fd021babacb146) ([merge request](gitlab-org/security/gitlab!2794)) +- [Redact secrets from WebHookLogs](gitlab-org/security/gitlab@7394ab9b32a7bd83b98f93e904312e469f34cd9c) ([merge request](gitlab-org/security/gitlab!2737)) +- [Forbid creating a tag using default branch name](gitlab-org/security/gitlab@1b556c33aa11c32994be562cfea0ff2e5e13a54e) ([merge request](gitlab-org/security/gitlab!2799)) +- [Sanitize Url and check for valid numerical errorId in error tracking](gitlab-org/security/gitlab@2a5a51b5b2839963fe7084261c8a7fcc6f09f19c) ([merge request](gitlab-org/security/gitlab!2785)) +- [Add security protection for Github](gitlab-org/security/gitlab@bc23f46dba26bcdf0c773c24081e4ae3597bf751) ([merge request](gitlab-org/security/gitlab!2802)) +- [Fix leaking emails in WebHookLogs](gitlab-org/security/gitlab@a31a652c331877e0f97269310ec5f1bc6266398f) ([merge request](gitlab-org/security/gitlab!2807)) +- [Restrict max duration to 1 year for trace display](gitlab-org/security/gitlab@b62fd774b6f311988c7e10f3544f2aeabeab85d1) ([merge request](gitlab-org/security/gitlab!2815)) +- [Use UntrustedRegexp for upload rewriter](gitlab-org/security/gitlab@2eea36acbc5687aa9806946861e73f2fb11a9654) ([merge request](gitlab-org/security/gitlab!2791)) +- [Validate httpUrlToRepo to be http or https only](gitlab-org/security/gitlab@0b340ef6d6e54804445916f5b1fa53185de4b1f7) ([merge request](gitlab-org/security/gitlab!2760)) +- [Respect instance level rule for editing approval rules](gitlab-org/security/gitlab@2d2a7b8652dbd1085fe1bfc0b69138aecdeaf9c8) ([merge request](gitlab-org/security/gitlab!2782)) +- [Prevent users creating issues in ay project via board/issues controller](gitlab-org/security/gitlab@559b23e6942a650cafa358ea96b7ee549f76fbd6) ([merge request](gitlab-org/security/gitlab!2780)) +- [Prevent serialization of sensible attributes from JsonCache](gitlab-org/security/gitlab@f712d58af3aeb3f0fe1c56a290188e19fce72ad6) ([merge request](gitlab-org/security/gitlab!2771)) +- [Update TodoPolicy to handle confidential notes](gitlab-org/security/gitlab@6bd37cd0595bbf4c744a5b212fc41181c9dc88ef) ([merge request](gitlab-org/security/gitlab!2748)) +- [Enforce group IP restriction on Dependency Proxy](gitlab-org/security/gitlab@cc42b5e91e04e77ade63f1fdb91e88b998c156f7) ([merge request](gitlab-org/security/gitlab!2764)) +- [Fixes XSS in widget extensions](gitlab-org/security/gitlab@1d10849c7eee6207435bfd223e1f8639b2816c1e) ([merge request](gitlab-org/security/gitlab!2759)) + ## 15.3.3 (2022-09-01) ### Fixed (5 changes) @@ -1303,6 +2019,27 @@ entry. - [Remove FF import_release_authors_from_github](gitlab-org/gitlab@c4d6871e4438a1626d688856903778623138f671) ([merge request](gitlab-org/gitlab!92686)) - [Remove unused feature](gitlab-org/gitlab@0ef95d341e4a15150d6ccb3d104ebbe064aa062a) ([merge request](gitlab-org/gitlab!92753)) +## 15.2.5 (2022-09-29) + +### Security (16 changes) + +- [Geo: Do not delete object stored files when not GitLab managed](gitlab-org/security/gitlab@340554d933823b0424e16318673ccd6a82e87d35) ([merge request](gitlab-org/security/gitlab!2775)) +- [Redact user's private email in group member event webhook](gitlab-org/security/gitlab@dcc5fd6bcef40109c92e0faa34bf52b568465e80) ([merge request](gitlab-org/security/gitlab!2795)) +- [Redact secrets from WebHookLogs](gitlab-org/security/gitlab@e53429f776d06b9881f20a000d1a2b40e2f13a2c) ([merge request](gitlab-org/security/gitlab!2657)) +- [Forbid creating a tag using default branch name](gitlab-org/security/gitlab@ff172ca5d5550d3ff263efaef9ce18b6b78cbfbb) ([merge request](gitlab-org/security/gitlab!2800)) +- [Sanitize Url and check for valid numerical errorId in error tracking](gitlab-org/security/gitlab@2d983dc2b99f387c1e30312cb452cf21a4aa6f27) ([merge request](gitlab-org/security/gitlab!2786)) +- [Add security protection for Github](gitlab-org/security/gitlab@9f6d284039431f1376c4be03f5d364e12090fbc7) ([merge request](gitlab-org/security/gitlab!2804)) +- [Fix leaking emails in WebHookLogs](gitlab-org/security/gitlab@7e0e629f7559ad1ad7375a4ab94748febe5fd1ef) ([merge request](gitlab-org/security/gitlab!2808)) +- [Restrict max duration to 1 year for trace display](gitlab-org/security/gitlab@2df0b5b9978b09bbc95efbea5f227e3afaa220c7) ([merge request](gitlab-org/security/gitlab!2816)) +- [Use UntrustedRegexp for upload rewriter](gitlab-org/security/gitlab@c0bd5867a091ed7d04e19a6598c2e112daca4861) ([merge request](gitlab-org/security/gitlab!2792)) +- [Validate httpUrlToRepo to be http or https only](gitlab-org/security/gitlab@98ee48505898f3b5535587c0081292d82b94009e) ([merge request](gitlab-org/security/gitlab!2761)) +- [Respect instance level rule for editing approval rules](gitlab-org/security/gitlab@7157ddbaf6be664a708b24f59be541d7e16fbbd6) ([merge request](gitlab-org/security/gitlab!2783)) +- [Prevent users creating issues in ay project via board/issues controller](gitlab-org/security/gitlab@55b2ba96fa53b2aa3e8de889bc05671339f7aa76) ([merge request](gitlab-org/security/gitlab!2779)) +- [Prevent serialization of sensible attributes from JsonCache](gitlab-org/security/gitlab@809aff4805a2916425f7ec0cd995101140f663f8) ([merge request](gitlab-org/security/gitlab!2772)) +- [Update TodoPolicy to handle confidential notes](gitlab-org/security/gitlab@b95b1bc4ea7b5d69ff02283789c68f821ec54cee) ([merge request](gitlab-org/security/gitlab!2749)) +- [Enforce group IP restriction on Dependency Proxy](gitlab-org/security/gitlab@4342542081be434e013110f9dd456b5caf286464) ([merge request](gitlab-org/security/gitlab!2765)) +- [Fixes XSS in widget extensions](gitlab-org/security/gitlab@e3d4d46967e72f12645d08ef1879223a1ec2d398) ([merge request](gitlab-org/security/gitlab!2675)) + ## 15.2.4 (2022-08-30) ### Security (18 changes) diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index baec1bc73e..63a3b0b00a 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -15.4.2 \ No newline at end of file +15.5.4 \ No newline at end of file diff --git a/GITLAB_ELASTICSEARCH_INDEXER_VERSION b/GITLAB_ELASTICSEARCH_INDEXER_VERSION index b502146930..75a22a26ac 100644 --- a/GITLAB_ELASTICSEARCH_INDEXER_VERSION +++ b/GITLAB_ELASTICSEARCH_INDEXER_VERSION @@ -1 +1 @@ -3.0.2 +3.0.3 diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index c915b5db73..2e0b428c41 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -15.4.0 +15.5.1 diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION index 6242bb49da..27fbdebd13 100644 --- a/GITLAB_SHELL_VERSION +++ b/GITLAB_SHELL_VERSION @@ -1 +1 @@ -14.10.0 +14.12.0 diff --git a/Gemfile b/Gemfile index 6631a88937..8a8c0a444a 100644 --- a/Gemfile +++ b/Gemfile @@ -2,12 +2,30 @@ source 'https://rubygems.org' +if ENV['BUNDLER_CHECKSUM_VERIFICATION_OPT_IN'] # this verification is still experimental + $LOAD_PATH.unshift(File.expand_path("vendor/gems/bundler-checksum/lib", __dir__)) + require 'bundler-checksum' + Bundler::Checksum.patch! +end + gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false +# NOTE: When incrementing the major or minor version here, also increment activerecord_version +# in vendor/gems/attr_encrypted/attr_encrypted.gemspec until we resolve +# https://gitlab.com/gitlab-org/gitlab/-/issues/375713 gem 'rails', '~> 6.1.6.1' gem 'bootsnap', '~> 1.13.0', require: false +# Pin openssl to match the version bundled with our supported Rubies. +# See https://stdgems.org/openssl/#gem-version. +gem 'openssl', '2.2.1' +# This gem was originally bundled with Ruby 2.7, but is unbundled as of Ruby 3. +# Since the latest version caused problems with GitLab, we pin this to an older +# version for now. +# See https://gitlab.com/gitlab-org/gitlab/-/issues/376417 +gem 'ipaddr', '1.2.2' + # Responders respond_to and respond_with gem 'responders', '~> 3.0' @@ -19,13 +37,13 @@ gem 'view_component', '~> 2.71.0' gem 'default_value_for', '~> 3.4.0' # Supported DBs -gem 'pg', '~> 1.4.0' +gem 'pg', '~> 1.4.3' gem 'rugged', '~> 1.2' gem 'grape-path-helpers', '~> 1.7.1' gem 'faraday', '~> 1.0' -gem 'marginalia', '~> 1.10.0' +gem 'marginalia', '~> 1.11.1' # Authorization gem 'declarative_policy', '~> 1.1.0' @@ -38,18 +56,17 @@ gem 'doorkeeper', '~> 5.5.0.rc2' gem 'doorkeeper-openid_connect', '~> 1.7.5' gem 'rexml', '~> 3.2.5' gem 'ruby-saml', '~> 1.13.0' -gem 'omniauth-rails_csrf_protection' gem 'omniauth', '~> 2.1.0' gem 'omniauth-auth0', '~> 2.0.0' -gem 'omniauth-azure-activedirectory-v2', '~> 1.0' +gem 'omniauth-azure-activedirectory-v2', '~> 2.0' gem 'omniauth-azure-oauth2', '~> 0.0.9', path: 'vendor/gems/omniauth-azure-oauth2' # See gem README.md gem 'omniauth-cas3', '~> 1.1.4', path: 'vendor/gems/omniauth-cas3' # See vendor/gems/omniauth-cas3/README.md gem 'omniauth-dingtalk-oauth2', '~> 1.0' -gem 'omniauth-alicloud', '~> 1.0.1' +gem 'omniauth-alicloud', '~> 2.0.0' gem 'omniauth-facebook', '~> 4.0.0' -gem 'omniauth-github', '2.0.0' +gem 'omniauth-github', '2.0.1' gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md -gem 'omniauth-google-oauth2', '~> 1.0.1', path: 'vendor/gems/omniauth-google-oauth2' # See gem README.md +gem 'omniauth-google-oauth2', '~> 1.1' gem 'omniauth-oauth2-generic', '~> 0.2.2' gem 'omniauth-saml', '~> 2.0.0' gem 'omniauth-shibboleth', '~> 1.3.0' @@ -59,7 +76,7 @@ gem 'omniauth-authentiq', '~> 0.3.3' gem 'gitlab-omniauth-openid-connect', '~> 0.10.0', require: 'omniauth_openid_connect' gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md gem 'omniauth-atlassian-oauth2', '~> 0.2.0' -gem 'rack-oauth2', '~> 1.21.2' +gem 'rack-oauth2', '~> 1.21.3' gem 'jwt', '~> 2.1.0' # Kerberos authentication. EE-only @@ -74,7 +91,7 @@ gem 'invisible_captcha', '~> 1.1.0' # Two-factor authentication gem 'devise-two-factor', '~> 4.0.2' gem 'rqrcode-rails3', '~> 0.1.7' -gem 'attr_encrypted', '~> 3.1.0' +gem 'attr_encrypted', '~> 3.2.4', path: 'vendor/gems/attr_encrypted' gem 'u2f', '~> 0.2.1' # GitLab Pages @@ -101,7 +118,9 @@ gem 'net-ldap', '~> 0.16.3' # API gem 'grape', '~> 1.5.2' gem 'grape-entity', '~> 0.10.0' -gem 'rack-cors', '~> 1.1.0', require: 'rack/cors' +gem 'rack-cors', '~> 1.1.1', require: 'rack/cors' +gem 'grape-swagger', '~>1.5.0', group: [:development, :test] +gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test] # GraphQL API gem 'graphql', '~> 1.13.12' @@ -149,7 +168,7 @@ gem 'seed-fu', '~> 2.3.7' gem 'elasticsearch-model', '~> 7.2' gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' gem 'elasticsearch-api', '7.13.3' -gem 'aws-sdk-core', '~> 3.131.0' +gem 'aws-sdk-core', '~> 3.159.0' gem 'aws-sdk-cloudformation', '~> 1' gem 'aws-sdk-s3', '~> 1.114.0' gem 'faraday_middleware-aws-sigv4', '~>0.3.0' @@ -160,7 +179,7 @@ gem 'html-pipeline', '~> 2.13.2' gem 'deckar01-task_list', '2.3.1' gem 'gitlab-markup', '~> 1.8.0' gem 'github-markup', '~> 1.7.0', require: 'github/markup' -gem 'commonmarker', '~> 0.23.4' +gem 'commonmarker', '~> 0.23.6' gem 'kramdown', '~> 2.3.1' gem 'RedCloth', '~> 4.3.2' gem 'rdoc', '~> 6.3.2' @@ -175,7 +194,6 @@ gem 'rouge', '~> 3.30.0' gem 'truncato', '~> 0.7.12' gem 'bootstrap_form', '~> 4.2.0' gem 'nokogiri', '~> 1.13.8' -gem 'escape_utils', '~> 1.1' # Calendar rendering gem 'icalendar' @@ -187,7 +205,7 @@ gem 'diff_match_patch', '~> 0.1.0' # Application server gem 'rack', '~> 2.2.4' # https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually -gem 'rack-timeout', '~> 0.6.0', require: 'rack/timeout/base' +gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' group :puma do gem 'puma', '~> 5.6.5', require: false @@ -203,8 +221,8 @@ gem 'acts-as-taggable-on', '~> 9.0' # Background jobs gem 'sidekiq', '~> 6.4.0' -gem 'sidekiq-cron', '~> 1.4.0' -gem 'redis-namespace', '~> 1.8.1' +gem 'sidekiq-cron', '~> 1.8.0' +gem 'redis-namespace', '~> 1.9.0' gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch' # Cron Parser @@ -223,7 +241,7 @@ gem 'ruby-progressbar', '~> 1.10' gem 'settingslogic', '~> 2.0.9' # Linear-time regex library for untrusted regular expressions -gem 're2', '~> 1.4.0' +gem 're2', '~> 1.5.0' # Misc @@ -272,7 +290,7 @@ gem 'sanitize', '~> 6.0' gem 'babosa', '~> 1.0.4' # Sanitizes SVG input -gem 'loofah', '~> 2.18.0' +gem 'loofah', '~> 2.19.0' # Working with license # Detects the open source license the repository includes @@ -292,7 +310,7 @@ gem 'fast_blank' gem 'gitlab-chronic', '~> 0.10.5' gem 'gitlab_chronic_duration', '~> 0.10.6.2' -gem 'rack-proxy', '~> 0.7.2' +gem 'rack-proxy', '~> 0.7.4' gem 'sassc-rails', '~> 2.1.0' gem 'autoprefixer-rails', '10.2.5.1' @@ -307,7 +325,7 @@ gem 'base32', '~> 0.3.0' gem 'gitlab-license', '~> 2.2.1' # Protect against bruteforcing -gem 'rack-attack', '~> 6.6.0' +gem 'rack-attack', '~> 6.6.1' # Sentry integration gem 'sentry-raven', '~> 3.1' @@ -317,7 +335,7 @@ gem 'sentry-sidekiq', '~> 5.1.1' # PostgreSQL query parsing # -gem 'pg_query', '~> 2.1.0' +gem 'pg_query', '~> 2.1.4' gem 'premailer-rails', '~> 1.10.3' @@ -347,12 +365,12 @@ gem 'prometheus-client-mmap', '~> 0.16', require: 'prometheus/client' gem 'warning', '~> 1.3.0' group :development do - gem 'lefthook', '~> 1.1.1', require: false + gem 'lefthook', '~> 1.1.3', require: false gem 'rubocop' - gem 'solargraph', '~> 0.46.0', require: false + gem 'solargraph', '~> 0.47.2', require: false gem 'letter_opener_web', '~> 2.0.0' - gem 'lookbook', '~> 1.0' + gem 'lookbook', '~> 1.0', '>= 1.0.8' # Better errors handler gem 'better_errors', '~> 2.9.1' @@ -382,7 +400,7 @@ group :development, :test do gem 'spring', '~> 2.1.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 8.0.0', require: false + gem 'gitlab-styles', '~> 9.0.0', require: false gem 'haml_lint', '~> 0.40.0', require: false gem 'bundler-audit', '~> 0.7.0.1', require: false @@ -406,7 +424,7 @@ group :development, :test do gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' - gem 'pact', '~> 1.12' + gem 'pact', '~> 1.63' end group :development, :test, :danger do @@ -460,7 +478,6 @@ gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room' gem 'email_reply_trimmer', '~> 0.1' gem 'html2text' -gem 'ruby-prof', '~> 1.3.0' gem 'stackprof', '~> 0.2.21', require: false gem 'rbtrace', '~> 0.4', require: false gem 'memory_profiler', '~> 0.9', require: false @@ -495,7 +512,7 @@ gem 'grpc', '~> 1.42.0' gem 'google-protobuf', '~> 3.21' -gem 'toml-rb', '~> 2.0' +gem 'toml-rb', '~> 2.2.0' # Feature toggles gem 'flipper', '~> 0.25.0' @@ -519,8 +536,6 @@ gem 'retriable', '~> 3.1.2' # LRU cache gem 'lru_redux' -gem 'erubi', '~> 1.9.0' - # Locked as long as quoted-printable encoding issues are not resolved # Monkey-patched in `config/initializers/mail_encoding_patch.rb` # See https://gitlab.com/gitlab-org/gitlab/issues/197386 @@ -556,3 +571,12 @@ gem 'ed25519', '~> 1.3.0' # Error Tracking OpenAPI client # See https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/rake_tasks.md#update-openapi-client-for-error-tracking-feature gem 'error_tracking_open_api', path: 'vendor/gems/error_tracking_open_api' + +# Vulnerability advisories +gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite' + +# Work with RPM packages +gem 'arr-pm', '~> 0.0.12' + +# Apple plist parsing +gem 'CFPropertyList' diff --git a/Gemfile.checksum b/Gemfile.checksum index 542a8d25fb..afcbc5a6a6 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -1,4 +1,5 @@ [ +{"name":"CFPropertyList","version":"3.0.5","platform":"ruby","checksum":"a78551cd4768d78ebca98488c27e33652ef818be64697a54676d34e6434674a4"}, {"name":"RedCloth","version":"4.3.2","platform":"ruby","checksum":"1ee7bc55c8dcec92cf7741a2132a9a6cd19e4b884fbc1b3aca23e1a4fcd92d55"}, {"name":"acme-client","version":"2.0.11","platform":"ruby","checksum":"edf6da9f3c5dbe3ab0c6738eb3b97978b7a60e3500445480d2a72fcc610089de"}, {"name":"actioncable","version":"6.1.6.1","platform":"ruby","checksum":"11f079141cf032026881e4a79ae0cc93753351089c1b6ca1ed30a8a6a21f961b"}, @@ -14,11 +15,12 @@ {"name":"activestorage","version":"6.1.6.1","platform":"ruby","checksum":"3fbf4c355a69a46e14676004ad8e06245bdce7f96858e72782715218326aafc5"}, {"name":"activesupport","version":"6.1.6.1","platform":"ruby","checksum":"5fc9fd6fe6f755e7523bb3aaf4370fb91a8416b39e3202939fd8bded4fec606d"}, {"name":"acts-as-taggable-on","version":"9.0.0","platform":"ruby","checksum":"5a409be0eae125b7b02c1a7316264b40d4a583584a13d4ea4a6d82acdb351b86"}, -{"name":"addressable","version":"2.8.0","platform":"ruby","checksum":"f76d29d2d1f54b6c6a49aec58f9583b08d97e088c227a3fcba92f6c6531d5908"}, +{"name":"addressable","version":"2.8.1","platform":"ruby","checksum":"bc724a176ef02118c8a3ed6b5c04c39cf59209607ffcce77b91d0261dbadedfa"}, {"name":"aes_key_wrap","version":"1.1.0","platform":"ruby","checksum":"b935f4756b37375895db45669e79dfcdc0f7901e12d4e08974d5540c8e0776a5"}, {"name":"akismet","version":"3.0.0","platform":"ruby","checksum":"74991b8e3d3257eeea996b47069abb8da2006c84a144255123e8dffd1c86b230"}, {"name":"android_key_attestation","version":"0.3.0","platform":"ruby","checksum":"467eb01a99d2bb48ef9cf24cc13712669d7056cba5a52d009554ff037560570b"}, {"name":"apollo_upload_server","version":"2.1.0","platform":"ruby","checksum":"e5f3c9dda0c2ca775d007072742b98d517dfd91a667111fedbcdc94dfabd904e"}, +{"name":"arr-pm","version":"0.0.12","platform":"ruby","checksum":"fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39"}, {"name":"asana","version":"0.10.13","platform":"ruby","checksum":"36d0d37f8dd6118a54580f1b80224875d7b6a9027598938e1722a508bfc2d7ac"}, {"name":"asciidoctor","version":"2.0.17","platform":"ruby","checksum":"ed5b5e399e8d64994cc16f0983f993d6e33990909a8415b6fc8b786cdeb00f3d"}, {"name":"asciidoctor-include-ext","version":"0.4.0","platform":"ruby","checksum":"406adb9d2fbfc25536609ca13b787ed704dc06a4e49d6709b83f3bad578f7878"}, @@ -26,18 +28,17 @@ {"name":"asciidoctor-plantuml","version":"0.0.16","platform":"ruby","checksum":"407e47cd1186ded5ccc75f0c812e5524c26c571d542247c5132abb8f47bd1793"}, {"name":"ast","version":"2.4.2","platform":"ruby","checksum":"1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12"}, {"name":"atlassian-jwt","version":"0.2.0","platform":"ruby","checksum":"52e653e9d6062d7a740c3675b0e79fa08367927c6fc17f5476d1b6b3798c6eb2"}, -{"name":"attr_encrypted","version":"3.1.0","platform":"ruby","checksum":"4f0682604714ed4599cf00771ad27e82f0b51b0ed8644af51a43d21fbe129b59"}, {"name":"attr_required","version":"1.0.1","platform":"ruby","checksum":"024e10393bd30901e1adf6769bd756b873a5ef7da60f86f8f11066116b5742bc"}, {"name":"autoprefixer-rails","version":"10.2.5.1","platform":"ruby","checksum":"3711d67f1112361c7628847ac192d8aa6f3b8abe47527aee8a69dc8985e798ee"}, {"name":"awesome_print","version":"1.9.2","platform":"ruby","checksum":"e99b32b704acff16d768b3468680793ced40bfdc4537eb07e06a4be11133786e"}, {"name":"awrence","version":"1.1.1","platform":"ruby","checksum":"9be584c97408ed92d5e1ca11740853646fe270de675f2f8dd44e8233226dfc97"}, {"name":"aws-eventstream","version":"1.2.0","platform":"ruby","checksum":"ffa53482c92880b001ff2fb06919b9bb82fd847cbb0fa244985d2ebb6dd0d1df"}, -{"name":"aws-partitions","version":"1.600.0","platform":"ruby","checksum":"23592386dd0bb34c38fae2714eb1ab5c18fbef714f22b042815a92fdd51fa733"}, +{"name":"aws-partitions","version":"1.644.0","platform":"ruby","checksum":"63791750839afff110c5b5a8805018c4275720d7a5c7ec79319d4d520c7da874"}, {"name":"aws-sdk-cloudformation","version":"1.41.0","platform":"ruby","checksum":"31e47539719734413671edf9b1a31f8673fbf9688549f50c41affabbcb1c6b26"}, -{"name":"aws-sdk-core","version":"3.131.1","platform":"ruby","checksum":"481c602d682b61abccb4e9f5b64750907bb49758f6f31b3bec599819951a3f7a"}, +{"name":"aws-sdk-core","version":"3.159.0","platform":"ruby","checksum":"8863e2cdfd6816a0532ad9eb82a07b81b3d12667da747e9e82554e4dd7adb231"}, {"name":"aws-sdk-kms","version":"1.57.0","platform":"ruby","checksum":"ffd7dbb9b4251f29d4f508af761d0addd7035a346a88e3481cdb4dc548e51bd5"}, {"name":"aws-sdk-s3","version":"1.114.0","platform":"ruby","checksum":"ce0f71df1a7b0fb1f88d40a70636ef1a9b08e69fb560694c5dab3f4ac7efcde4"}, -{"name":"aws-sigv4","version":"1.5.0","platform":"ruby","checksum":"3f81c08bacabec6cbc77ebbbac755ca6132a74a4a3279afbde64db83796ce776"}, +{"name":"aws-sigv4","version":"1.5.1","platform":"ruby","checksum":"d68c87fff4ee843b4b92b23c7f31f957f254ec6eb064181f7119124aab8b8bb4"}, {"name":"azure-storage-blob","version":"2.0.3","platform":"ruby","checksum":"61b76118843c91776bd24bee22c74adafeb7c4bb3a858a325047dae3b59d0363"}, {"name":"azure-storage-common","version":"2.0.4","platform":"ruby","checksum":"608f4daab0e06b583b73dcffd3246ea39e78056de31630286b0cf97af7d6956b"}, {"name":"babosa","version":"1.0.4","platform":"ruby","checksum":"18dea450f595462ed7cb80595abd76b2e535db8c91b350f6c4b3d73986c5bc99"}, @@ -53,7 +54,7 @@ {"name":"benchmark-perf","version":"0.6.0","platform":"ruby","checksum":"fe2b01959f3de0f9dd34820d54ef881eb4f3589fccb7d17b63068ac92d7f9621"}, {"name":"benchmark-trend","version":"0.4.0","platform":"ruby","checksum":"de5a02a9f443babefbbd97784759820decee8554a0c273d859c02a0990845d81"}, {"name":"better_errors","version":"2.9.1","platform":"ruby","checksum":"39efc116ab04d6c4200052c5782936e4bd99906978d098992bce6bf81d054284"}, -{"name":"bindata","version":"2.4.10","platform":"ruby","checksum":"798b5e3ec00e9d562243076b819c16b1e226eb176d5b7b5cd21417bc3589981a"}, +{"name":"bindata","version":"2.4.11","platform":"ruby","checksum":"c38e0c99ffcd80c10a0a7ae6c8586d2fe26bf245cbefac90bec8764523220f6a"}, {"name":"binding_ninja","version":"0.2.3","platform":"java","checksum":"bbcf70b211d6e397493bf57c249bbec6aaf28fa7dafeb78e447b1b2f0610484f"}, {"name":"binding_ninja","version":"0.2.3","platform":"ruby","checksum":"4a85550a0066ee4721506b4e150857486808e50c9ddfeed04bdc896bb61eca9d"}, {"name":"bootsnap","version":"1.13.0","platform":"ruby","checksum":"c673282ec0f48506f093ca9acefe0f666d1ab9fda716e49fb95c9fe677653e78"}, @@ -79,9 +80,9 @@ {"name":"claide-plugins","version":"0.9.2","platform":"ruby","checksum":"c7ea78bc067ab23bce8515497cdcdcb8f01c86dadfbe13c44644e382922c1c2e"}, {"name":"coderay","version":"1.1.3","platform":"ruby","checksum":"dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b"}, {"name":"colored2","version":"3.1.2","platform":"ruby","checksum":"b13c2bd7eeae2cf7356a62501d398e72fde78780bd26aec6a979578293c28b4a"}, -{"name":"commonmarker","version":"0.23.4","platform":"ruby","checksum":"95d9cb050576376374a66d71a4feab3562e0955aab9d80a3e8606a5cf5e9c7ce"}, +{"name":"commonmarker","version":"0.23.6","platform":"ruby","checksum":"c8aeaaaff4ba497bf180f762db63a0069794fafb6eff221224c9c8199d337b38"}, {"name":"concurrent-ruby","version":"1.1.10","platform":"ruby","checksum":"244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68"}, -{"name":"connection_pool","version":"2.2.5","platform":"ruby","checksum":"13a8fc3921ce4df8e04fb65f1037251decb08d74757b41163688bd1c1feccd39"}, +{"name":"connection_pool","version":"2.3.0","platform":"ruby","checksum":"677985be912f33c90f98f229aaa0c0ddb2ef8776f21929a36eeeb25251c944da"}, {"name":"contracts","version":"0.11.0","platform":"ruby","checksum":"df6e438efa89c31dd3095851c3f7a25dfdae36b35ff1d4547f1d92941b3c7286"}, {"name":"cork","version":"0.3.0","platform":"ruby","checksum":"a0a0ac50e262f8514d1abe0a14e95e71c98b24e3378690e5d044daf0013ad4bc"}, {"name":"cose","version":"1.0.0","platform":"ruby","checksum":"520ebaad97b56d2873de02ff4e2c973f5e77ce2f8edbda454af9ee3073643bc0"}, @@ -90,7 +91,8 @@ {"name":"crass","version":"1.0.6","platform":"ruby","checksum":"dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d"}, {"name":"creole","version":"0.5.0","platform":"ruby","checksum":"951701e2d80760f156b1cb2a93471ca97c076289becc067a33b745133ed32c03"}, {"name":"crystalball","version":"0.7.0","platform":"ruby","checksum":"6e729f372a5071daec877adb40c5df4cb25fe21f350635e2a9624373fc151ef2"}, -{"name":"css_parser","version":"1.11.0","platform":"ruby","checksum":"568926c3193579446ad3e3f9d761c73e2918ee5b3b7757a1a49ec166c67d6de1"}, +{"name":"css_parser","version":"1.12.0","platform":"ruby","checksum":"8b7c04bca32257da0c65bd7b1fa585df5a0fd9f5197ccd78498d5598dd900784"}, +{"name":"cvss-suite","version":"3.0.1","platform":"ruby","checksum":"b5ca9e9e94032a42fd0dc28c1e305378b62c949e35ed7111fc4a1d76f68ad3f9"}, {"name":"danger","version":"8.6.1","platform":"ruby","checksum":"d95eb58b41f68d3aaa9bbef697916b6b4d161a38819517c98562531be75cdfd8"}, {"name":"danger-gitlab","version":"8.0.0","platform":"ruby","checksum":"497dd7d0f6513913de651019223d8058cf494df10acbd17de92b175dfa04a3a8"}, {"name":"database_cleaner","version":"1.7.0","platform":"ruby","checksum":"bdf833c197afac7054015bcde2567c3834c366bbfe6a377c30151ca984b32016"}, @@ -133,12 +135,13 @@ {"name":"email_reply_trimmer","version":"0.1.6","platform":"ruby","checksum":"9fede222ce660993e4e2e3dad282535ceb7914e246eb8302c19aa9e021f7326e"}, {"name":"email_spec","version":"2.2.0","platform":"ruby","checksum":"60b7980580a835e7f676db60667f17a2d60e8e0e39c26d81cfc231805c544d79"}, {"name":"encryptor","version":"3.0.0","platform":"ruby","checksum":"abf23f94ab4d864b8cea85b43f3432044a60001982cda7c33c1cd90da8db1969"}, -{"name":"erubi","version":"1.9.0","platform":"ruby","checksum":"7d84d6037396418c4ba30bc40ed7a0aec9beb567ce55bcecb12e8c0cb1ed9fdb"}, +{"name":"erubi","version":"1.11.0","platform":"ruby","checksum":"fda72d577feaf3bdcd646d33fa630be5f92f48e179a9278e4175a9cec20e7f85"}, {"name":"escape_utils","version":"1.2.1","platform":"ruby","checksum":"e5292fe8d7e12a9bcb4502d99e28fb602e4e1514690d98a1c4957f6f77b4b162"}, {"name":"et-orbi","version":"1.2.7","platform":"ruby","checksum":"3b693d47f94a4060ccc07e60adda488759b1e8b9228a633ebbad842dfc245fb4"}, {"name":"ethon","version":"0.15.0","platform":"ruby","checksum":"0809805a035bc10f54162ca99f15ded49e428e0488bcfe1c08c821e18261a74d"}, {"name":"excon","version":"0.90.0","platform":"ruby","checksum":"01beac0f20652b12de95aef931f72bcb82ffb009e1c34c42a5cf5df93f4070ae"}, {"name":"execjs","version":"2.8.1","platform":"ruby","checksum":"6d939919cfd81bcc4d6556f322c3995a70cfe4289ea0bd3b1f999b489c323088"}, +{"name":"expgen","version":"0.1.1","platform":"ruby","checksum":"4e6a0f65b210a201d6045debb3e62a24e33251a49f81a11b067d303a60d3a239"}, {"name":"expression_parser","version":"0.9.0","platform":"ruby","checksum":"2b56db3cffc48c3337f4f29f5bc2374c86e7ba29acb40269c74bb55af9f868a4"}, {"name":"extended-markdown-filter","version":"0.6.0","platform":"ruby","checksum":"46844b5740b1703a0e0674e31a17c83d1244a3198abb3aae51cad1eb152eb19e"}, {"name":"factory_bot","version":"6.2.0","platform":"ruby","checksum":"d181902cdda531cf6cef036001b3a700a7b5e04bac63976864530120b2ac7d13"}, @@ -205,31 +208,33 @@ {"name":"gitlab-labkit","version":"0.24.0","platform":"ruby","checksum":"8f16e5aa4e0a05be58958fe880bdd53c84b659a081ea9981d2b510922a4a0548"}, {"name":"gitlab-license","version":"2.2.1","platform":"ruby","checksum":"39fcf6be8b2887df8afe01b5dcbae8d08b7c5d937ff56b0fb40484a8c4f02d30"}, {"name":"gitlab-mail_room","version":"0.0.9","platform":"ruby","checksum":"6700374b5c0aa9d9ad4e711aeb677f0b7d415a6d01d3baa699efab25349d851c"}, -{"name":"gitlab-markup","version":"1.8.0","platform":"ruby","checksum":"fb629369dca5dd343e47ebf5fa2e0a0fc146012fc49c35eff5ca826ae4186c86"}, +{"name":"gitlab-markup","version":"1.8.1","platform":"ruby","checksum":"ab1f9fd016977497c2af25b76341dea670533014f406861834a0bd99f646707b"}, {"name":"gitlab-net-dns","version":"0.9.1","platform":"ruby","checksum":"bcd1a08dcb31b731e8ff602d828de619d2d9f53f5812f6abacf11c720873d4cb"}, {"name":"gitlab-omniauth-openid-connect","version":"0.10.0","platform":"ruby","checksum":"ea44a23ea93457057bba6a9912e883f5aefab36a941c6c58512c8a7095fb1153"}, {"name":"gitlab-sidekiq-fetcher","version":"0.8.0","platform":"ruby","checksum":"9c564caa2a958d44a8d78672dc23b2a206102d0223b41b77b58626a945e37362"}, -{"name":"gitlab-styles","version":"8.0.0","platform":"ruby","checksum":"ff77d8543b7093e387430ebdaa2adce9dc3caaa8b10ce9bf9b40242d5f7b66da"}, +{"name":"gitlab-styles","version":"9.0.0","platform":"ruby","checksum":"ef0edfab8f807a5be2309ba24dfc44fec5ba52ed68b87167c051e9ffdadb3bad"}, {"name":"gitlab_chronic_duration","version":"0.10.6.2","platform":"ruby","checksum":"6dda4cfe7dca9b958f163ac8835c3d9cc70cf8df8cbb89bb2fbf9ba4375105fb"}, {"name":"gitlab_omniauth-ldap","version":"2.2.0","platform":"ruby","checksum":"bb4d20acb3b123ed654a8f6a47d3fac673ece7ed0b6992edb92dca14bad2838c"}, {"name":"globalid","version":"1.0.0","platform":"ruby","checksum":"1253641b1dc3392721c964351773755d75135d3d3c5cc65d88b0a3880a60bed8"}, {"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"}, {"name":"google-api-client","version":"0.50.0","platform":"ruby","checksum":"3ae45e972f293f3a66e53950ecc0fd350d85d6347c06a430bb971bd1ae5ad617"}, {"name":"google-cloud-env","version":"1.6.0","platform":"ruby","checksum":"6179acb946975892c7908748df5722a4ebadfc8cf5bb7b0d8d933ca67183fa15"}, -{"name":"google-protobuf","version":"3.21.5","platform":"java","checksum":"f63a511439c6350823790d1c8d903a7b536549bbc3eec21160aff3ee5594dcc3"}, -{"name":"google-protobuf","version":"3.21.5","platform":"ruby","checksum":"c94bee502390041d0f5c6fd4b776118656c5b54521c2a5c7957686de6ba95bfb"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw-ucrt","checksum":"cf17273c5d5d33fc4c4879ba8aa5973aa9e34f879d728c461facf5da24db7745"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x64-mingw32","checksum":"677a4c0770446e0b08828da6b8c021469551639cfb2b489f3d3f32da435bd6e8"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86-linux","checksum":"cdaa147bbb7e5fd59adc2aba167b7965221013a39830494f616974e97db02a42"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86-mingw32","checksum":"eda2bd51324e855a1593aa0c805d1c99a95dcc5161bc61eb6e8afb5d4e7bcb75"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-darwin","checksum":"4e2c937e5dc991a5675e4b78d6132e818862f19479013c2edc2455c76b54be53"}, -{"name":"google-protobuf","version":"3.21.5","platform":"x86_64-linux","checksum":"ec2dabea012d31dd99f450174be461f9323b4e97460af13cc3a4f9426c2b0fc0"}, +{"name":"google-protobuf","version":"3.21.7","platform":"java","checksum":"e8a0d10014d18f741afc4882035badbd08558e6f46e09cd937b6ea254881314a"}, +{"name":"google-protobuf","version":"3.21.7","platform":"ruby","checksum":"8d501659c77d159fde20f983f7272ce4c28339f6412c480e4eb98c1ccb52cc62"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw-ucrt","checksum":"35dc328caf1c843ae25ec1a4825ded8a71b8f4750449bd8d8e1664ae0dcdc240"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw32","checksum":"c9ea241dc186823ceba2abf9952a609668d38a729dd92f0ec744ff67fb60ab30"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86-linux","checksum":"02a1212e6e62e5927649124bdc6315dd54256059b3a7aed119811ceaef85c310"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86-mingw32","checksum":"509529f9231a6b61c97c26e12938054007be8a1dacb83dcd3b3a385107ce60cc"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-darwin","checksum":"93754c1366a3ecbd69bec241ab531a01aa05640577a2c0e52e671bdcb194f19f"}, +{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-linux","checksum":"9c7a49bb1cdbb17c039297d9aff8515245868f3ad86ebf274e4c0fd6fd9263be"}, {"name":"googleapis-common-protos-types","version":"1.3.0","platform":"ruby","checksum":"c5411f3197cc3e02547ded1858303b1f830b4dc89c588c142ad6c8a231050671"}, {"name":"googleauth","version":"0.14.0","platform":"ruby","checksum":"4659b563d5b2727e775ba9231e75485c1b55ac8fc319e0bf1bc87d5e9705a632"}, {"name":"gpgme","version":"2.0.20","platform":"ruby","checksum":"fc194689cff40cd4ccafb3086031e930650b3efc15348bbfdf7a2f8b5a826f75"}, {"name":"grape","version":"1.5.2","platform":"ruby","checksum":"1df3b734c3862e235174232bc629587eddda9ef3df648230827575186700ae29"}, {"name":"grape-entity","version":"0.10.0","platform":"ruby","checksum":"9aed1e7cbbc96d9e73f72e5f32c776d4ba8a5baf54c3acda2682008dba2b2cfe"}, {"name":"grape-path-helpers","version":"1.7.1","platform":"ruby","checksum":"2e27271a20d4073e3a3b2b955425c7f803e198be3ba8f6e59e3d59643c5381e2"}, +{"name":"grape-swagger","version":"1.5.0","platform":"ruby","checksum":"9c885b326ab0644abecf7df4ce866abc2411f359cfd59cbcca545b9b3b25c8ff"}, +{"name":"grape-swagger-entity","version":"0.5.1","platform":"ruby","checksum":"f51e372d00ac96cf90d948f87b3f4eb287ab053976ca57ad503d442ad8605523"}, {"name":"grape_logging","version":"1.8.4","platform":"ruby","checksum":"efcc3e322dbd5d620a68f078733b7db043cf12680144cd03c982f14115c792d1"}, {"name":"graphiql-rails","version":"1.8.0","platform":"ruby","checksum":"02e2c5098be2c6c29219a0e9b2910a2cd3c494301587a3199a7c4484d8038ed1"}, {"name":"graphlient","version":"0.5.0","platform":"ruby","checksum":"0f2c9416142e50b6bd4edcd86fe6810f792951732c487f9061aee6d420e0f292"}, @@ -256,7 +261,7 @@ {"name":"hashdiff","version":"1.0.1","platform":"ruby","checksum":"2cd4d04f5080314ecc8403c4e2e00dbaa282dff395e2d031bc16c8d501bdd6db"}, {"name":"hashie","version":"4.1.0","platform":"ruby","checksum":"7890dcb9ec18a4b66acec797018c73824b89cef5eb8cda36e8e8501845e87a09"}, {"name":"hashie-forbidden_attributes","version":"0.1.1","platform":"ruby","checksum":"3a6ed37f3a314e4fb1dd1e2df6eb7721bcadd023a30bc0b951b2b5285a790fb2"}, -{"name":"health_check","version":"3.0.0","platform":"ruby","checksum":"1b336c5c49036a993153e75c8d14e9742377fb9b7361c0a6af2e5fedb45b991f"}, +{"name":"health_check","version":"3.1.0","platform":"ruby","checksum":"10146508237dc54ed7e24c292d8ba7fb8f9590cf26c66e325b947438c4103b57"}, {"name":"heapy","version":"0.2.0","platform":"ruby","checksum":"74141e845d61ffc7c1e8bf8b127c8cf94544ec7a1181aec613288682543585ea"}, {"name":"html-pipeline","version":"2.13.2","platform":"ruby","checksum":"a1de83f7bd2d3464f3a068e391b661983fc6099d194c8d9ceb91ace02dadb803"}, {"name":"html2text","version":"0.2.0","platform":"ruby","checksum":"31c2f0be9ab7aa4fc780b07d5f84882ebc22a9024c29a45f4f5adfe42e92ad4f"}, @@ -274,6 +279,7 @@ {"name":"icalendar","version":"2.4.1","platform":"ruby","checksum":"ade7384b3a78d302e01c0b93f66816b734c9abd85d1511b90200de2eee6d5ef7"}, {"name":"imagen","version":"0.1.8","platform":"ruby","checksum":"fde7b727d4fe79c6bb5ac46c1f7184bf87a6d54df54d712ad2be039d2f93a162"}, {"name":"invisible_captcha","version":"1.1.0","platform":"ruby","checksum":"3670294a998ab1430ff07cd1697d25c70e6367bdb0dff534df24a14fdee8b4d2"}, +{"name":"ipaddr","version":"1.2.2","platform":"ruby","checksum":"27916ee6367d549850d3675bc020f1f1ddafbbe1cfc58635f17dfa56c42f9f79"}, {"name":"ipaddress","version":"0.8.3","platform":"ruby","checksum":"85640c4f9194c26937afc8c78e3074a8e7c97d5d1210358d1440f01034d006f5"}, {"name":"jaeger-client","version":"1.1.0","platform":"ruby","checksum":"cb5e9b9bbee6ee8d6a82d03d947a5b04543d8c0a949c22e484254f18d8a458a8"}, {"name":"jaro_winkler","version":"1.5.4","platform":"java","checksum":"0454333a50b44a09745878bfe57859893631ff7dfe48c029827894944514fe7c"}, @@ -283,7 +289,7 @@ {"name":"js_regex","version":"3.7.0","platform":"ruby","checksum":"b13fac68c4416d1a5f21c3bab8a71b4530f424b7c4ff9f46d8e62b895dc05975"}, {"name":"json","version":"2.5.1","platform":"java","checksum":"be284a0c4a9d0373e81b0d5dfe71ed5b18d0479f05970e60a77be89a2978ce6c"}, {"name":"json","version":"2.5.1","platform":"ruby","checksum":"918d8c41dacb7cfdbe0c7bbd6014a5372f0cf1c454ca150e9f4010fe80cc3153"}, -{"name":"json-jwt","version":"1.13.0","platform":"ruby","checksum":"b9bded80ba687e59d199db365731494ee68214f27d0d7be5b635b9956b98eb5b"}, +{"name":"json-jwt","version":"1.15.3","platform":"ruby","checksum":"66db4f14e538a774c15502a5b5b26b1f3e7585481bbb96df490aa74b5c2d6110"}, {"name":"json_schemer","version":"0.2.18","platform":"ruby","checksum":"3362c21efbefdd12ce994e541a1e7fdb86fd267a6541dd8715e8a580fe3b6be6"}, {"name":"jsonpath","version":"1.1.2","platform":"ruby","checksum":"6804124c244d04418218acb85b15c7caa79c592d7d6970195300428458946d3a"}, {"name":"jwt","version":"2.1.0","platform":"ruby","checksum":"7e7e7ffc1a5ebce628ac7da428341c50615a3a10ac47bb74c22c1cba325613f0"}, @@ -297,7 +303,7 @@ {"name":"kramdown-parser-gfm","version":"1.1.0","platform":"ruby","checksum":"fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729"}, {"name":"kubeclient","version":"4.9.3","platform":"ruby","checksum":"d5d38e719fbac44f396851aa57cd1b9f4f7dab4410ab680ccd21c9b741230046"}, {"name":"launchy","version":"2.5.0","platform":"ruby","checksum":"954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5"}, -{"name":"lefthook","version":"1.1.1","platform":"ruby","checksum":"fa7dcd2c55dc14f6f164f96cf1404e712be84a2ac256e75947213093e080d05b"}, +{"name":"lefthook","version":"1.1.3","platform":"ruby","checksum":"3f8337b2176f49e6d4ab8f0f4494c8d1be0548d79bca898fbf2184d717092b75"}, {"name":"letter_opener","version":"1.7.0","platform":"ruby","checksum":"095bc0d58e006e5b43ea7d219e64ecf2de8d1f7d9dafc432040a845cf59b4725"}, {"name":"letter_opener_web","version":"2.0.0","platform":"ruby","checksum":"33860ad41e1785d75456500e8ca8bba8ed71ee6eaf08a98d06bbab67c5577b6f"}, {"name":"libyajl2","version":"1.2.0","platform":"ruby","checksum":"1117cd1e48db013b626e36269bbf1cef210538ca6d2e62d3fa3db9ded005b258"}, @@ -307,13 +313,13 @@ {"name":"locale","version":"2.1.3","platform":"ruby","checksum":"b6ddee011e157817cb98e521b3ce7cb626424d5882f1e844aafdee3e8b212725"}, {"name":"lockbox","version":"0.6.2","platform":"ruby","checksum":"0136677875c3d6e27cef87cd7bd66610404e2b3cd7f07f1ac8ed34e48f18dc3c"}, {"name":"lograge","version":"0.11.2","platform":"ruby","checksum":"4cbd1554b86f545d795eff15a0c24fd25057d2ac4e1caa5fc186168b3da932ef"}, -{"name":"loofah","version":"2.18.0","platform":"ruby","checksum":"61975a247a6aeb8f09ac5a3430305451efc4525c0b9b79c05feaec35a8b9d5a3"}, -{"name":"lookbook","version":"1.0.3","platform":"ruby","checksum":"c53e130a37588e32f66be3b9418b1efcb51bef69946b276edd3b4348a71cbcd6"}, +{"name":"loofah","version":"2.19.0","platform":"ruby","checksum":"302791371f473611e342f9e469e7f2fbf1155bb1b3a978a83ac7df625298feba"}, +{"name":"lookbook","version":"1.0.8","platform":"ruby","checksum":"e4b8789c5ff25c6443394da1d6b62966642c324e19c42d7f4cf3b5da2fe75f77"}, {"name":"lru_redux","version":"1.1.0","platform":"ruby","checksum":"ee71d0ccab164c51de146c27b480a68b3631d5b4297b8ffe8eda1c72de87affb"}, {"name":"lumberjack","version":"1.2.7","platform":"ruby","checksum":"a5c6aae6b4234f1420dbcd80b23e3bca0817bd239440dde097ebe3fa63c63b1f"}, {"name":"mail","version":"2.7.1","platform":"ruby","checksum":"ec2a3d489f7510b90d8eaa3f6abaad7038cf1d663cdf8ee66d0214a0bdf99c03"}, {"name":"marcel","version":"1.0.2","platform":"ruby","checksum":"a013b677ef46cbcb49fd5c59b3d35803d2ee04dd75d8bfdc43533fc5a31f7e4e"}, -{"name":"marginalia","version":"1.10.0","platform":"ruby","checksum":"68289091ee493e1a8f22369c245f250652a6538e497fdeef68cb2a2490830380"}, +{"name":"marginalia","version":"1.11.1","platform":"ruby","checksum":"cb63212ab63e42746e27595e912cb20408a1a28bcd0edde55d15b7c45fa289cf"}, {"name":"memoist","version":"0.16.2","platform":"ruby","checksum":"a52c53a3f25b5875151670b2f3fd44388633486dc0f09f9a7150ead1e3bf3c45"}, {"name":"memory_profiler","version":"0.9.14","platform":"ruby","checksum":"de558cf6525d8d56d2c0ea465b1664517fbe45560f892dc7a898d3b8c2863b12"}, {"name":"method_source","version":"1.0.0","platform":"ruby","checksum":"d779455a2b5666a079ce58577bfad8534f571af7cec8107f4dce328f0981dede"}, @@ -364,48 +370,48 @@ {"name":"notiffany","version":"0.1.3","platform":"ruby","checksum":"d37669605b7f8dcb04e004e6373e2a780b98c776f8eb503ac9578557d7808738"}, {"name":"numerizer","version":"0.2.0","platform":"ruby","checksum":"e58076d5ee5370417b7e52d9cb25836d62acd1b8d9a194c308707986c1705d7b"}, {"name":"oauth","version":"0.5.6","platform":"ruby","checksum":"4085fe28e0c5e2434135e00a6555294fd2a4ff96a98d1bdecdcd619fc6368dff"}, -{"name":"oauth2","version":"2.0.3","platform":"ruby","checksum":"b343d8665a936b4223b335b38f8640134ce14e07c540b8d17e8bbac0b4e5c41b"}, +{"name":"oauth2","version":"2.0.9","platform":"ruby","checksum":"b21f9defcf52dc1610e0dfab4c868342173dcd707fd15c777d9f4f04e153f7fb"}, {"name":"octokit","version":"4.25.1","platform":"ruby","checksum":"c02092ee82dcdfe84db0e0ea630a70d32becc54245a4f0bacfd21c010df09b96"}, {"name":"ohai","version":"16.10.6","platform":"ruby","checksum":"b835806e585faea4ac8346b68c722fb5fc29a29f73fd7e3a022f9073132dec22"}, {"name":"oj","version":"3.13.21","platform":"ruby","checksum":"aef31a8dcc6f0b9b4bb5cc7ac6cc5272b2d851deb11a1804c2ed6b5501b50e46"}, {"name":"omniauth","version":"2.1.0","platform":"ruby","checksum":"bff7234f5ec9323622b217c7f26d52f850de0b0e2b8c807c3358fc79fe572300"}, -{"name":"omniauth-alicloud","version":"1.0.1","platform":"ruby","checksum":"2f81ec0b8f98d2ab5e5d64555c75ace46582cf27c4ef4207aa59f15331dd697a"}, +{"name":"omniauth-alicloud","version":"2.0.0","platform":"ruby","checksum":"8ecf369d51cd5317c1e7c6b80276891f76cff210a534ec654326af5c62265de3"}, {"name":"omniauth-atlassian-oauth2","version":"0.2.0","platform":"ruby","checksum":"eb07574a188ab8a03376ce288bce86bc2dd4a1382ffa5781cb5e2b7bc15d76c9"}, {"name":"omniauth-auth0","version":"2.0.0","platform":"ruby","checksum":"823769be7883b45b2fa94367c2f6a17f7b3b1333986016089c016d45827da545"}, {"name":"omniauth-authentiq","version":"0.3.3","platform":"ruby","checksum":"11b3791085a130782bf14b0088653beeb085638a9548d7110a57d3cbbb54fb4c"}, -{"name":"omniauth-azure-activedirectory-v2","version":"1.0.0","platform":"ruby","checksum":"edcdd77ace89ae3a0ed4b3d350b64a0c81b5a2435dff6f8eda8cbce15cbf69df"}, +{"name":"omniauth-azure-activedirectory-v2","version":"2.0.0","platform":"ruby","checksum":"c484cedd52cd233e3c216c4b3ed667ec07d20e51c550a613b65a0f90fe8ad072"}, {"name":"omniauth-dingtalk-oauth2","version":"1.0.1","platform":"ruby","checksum":"6545670f1c38344eaf960df9750c550a9534f790f888af088761a9e04269139b"}, {"name":"omniauth-facebook","version":"4.0.0","platform":"ruby","checksum":"05ae3565c8fdb38df8dab04eb8ca854ea6c18e81591d3e6598ce101293a2f20f"}, -{"name":"omniauth-github","version":"2.0.0","platform":"ruby","checksum":"1ca26576125a97e27d3f8dc39cd98853d7382dd0fc04a40d3b9ec345ee378649"}, +{"name":"omniauth-github","version":"2.0.1","platform":"ruby","checksum":"8ff8e70ac6d6db9d52485eef52cfa894938c941496e66b52b5e2773ade3ccad4"}, +{"name":"omniauth-google-oauth2","version":"1.1.1","platform":"ruby","checksum":"4496f126e84eaf760f9c6a5c69e5e7511f98092d7f25ad79fd2c0ae5e09b5039"}, {"name":"omniauth-oauth","version":"1.2.0","platform":"ruby","checksum":"e7a78658498dc83aa3f3be1a776425c0f06a60d45d9236dbe5e98e61fadf827b"}, -{"name":"omniauth-oauth2","version":"1.7.3","platform":"ruby","checksum":"3f5a8f99fa72e0f91d2abd7475ceb972a4ae67ed59e049f314c0c1bad81f4745"}, -{"name":"omniauth-oauth2-generic","version":"0.2.2","platform":"ruby","checksum":"e30814f6c472e04f3d9e4a3ddc03bc9a46f53f9333f8d443bf3ad43c6ebcdbd4"}, -{"name":"omniauth-rails_csrf_protection","version":"1.0.1","platform":"ruby","checksum":"fc546aeb7d43b7b9d7737051c380156e61c8f080b898cd4934d523eaa7e59acf"}, +{"name":"omniauth-oauth2","version":"1.8.0","platform":"ruby","checksum":"b2f8e9559cc7e2d4efba57607691d6d2b634b879fc5b5b6ccfefa3da85089e78"}, +{"name":"omniauth-oauth2-generic","version":"0.2.8","platform":"ruby","checksum":"ce6e8539019d5ebf2f48867072b9f248f148bb4cbe7166dee655865abfae7613"}, {"name":"omniauth-saml","version":"2.0.0","platform":"ruby","checksum":"02594fd6630de26a9e65a2e64223e9ad32324fa97a6c7f1f22a1553ea3dd44c7"}, {"name":"omniauth-shibboleth","version":"1.3.0","platform":"ruby","checksum":"b0bb725ced5cb76fbfc187ddbb8ad6864d0cd5df714cab36a528df8ee4b1d113"}, {"name":"omniauth-twitter","version":"1.4.0","platform":"ruby","checksum":"c5cc6c77cd767745ffa9ebbd5fbd694a3fa99d1d2d82a4d7def0bf3b6131b264"}, {"name":"open4","version":"1.3.4","platform":"ruby","checksum":"a1df037310624ecc1ea1d81264b11c83e96d0c3c1c6043108d37d396dcd0f4b1"}, {"name":"openid_connect","version":"1.3.0","platform":"ruby","checksum":"a796855096850cc01140e37ea6ae9fd14f2be818b9b5bc698418063dfe228770"}, -{"name":"openssl","version":"2.2.0","platform":"ruby","checksum":"1cdcbd35c7977647d7583def720aed15111cd29b326b737aa0c72b38bff58b0f"}, +{"name":"openssl","version":"2.2.1","platform":"ruby","checksum":"f6afbf4b66f3fcd3c08dc1da1ddd2245b76c19d0ea2dd7e2c8b55794ca1a7d72"}, {"name":"openssl-signature_algorithm","version":"0.4.0","platform":"ruby","checksum":"e53a225b773784935249cf4c61238c6cf0e1e464e78ae2f8ddaf995fb22ca991"}, {"name":"opentracing","version":"0.5.0","platform":"ruby","checksum":"deb5d7abe6b0e7631d866d8cb5ee7bb9352650a504a32f61591302bc510b9286"}, {"name":"optimist","version":"3.0.1","platform":"ruby","checksum":"336b753676d6117cad9301fac7e91dab4228f747d4e7179891ad3a163c64e2ed"}, {"name":"org-ruby","version":"0.9.12","platform":"ruby","checksum":"93cbec3a4470cb9dca6a4a98dc276a6434ea9d9e7bc2d42ea33c3aedd5d1c974"}, {"name":"orm_adapter","version":"0.5.0","platform":"ruby","checksum":"aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9"}, {"name":"os","version":"1.1.1","platform":"ruby","checksum":"3db1fbc14ab8ea99b69ed8e353c894613e1b35e665fffb90414996cf8989d489"}, -{"name":"pact","version":"1.59.0","platform":"ruby","checksum":"6272cea35e4ee809493fadcba9800d4a24c262ef0778a0d1ba5d9a9b3f61fc59"}, -{"name":"pact-mock_service","version":"3.6.2","platform":"ruby","checksum":"cc91229484ae428b6eb3a6673c178046cbf6610ee6536ca6cbac060b6071f547"}, -{"name":"pact-support","version":"1.15.1","platform":"ruby","checksum":"c364596fe9fe78c4f93028013262d5d97867a680fa6acc35dda946447cdf1d1f"}, +{"name":"pact","version":"1.63.0","platform":"ruby","checksum":"cc2991ed242bf182c6a4abadfd492b2923d09a9b3ed24578126cc056921cb151"}, +{"name":"pact-mock_service","version":"3.10.0","platform":"ruby","checksum":"898ec3b8d96f1934d15941c701ca7d5fef5ccff32022d9a196fb82073cd95e27"}, +{"name":"pact-support","version":"1.18.1","platform":"ruby","checksum":"4a25961c8b1c4132e433a8eaa838b1e6914c6d3aae48eee705b9860a5e8b0476"}, {"name":"parallel","version":"1.22.1","platform":"ruby","checksum":"ebdf1f0c51f182df38522f70ba770214940bef998cdb6e00f36492b29699761f"}, {"name":"parser","version":"3.1.2.1","platform":"ruby","checksum":"57e49821b52d5fe7baffaca44ed77e9754688c9bbc68443b5293a722fdb161e0"}, {"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"}, {"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"}, {"name":"peek","version":"1.1.0","platform":"ruby","checksum":"d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc"}, -{"name":"pg","version":"1.4.1","platform":"ruby","checksum":"386bbffad223cce1dda903dad2c59268e41f3d183792506671ae526011ff0487"}, -{"name":"pg","version":"1.4.1","platform":"x64-mingw-ucrt","checksum":"de35769d4e7c25daa035f2dc33447e74711ab0dc8b73f685a846987e0080d030"}, -{"name":"pg","version":"1.4.1","platform":"x64-mingw32","checksum":"3457bf6bfdda7144097ef23d490a83980ba4572c78c58689aadaf58940a1989d"}, -{"name":"pg","version":"1.4.1","platform":"x86-mingw32","checksum":"323d09138b7bbfc6ae8eb427774d3639fc0e995983e65bb729527bf8e859fc29"}, -{"name":"pg_query","version":"2.1.3","platform":"ruby","checksum":"f3dd4b4c88c638eab48e9274f0dd88c584b60f8da58e3008b873192fe1e47001"}, +{"name":"pg","version":"1.4.3","platform":"ruby","checksum":"ab0219cdd9e5750abb04b8bca5a5a490f60abdf37503027fd2f90d0c2d31f2fa"}, +{"name":"pg","version":"1.4.3","platform":"x64-mingw-ucrt","checksum":"9f4d1d39af5ae5eea9f3c6b1e3092cbd5d26b716ff0e1283cf71c0690c69b36c"}, +{"name":"pg","version":"1.4.3","platform":"x64-mingw32","checksum":"3265afd0e00331c7c70e50d4a13eea9083e5b683ebcd808bd671af70d92b189e"}, +{"name":"pg","version":"1.4.3","platform":"x86-mingw32","checksum":"08a6ef4c702e313c1a04ad6b088b1843361ca8606843c7cd607e181e0d4e5508"}, +{"name":"pg_query","version":"2.1.4","platform":"ruby","checksum":"48f1363f88cf9d86fa11d76d1b0f839ca3723b8bd397b7cbc4b578e1ca82d0bb"}, {"name":"plist","version":"3.6.0","platform":"ruby","checksum":"f468bcf6b72ec6d1585ed6744eb4817c1932a5bf91895ed056e69b7f12ca10f2"}, {"name":"png_quantizator","version":"0.2.1","platform":"ruby","checksum":"6023d4d064125c3a7e02929c95b7320ed6ac0d7341f9e8de0c9ea6576ef3106b"}, {"name":"po_to_json","version":"1.0.1","platform":"ruby","checksum":"6a7188aa6c42a22c9718f9b39062862ef7f3d8f6a7b4177cae058c3308b56af7"}, @@ -418,7 +424,7 @@ {"name":"pry-byebug","version":"3.9.0","platform":"ruby","checksum":"3bba08f97fea15b89cc299f3b5136e3b85763cd18cf84960eac4fbfbeb2ede24"}, {"name":"pry-rails","version":"0.3.9","platform":"ruby","checksum":"468662575abb6b67f4a9831219f99290d5eae7bf186e64dd810d0a3e4a8cc4b1"}, {"name":"pry-shell","version":"0.5.1","platform":"ruby","checksum":"2b9000e30677acf5d66f55fa53d31934b7c069d9e0f738a0b84eed03a4ab677d"}, -{"name":"public_suffix","version":"4.0.7","platform":"ruby","checksum":"8be161e2421f8d45b0098c042c06486789731ea93dc3a896d30554ee38b573b8"}, +{"name":"public_suffix","version":"5.0.0","platform":"ruby","checksum":"26ee4fbce33ada25eb117ac71f2c24bf4d8b3414ab6b34f05b4708a3e90f1c6b"}, {"name":"puma","version":"5.6.5","platform":"java","checksum":"29d78fc2bc070b9db285a3334a890c3e0ece9bb369388065f0f340ccb1e57faf"}, {"name":"puma","version":"5.6.5","platform":"ruby","checksum":"661029d15a115e9f6c0641a69c830ffd9f1b9ac63fcd0791d94ccd900e03f863"}, {"name":"puma_worker_killer","version":"0.3.1","platform":"ruby","checksum":"9c5534d296b5e92d1ad4a578f2daf2aa71563003c84f7263f0a8dfd22b5c614a"}, @@ -430,11 +436,11 @@ {"name":"rack-accept","version":"0.4.5","platform":"ruby","checksum":"66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2"}, {"name":"rack-attack","version":"6.6.1","platform":"ruby","checksum":"187e5d248c6a162ed8cafa8241a7b5947d9b9cf122a4870eb1cdd0db861f3a11"}, {"name":"rack-cors","version":"1.1.1","platform":"ruby","checksum":"4702644ac6d63ebbddff372a3cd4cd573513287e3524b5a5415f678970057a4b"}, -{"name":"rack-oauth2","version":"1.21.2","platform":"ruby","checksum":"06fc157cad243ac11d8681c18139c4556a3f86b518f0fcb419e29512181a3ff2"}, +{"name":"rack-oauth2","version":"1.21.3","platform":"ruby","checksum":"4e72a79dd6a866692e84422a552b27c38a5a1918ded06661e04910f2bbe676ba"}, {"name":"rack-protection","version":"2.2.2","platform":"ruby","checksum":"fd41414dbabbec274af0bdb1f72a48504449de4d979782c9af38cbb5dfff3299"}, -{"name":"rack-proxy","version":"0.7.2","platform":"ruby","checksum":"89c74fd6d3e5a4db0ed7e0d8b9915dbc85360fd6f98f6c1f9a66479fe236f4b6"}, -{"name":"rack-test","version":"1.1.0","platform":"ruby","checksum":"154161f40f162b1c009a655b7b0c5de3a3102cc6d7d2e94b64e1f46ace800866"}, -{"name":"rack-timeout","version":"0.6.0","platform":"ruby","checksum":"6038d1cc31936394bd2c57bb16c17b31d2fd1d33ce928537cf0ef6f1f1905099"}, +{"name":"rack-proxy","version":"0.7.4","platform":"ruby","checksum":"a8bb373583d8a3165d8caf5af5fd7c32c9e8a91b983fbc531efa0e3d6617d2d4"}, +{"name":"rack-test","version":"2.0.2","platform":"ruby","checksum":"adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466"}, +{"name":"rack-timeout","version":"0.6.3","platform":"ruby","checksum":"1754892eacc124d405e7f1145731ec9b7421ebd1bee5d51ddc18b72c204d0ab3"}, {"name":"rails","version":"6.1.6.1","platform":"ruby","checksum":"17024921a3913fb341f584542b06adf6bb12977a8b92d5fce093c3996c963686"}, {"name":"rails-controller-testing","version":"1.0.5","platform":"ruby","checksum":"741448db59366073e86fc965ba403f881c636b79a2c39a48d0486f2607182e94"}, {"name":"rails-dom-testing","version":"2.0.3","platform":"ruby","checksum":"b140c4f39f6e609c8113137b9a60dfc2ecb89864e496f87f23a68b3b8f12d8d1"}, @@ -443,24 +449,22 @@ {"name":"railties","version":"6.1.6.1","platform":"ruby","checksum":"bafecdf2dcbe4ea44e1ab7081fd797aa87ae9bbcd0f3a4372b662a1b93949733"}, {"name":"rainbow","version":"3.1.1","platform":"ruby","checksum":"039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a"}, {"name":"rake","version":"13.0.6","platform":"ruby","checksum":"5ce4bf5037b4196c24ac62834d8db1ce175470391026bd9e557d669beeb19097"}, -{"name":"randexp","version":"0.1.7","platform":"ruby","checksum":"3026510ecf6a8e8642b9b96fa44bb41af6d24058023b7df77cf280f08e14e4c8"}, -{"name":"rash_alt","version":"0.4.12","platform":"ruby","checksum":"1d4a6dd5b8fdcecc6b777c0b924dbf31c125ddd8d805e72dc9359db8324e1607"}, {"name":"rb-fsevent","version":"0.11.2","platform":"ruby","checksum":"43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe"}, {"name":"rb-inotify","version":"0.10.1","platform":"ruby","checksum":"050062d4f31d307cca52c3f6a7f4b946df8de25fc4bd373e1a5142e41034a7ca"}, {"name":"rbtrace","version":"0.4.14","platform":"ruby","checksum":"162bbf89cecabfc4f09c869b655f6f3a679c4870ebb7cbdcadf7393a81cc1769"}, {"name":"rbtree","version":"0.4.4","platform":"ruby","checksum":"c1277a502a96fe8fd8656cb619db1ac87145df809ea4db35f7242b50bb161d5c"}, {"name":"rchardet","version":"1.8.0","platform":"ruby","checksum":"693acd5253d5ade81a51940697955f6dd4bb2f0d245bda76a8e23deec70a52c7"}, {"name":"rdoc","version":"6.3.2","platform":"ruby","checksum":"def4a720235c27d56c176ae73555e647eb04ea58a8bbaa927f8f9f79de7805a6"}, -{"name":"re2","version":"1.4.0","platform":"ruby","checksum":"5c07d2351be1159530e2b815aae499b6524942e79bf21d560fcff5b2fa20ea8f"}, +{"name":"re2","version":"1.5.0","platform":"ruby","checksum":"35fe8b408de9f1ef609b1e54e01ea1e55413ca3e9daf1e4b20756d9a02f630cc"}, {"name":"recaptcha","version":"4.13.1","platform":"ruby","checksum":"dc6c2cb78afa87034358b7ba1c6f7175972b5709fdf7500e2550623e119e3788"}, {"name":"recursive-open-struct","version":"1.1.3","platform":"ruby","checksum":"a3538a72552fcebcd0ada657bdff313641a4a5fbc482c08cfb9a65acb1c9de5a"}, {"name":"redcarpet","version":"3.5.1","platform":"ruby","checksum":"717f64cb6ec11c8d9ec9b521ed26ca2eeda68b4fe1fc3388a641176dbd47732f"}, {"name":"redis","version":"4.7.1","platform":"ruby","checksum":"ecb256d4e53ead3eca05bf394dd100e6a162c136f461fe752ddf5d35b64a2df6"}, {"name":"redis-actionpack","version":"5.3.0","platform":"ruby","checksum":"3fb1ad0a8fd9d26a289c9399bb609dcaef38bf37711e6f677a53ca728fc19140"}, -{"name":"redis-namespace","version":"1.8.1","platform":"ruby","checksum":"c81707d693e5e754c690b4e1fa68ecfa8bd1028fbf306e533b3832e44e76c54c"}, +{"name":"redis-namespace","version":"1.9.0","platform":"ruby","checksum":"0923961f38cf15b86cb57d92507e0a3b32480729eb5033249f5de8b12e0d8612"}, {"name":"redis-rack","version":"2.1.4","platform":"ruby","checksum":"0872eecb303e483c3863d6bd0d47323d230640d41c1a4ac4a2c7596ec0b1774c"}, {"name":"redis-store","version":"1.9.1","platform":"ruby","checksum":"7b4c7438d46f7b7ce8f67fc0eda3a04fc67d32d28cf606cc98a5df4d2b77071d"}, -{"name":"regexp_parser","version":"2.5.0","platform":"ruby","checksum":"a076d2d35ab8d11feab5fecf8aa09ec6df68c2429810748cba079f7b021ecde5"}, +{"name":"regexp_parser","version":"2.6.0","platform":"ruby","checksum":"f163ba463a45ca2f2730e0902f2475bb0eefcd536dfc2f900a86d1e5a7d7a556"}, {"name":"regexp_property_values","version":"1.0.0","platform":"java","checksum":"5e26782b01241616855c4ee7bb8a62fce9387e484f2d3eaf04f2a0633708222e"}, {"name":"regexp_property_values","version":"1.0.0","platform":"ruby","checksum":"162499dc0bba1e66d334273a059f207a61981cc8cc69d2ca743594e7886d080f"}, {"name":"representable","version":"3.0.4","platform":"ruby","checksum":"07d43917dea4712ecebd19c1909e769deed863ad444d23ceb6461519e2cba962"}, @@ -480,26 +484,24 @@ {"name":"rqrcode-rails3","version":"0.1.7","platform":"ruby","checksum":"6f0582f26485123e5ed6f2a8a2871f00d86d353e0f58c8429a5a13212bcf48c4"}, {"name":"rspec","version":"3.10.0","platform":"ruby","checksum":"b870b43d49ae4a4e063b94976d2742b0854ec10458c425d569b5556ee5898ab7"}, {"name":"rspec-benchmark","version":"0.6.0","platform":"ruby","checksum":"1014adb57ec2599a2455c63884229f367a2fff6a63a77fd68ce5d804c83dd6cf"}, -{"name":"rspec-core","version":"3.10.1","platform":"ruby","checksum":"ac9abdc9577a3a34e9e92815603da8343931055ab4fba1c2a49de6dd3b749673"}, +{"name":"rspec-core","version":"3.10.2","platform":"ruby","checksum":"005659ce9dd356dd5d2acb4bcdcc5915291f4a312447b500af3b75aab564951b"}, {"name":"rspec-expectations","version":"3.10.1","platform":"ruby","checksum":"27acf5d5df13f8cc8f7158001ebf572513bcec3d45404ba76e0a8998895ce9eb"}, {"name":"rspec-mocks","version":"3.10.3","platform":"ruby","checksum":"d2f6f3d8b7569b1e846703d164cb23e24c7f530d38217fc06da2beaf6024260a"}, {"name":"rspec-parameterized","version":"0.5.0","platform":"ruby","checksum":"f163ac07b5edd1eeb13136480623db7020852c70cf0ad2fa98e31384ae162454"}, {"name":"rspec-rails","version":"5.0.1","platform":"ruby","checksum":"c61e7f35db2266f83b3cc58a340fc3ec0bd6344818040430fd5ddc99775242de"}, {"name":"rspec-retry","version":"0.6.1","platform":"ruby","checksum":"86b7e8513c5b0c713c2e28854f4d996deb8efa6304eef50f0ad68ee6c563d8da"}, -{"name":"rspec-support","version":"3.10.2","platform":"ruby","checksum":"74315f89069fbaf2a710e2117340373b77ee45eceb026de87e0cad9dd5154596"}, -{"name":"rspec_junit_formatter","version":"0.4.1","platform":"ruby","checksum":"3788f9b3fabc6284b93493cf4b3a80cba2b59b3a774b95f39dd7886d5faed6ab"}, +{"name":"rspec-support","version":"3.10.3","platform":"ruby","checksum":"65c88f8cbe579461f411097682e6402960eae327eef08e86ef581b8c609e4c5e"}, +{"name":"rspec_junit_formatter","version":"0.6.0","platform":"ruby","checksum":"40dde674e6ae4e6cc0ff560da25497677e34fefd2338cc467a8972f602b62b15"}, {"name":"rspec_profiling","version":"0.0.6","platform":"ruby","checksum":"7a45697f79dcec9a174a0e26703465f6bd52ee78e8d798741240bfcef38f6e6e"}, -{"name":"rubocop","version":"0.93.1","platform":"ruby","checksum":"73b44fbbe872edbd3f14487175b6369a0f48e952c155f305896ffa56c48b195e"}, +{"name":"rubocop","version":"1.36.0","platform":"ruby","checksum":"368e47dcab8417419949bbadb11ec41fd94e6b785f8bff4f9cc56a1ddf60ffac"}, {"name":"rubocop-ast","version":"1.21.0","platform":"ruby","checksum":"8f5d98611343498602de2d41bc583aca71599daad16daeadaeeee60f134c9568"}, {"name":"rubocop-gitlab-security","version":"0.1.1","platform":"ruby","checksum":"96f6ed727847a5876ddfc89ee0399438a1aef7934db773c7efce907e2720006c"}, {"name":"rubocop-graphql","version":"0.14.6","platform":"ruby","checksum":"b40f2cbac9990ece44eb85eec5c5ae04fca1e197c07c790ac1ca60600b55bdad"}, -{"name":"rubocop-performance","version":"1.9.2","platform":"ruby","checksum":"3373ad82b70189fa16b593b6237eb06186da669d468b7d6483bca64c0a844a05"}, -{"name":"rubocop-rails","version":"2.9.1","platform":"ruby","checksum":"2d8d113c3ae074c78c89cb706b4a08116d730bf92dbef148798498171435c540"}, -{"name":"rubocop-rspec","version":"1.44.1","platform":"ruby","checksum":"7b2238e7d6cf17a925a90992914f3cd8ecd68b65b31710d60a3f7f647f8a8b2a"}, +{"name":"rubocop-performance","version":"1.14.3","platform":"ruby","checksum":"ee45ae3e40388ff809d9c5e2ef6ef9d59dc86c59c97110f96d5540267f860751"}, +{"name":"rubocop-rails","version":"2.15.2","platform":"ruby","checksum":"1891ab46a6eaf36b841ad27c9c8a22e77a2c3ae85bc334111d3f8075e417643c"}, +{"name":"rubocop-rspec","version":"2.12.1","platform":"ruby","checksum":"9278d22d4525261caf30d591eef3d47910a125e74f75f41ffa470acd208423f9"}, {"name":"ruby-fogbugz","version":"0.2.1","platform":"ruby","checksum":"15b2e7fe7e95b021a94ee6e9d8bb32fdad6ae44e820c2ce0dc312fe6e77d40ca"}, {"name":"ruby-magic","version":"0.5.4","platform":"ruby","checksum":"2c17b185130d10a83791f63a40baa358c4b138af37da3f4dab53690121c421d5"}, -{"name":"ruby-prof","version":"1.3.1","platform":"ruby","checksum":"e735d20c92954e1fa2a4475539c99dfc8d0166b4cc6915ca309e8ee2dd19323c"}, -{"name":"ruby-prof","version":"1.3.1","platform":"x64-mingw32","checksum":"a97bb6ff0abb01131ecba88799222d492d9124e057535db8e5bd47119f2a58ba"}, {"name":"ruby-progressbar","version":"1.11.0","platform":"ruby","checksum":"cc127db3866dc414ffccbf92928a241e585b3aa2b758a5563e74a6ee0f57d50a"}, {"name":"ruby-saml","version":"1.13.0","platform":"ruby","checksum":"d31cbdf5fb8fdd6aa3187e48dba3085cfeb751af30276a5739aa3659a66f069c"}, {"name":"ruby-statistics","version":"3.0.0","platform":"ruby","checksum":"610301370346931cb701e3a8d3d3e28eb65681162cae6066c0c11abf20efdc81"}, @@ -533,7 +535,7 @@ {"name":"shellany","version":"0.0.1","platform":"ruby","checksum":"0e127a9132698766d7e752e82cdac8250b6adbd09e6c0a7fbbb6f61964fedee7"}, {"name":"shoulda-matchers","version":"5.1.0","platform":"ruby","checksum":"a01d20589989e9653ab4a28c67d9db2b82bcf0a2496cf01d5e1a95a4aaaf5b07"}, {"name":"sidekiq","version":"6.4.2","platform":"ruby","checksum":"0d3c05fecb5fbace5ff5efc63da707e02a9c4673fb8e33ceca10b5ec0e9f062c"}, -{"name":"sidekiq-cron","version":"1.4.0","platform":"ruby","checksum":"21612ade25ea79b4eeb8eacd7fb559a85a1abf6bf1da1aca1aa0079cafd3376d"}, +{"name":"sidekiq-cron","version":"1.8.0","platform":"ruby","checksum":"47da72ca73ce5b71896aaf7e7c4391386ec517dd003f184c50c0b727d82eb0ca"}, {"name":"sigdump","version":"0.2.4","platform":"ruby","checksum":"0bf2176e55c1a262788623fe5ea57caddd6ba2abebe5e349d9d5e7c3a3010ed7"}, {"name":"signet","version":"0.17.0","platform":"ruby","checksum":"1d2831930dc28da32e34bec68cf7ded97ee2867b208f97c500ee293829cb0004"}, {"name":"simple_po_parser","version":"1.1.6","platform":"ruby","checksum":"122687d44d3de516a0e69e2f383a4180f5015e8c5ed5a7f2258f2b376f64cbf3"}, @@ -544,8 +546,9 @@ {"name":"simplecov_json_formatter","version":"0.1.4","platform":"ruby","checksum":"529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428"}, {"name":"sixarm_ruby_unaccent","version":"1.2.0","platform":"ruby","checksum":"0043a6077bdf2c4b03040152676a07f8bf77144f9b007b1960ee5c94d13a4384"}, {"name":"slack-messenger","version":"2.3.4","platform":"ruby","checksum":"49c611d2be5b0f9c250a3a957b9cc09b9c07b81dacb9843642d87b6fa35609c1"}, +{"name":"snaky_hash","version":"2.0.0","platform":"ruby","checksum":"fe8b2e39e8ff69320f7812af73ea06401579e29ff1734a7009567391600687de"}, {"name":"snowplow-tracker","version":"0.6.1","platform":"ruby","checksum":"9cec52fd060619f4974b3dc1f7d9a2776c5e31b668a6ead53145b9780e312314"}, -{"name":"solargraph","version":"0.46.0","platform":"ruby","checksum":"1da9fd8c364501f18b0454e54506e7098bc38dae719219713fe5f246dfc91465"}, +{"name":"solargraph","version":"0.47.2","platform":"ruby","checksum":"87ca4b799b9155c2c31c15954c483e952fdacd800f52d6709b901dd447bcac6a"}, {"name":"sorted_set","version":"1.0.3","platform":"java","checksum":"996283f2e5c6e838825bcdcee31d6306515ae5f24bcb0ee4ce09dfff32919b8c"}, {"name":"sorted_set","version":"1.0.3","platform":"ruby","checksum":"4f2b8bee6e8c59cbd296228c0f1f81679357177a8b6859dcc2a99e86cce6372f"}, {"name":"spamcheck","version":"1.0.0","platform":"ruby","checksum":"dfeea085184091353e17d729d2f3d714b07cba36aaf64c32dfc35ce9b466fc9c"}, @@ -577,12 +580,12 @@ {"name":"text","version":"1.3.1","platform":"ruby","checksum":"2fbbbc82c1ce79c4195b13018a87cbb00d762bda39241bb3cdc32792759dd3f4"}, {"name":"thor","version":"1.2.1","platform":"ruby","checksum":"b1752153dc9c6b8d3fcaa665e9e1a00a3e73f28da5e238b81c404502e539d446"}, {"name":"thrift","version":"0.16.0","platform":"ruby","checksum":"d023286ea89e30444c9f1c28dd76107f87d8aaf85fe1742da1d8cd3b5417dcce"}, -{"name":"tilt","version":"2.0.10","platform":"ruby","checksum":"9b664f0e9ae2b500cfa00f9c65c34abc6ff1799cf0034a8c0a0412d520fac866"}, +{"name":"tilt","version":"2.0.11","platform":"ruby","checksum":"7b180fc472cbdeb186c85d31c0f2d1e61a2c0d77e1d9fd0ca28482a9d972d6a0"}, {"name":"timecop","version":"0.9.1","platform":"ruby","checksum":"374b543f0961dbd487e96d09ac812d4fdfeb603ec705bbff241ba060d0a9f534"}, {"name":"timeliness","version":"0.3.10","platform":"ruby","checksum":"c357233ce19dc53148e8b29dfddde134689f18f52b32928e9dfe12ebcf4a773f"}, {"name":"timfel-krb5-auth","version":"0.8.3","platform":"ruby","checksum":"ab388c9d747fa3cd95baf2cc1c03253e372d8c680adcc543670f4f099854bb80"}, -{"name":"tins","version":"1.31.0","platform":"ruby","checksum":"20b5ea997dc046358fd05f15d39636bd7946798591b9c5741cc41f69853c7894"}, -{"name":"toml-rb","version":"2.0.1","platform":"ruby","checksum":"5016c6c77ac72bca5fe67c372722bdfdd4479a6fe1a1c4ff2a486e247849b274"}, +{"name":"tins","version":"1.31.1","platform":"ruby","checksum":"51c4a347c25c630d310cbc2c040ffb84e266c8227f2ade881f1130ee4f9fbecf"}, +{"name":"toml-rb","version":"2.2.0","platform":"ruby","checksum":"a1e2c54ac3cc9d49861004f75f0648b3622ac03a76abe105358c31553227d9a6"}, {"name":"tomlrb","version":"1.3.0","platform":"ruby","checksum":"68666bf53fa70ba686a48a7435ce7e086f5227c58c4c993bd9792f4760f2a503"}, {"name":"tpm-key_attestation","version":"0.9.0","platform":"ruby","checksum":"e469ad9111a68dab4d04596e1c0621d7c877c2e3e247f765af3c04f1adf2b8cd"}, {"name":"train-core","version":"3.4.9","platform":"ruby","checksum":"d7ad8fa9a379c43a30baaaf1141af1cb28349d386c054f7fc81d169a625d6edd"}, @@ -614,7 +617,7 @@ {"name":"validate_email","version":"0.1.6","platform":"ruby","checksum":"9dfe9016d527b17a8d3a6e95e4dc50a125400eef899d13d4cc2a254393f82ee4"}, {"name":"validate_url","version":"1.0.15","platform":"ruby","checksum":"72fe164c0713d63a9970bd6700bea948babbfbdcec392f2342b6704042f57451"}, {"name":"validates_hostname","version":"1.0.11","platform":"ruby","checksum":"d506bae0342ec14c920eb319e057fc1886c321a59b85b4b6e966ee4b88fab8c3"}, -{"name":"version_gem","version":"1.0.0","platform":"ruby","checksum":"929c93a4d46482bb3b0359980c7a5fb1b5a833548f1202a480b08a6f0a5f8f2f"}, +{"name":"version_gem","version":"1.1.0","platform":"ruby","checksum":"6b009518020db57f51ec7b410213fae2bf692baea9f1b51770db97fbc93d9a80"}, {"name":"version_sorter","version":"2.2.4","platform":"ruby","checksum":"7ad071609edfaa3cf28c42d83b1a03096e43512244ae5a9e2fce1404f7e06d41"}, {"name":"view_component","version":"2.71.0","platform":"ruby","checksum":"c1880647800d9cfb03ff4ba92313db624a4a4b3d5753e137effe86e5f2b3662b"}, {"name":"vmstat","version":"2.3.0","platform":"ruby","checksum":"ab5446a3e3bd0a9cdb9d9ac69a0bbd119c4f161d945a0846a519dd7018af656d"}, diff --git a/Gemfile.lock b/Gemfile.lock index 9074b48c56..8bf67a41f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,9 @@ +PATH + remote: vendor/gems/attr_encrypted + specs: + attr_encrypted (3.2.4) + encryptor (~> 3.0.0) + PATH remote: vendor/gems/bundler-checksum specs: @@ -9,6 +15,7 @@ PATH specs: devise-pbkdf2-encryptable (0.0.0) devise (~> 4.0) + devise-two-factor (~> 4.0) PATH remote: vendor/gems/error_tracking_open_api @@ -58,16 +65,7 @@ PATH specs: omniauth-gitlab (4.0.0) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) - -PATH - remote: vendor/gems/omniauth-google-oauth2 - specs: - omniauth-google-oauth2 (1.0.1) - jwt (>= 2.0) - oauth2 (~> 2.0) - omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (~> 1.8) PATH remote: vendor/gems/omniauth-salesforce @@ -87,6 +85,8 @@ PATH GEM remote: https://rubygems.org/ specs: + CFPropertyList (3.0.5) + rexml RedCloth (4.3.2) acme-client (2.0.11) faraday (>= 1.0, < 3.0.0) @@ -155,14 +155,15 @@ GEM zeitwerk (~> 2.3) acts-as-taggable-on (9.0.0) activerecord (>= 6.0, < 7.1) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) akismet (3.0.0) android_key_attestation (0.3.0) apollo_upload_server (2.1.0) actionpack (>= 4.2) graphql (>= 1.8) + arr-pm (0.0.12) asana (0.10.13) faraday (~> 1.0) faraday_middleware (~> 1.0) @@ -178,19 +179,17 @@ GEM ast (2.4.2) atlassian-jwt (0.2.0) jwt (~> 2.1.0) - attr_encrypted (3.1.0) - encryptor (~> 3.0.0) attr_required (1.0.1) autoprefixer-rails (10.2.5.1) execjs (> 0) awesome_print (1.9.2) awrence (1.1.1) aws-eventstream (1.2.0) - aws-partitions (1.600.0) + aws-partitions (1.644.0) aws-sdk-cloudformation (1.41.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-core (3.131.1) + aws-sdk-core (3.159.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) @@ -202,7 +201,7 @@ GEM aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.5.0) + aws-sigv4 (1.5.1) aws-eventstream (~> 1, >= 1.0.2) azure-storage-blob (2.0.3) azure-storage-common (~> 2.0) @@ -228,7 +227,7 @@ GEM coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) - bindata (2.4.10) + bindata (2.4.11) binding_ninja (0.2.3) bootsnap (1.13.0) msgpack (~> 1.2) @@ -282,9 +281,9 @@ GEM open4 (~> 1.3) coderay (1.1.3) colored2 (3.1.2) - commonmarker (0.23.4) + commonmarker (0.23.6) concurrent-ruby (1.1.10) - connection_pool (2.2.5) + connection_pool (2.3.0) contracts (0.11.0) cork (0.3.0) colored2 (~> 3.1) @@ -301,8 +300,9 @@ GEM creole (0.5.0) crystalball (0.7.0) git - css_parser (1.11.0) + css_parser (1.12.0) addressable + cvss-suite (3.0.1) danger (8.6.1) claide (~> 1.0) claide-plugins (>= 0.9.2) @@ -412,7 +412,7 @@ GEM launchy (~> 2.1) mail (~> 2.7) encryptor (3.0.0) - erubi (1.9.0) + erubi (1.11.0) escape_utils (1.2.1) et-orbi (1.2.7) tzinfo @@ -420,6 +420,8 @@ GEM ffi (>= 1.15.0) excon (0.90.0) execjs (2.8.1) + expgen (0.1.1) + parslet expression_parser (0.9.0) extended-markdown-filter (0.6.0) html-pipeline (~> 2.0) @@ -585,13 +587,13 @@ GEM openid_connect (~> 1.2) gitlab-sidekiq-fetcher (0.8.0) sidekiq (~> 6.1) - gitlab-styles (8.0.0) - rubocop (~> 0.91, >= 0.91.1) + gitlab-styles (9.0.0) + rubocop (~> 1.36.0) rubocop-gitlab-security (~> 0.1.1) - rubocop-graphql (~> 0.10) - rubocop-performance (~> 1.9.2) - rubocop-rails (~> 2.9) - rubocop-rspec (~> 1.44) + rubocop-graphql (~> 0.14) + rubocop-performance (~> 1.14) + rubocop-rails (~> 2.15) + rubocop-rspec (~> 2.12) gitlab_chronic_duration (0.10.6.2) numerizer (~> 0.2) gitlab_omniauth-ldap (2.2.0) @@ -617,7 +619,7 @@ GEM signet (~> 0.12) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-protobuf (3.21.5) + google-protobuf (3.21.7) googleapis-common-protos-types (1.3.0) google-protobuf (~> 3.14) googleauth (0.14.0) @@ -644,6 +646,11 @@ GEM grape (~> 1.3) rake (> 12) ruby2_keywords (~> 0.0.2) + grape-swagger (1.5.0) + grape (~> 1.3) + grape-swagger-entity (0.5.1) + grape-entity (>= 0.6.0) + grape-swagger (>= 1.2.0) grape_logging (1.8.4) grape rack @@ -705,7 +712,7 @@ GEM hashie (4.1.0) hashie-forbidden_attributes (0.1.1) hashie (>= 3.0) - health_check (3.0.0) + health_check (3.1.0) railties (>= 5.0) heapy (0.2.0) thor @@ -739,6 +746,7 @@ GEM parser (>= 2.5, != 2.5.1.1) invisible_captcha (1.1.0) rails (>= 4.2) + ipaddr (1.2.2) ipaddress (0.8.3) jaeger-client (1.1.0) opentracing (~> 0.3) @@ -755,10 +763,11 @@ GEM regexp_parser (~> 2.1) regexp_property_values (~> 1.0) json (2.5.1) - json-jwt (1.13.0) + json-jwt (1.15.3) activesupport (>= 4.2) aes_key_wrap bindata + httpclient json_schemer (0.2.18) ecma-re-validator (~> 0.3) hana (~> 1.3) @@ -794,7 +803,7 @@ GEM rest-client (~> 2.0) launchy (2.5.0) addressable (~> 2.7) - lefthook (1.1.1) + lefthook (1.1.3) letter_opener (1.7.0) launchy (~> 2.2) letter_opener_web (2.0.0) @@ -826,10 +835,10 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.18.0) + loofah (2.19.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) - lookbook (1.0.3) + lookbook (1.0.8) actioncable css_parser htmlbeautifier (~> 1.3) @@ -845,9 +854,9 @@ GEM mail (2.7.1) mini_mime (>= 0.1.1) marcel (1.0.2) - marginalia (1.10.0) - actionpack (>= 2.3) - activerecord (>= 2.3) + marginalia (1.11.1) + actionpack (>= 5.2) + activerecord (>= 5.2) memoist (0.16.2) memory_profiler (0.9.14) method_source (1.0.0) @@ -903,13 +912,13 @@ GEM shellany (~> 0.0) numerizer (0.2.0) oauth (0.5.6) - oauth2 (2.0.3) + oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) multi_xml (~> 0.5) - rack (>= 1.2, < 3) - rash_alt (>= 0.4, < 1) - version_gem (~> 1.0) + rack (>= 1.2, < 4) + snaky_hash (~> 2.0) + version_gem (~> 1.1) octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) @@ -931,8 +940,8 @@ GEM hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection - omniauth-alicloud (1.0.1) - omniauth-oauth2 (~> 1.7.1) + omniauth-alicloud (2.0.0) + omniauth-oauth2 (~> 1.8) omniauth-atlassian-oauth2 (0.2.0) omniauth (>= 1.1.1) omniauth-oauth2 (>= 1.5) @@ -941,26 +950,29 @@ GEM omniauth-authentiq (0.3.3) jwt (>= 1.5) omniauth-oauth2 (>= 1.5) - omniauth-azure-activedirectory-v2 (1.0.0) - omniauth-oauth2 (~> 1.7) + omniauth-azure-activedirectory-v2 (2.0.0) + omniauth-oauth2 (~> 1.8) omniauth-dingtalk-oauth2 (1.0.1) omniauth-oauth2 (~> 1.7) omniauth-facebook (4.0.0) omniauth-oauth2 (~> 1.2) - omniauth-github (2.0.0) + omniauth-github (2.0.1) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (~> 1.8) + omniauth-google-oauth2 (1.1.1) + jwt (>= 2.0) + oauth2 (~> 2.0.6) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.8.0) omniauth-oauth (1.2.0) oauth omniauth (>= 1.0, < 3) - omniauth-oauth2 (1.7.3) + omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) - omniauth (>= 1.9, < 3) - omniauth-oauth2-generic (0.2.2) - omniauth-oauth2 (~> 1.0) - omniauth-rails_csrf_protection (1.0.1) - actionpack (>= 4.2) omniauth (~> 2.0) + omniauth-oauth2-generic (0.2.8) + omniauth-oauth2 (~> 1.0) + rake omniauth-saml (2.0.0) omniauth (~> 2.0) ruby-saml (~> 1.9) @@ -980,7 +992,8 @@ GEM validate_email validate_url webfinger (>= 1.0.1) - openssl (2.2.0) + openssl (2.2.1) + ipaddr openssl-signature_algorithm (0.4.0) opentracing (0.5.0) optimist (3.0.1) @@ -988,29 +1001,29 @@ GEM rubypants (~> 0.2) orm_adapter (0.5.0) os (1.1.1) - pact (1.59.0) + pact (1.63.0) pact-mock_service (~> 3.0, >= 3.3.1) - pact-support (~> 1.15) - rack-test (>= 0.6.3, < 2.0.0) + pact-support (~> 1.16, >= 1.16.9) + rack-test (>= 0.6.3, < 3.0.0) rspec (~> 3.0) term-ansicolor (~> 1.0) thor (>= 0.20, < 2.0) webrick (~> 1.3) - pact-mock_service (3.6.2) + pact-mock_service (3.10.0) filelock (~> 1.1) find_a_port (~> 1.0.1) json - pact-support (~> 1.12, >= 1.12.0) + pact-support (~> 1.16, >= 1.16.4) rack (~> 2.0) rspec (>= 2.14) term-ansicolor (~> 1.0) thor (>= 0.19, < 2.0) webrick (~> 1.3) - pact-support (1.15.1) - awesome_print (~> 1.1) - randexp (~> 0.1.7) - rspec (>= 2.14) - term-ansicolor (~> 1.0) + pact-support (1.18.1) + awesome_print (~> 1.9) + diff-lcs (~> 1.4) + expgen (~> 0.1) + rainbow (~> 3.1.1) parallel (1.22.1) parser (3.1.2.1) ast (~> 2.4.1) @@ -1019,7 +1032,7 @@ GEM tty-color (~> 0.5) peek (1.1.0) railties (>= 4.0.0) - pg (1.4.1) + pg (1.4.3) pg_query (2.1.4) google-protobuf (>= 3.19.2) plist (3.6.0) @@ -1050,7 +1063,7 @@ GEM pry (~> 0.13.0) tty-markdown tty-prompt - public_suffix (4.0.7) + public_suffix (5.0.0) puma (5.6.5) nio4r (~> 2.0) puma_worker_killer (0.3.1) @@ -1066,7 +1079,7 @@ GEM rack (>= 1.0, < 3) rack-cors (1.1.1) rack (>= 2.0.0) - rack-oauth2 (1.21.2) + rack-oauth2 (1.21.3) activesupport attr_required httpclient @@ -1074,11 +1087,11 @@ GEM rack (>= 2.1.0) rack-protection (2.2.2) rack - rack-proxy (0.7.2) + rack-proxy (0.7.4) rack - rack-test (1.1.0) - rack (>= 1.0, < 3) - rack-timeout (0.6.0) + rack-test (2.0.2) + rack (>= 1.3) + rack-timeout (0.6.3) rails (6.1.6.1) actioncable (= 6.1.6.1) actionmailbox (= 6.1.6.1) @@ -1114,9 +1127,6 @@ GEM thor (~> 1.0) rainbow (3.1.1) rake (13.0.6) - randexp (0.1.7) - rash_alt (0.4.12) - hashie (>= 3.4) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) @@ -1127,7 +1137,7 @@ GEM rbtree (0.4.4) rchardet (1.8.0) rdoc (6.3.2) - re2 (1.4.0) + re2 (1.5.0) recaptcha (4.13.1) json recursive-open-struct (1.1.3) @@ -1137,14 +1147,14 @@ GEM actionpack (>= 5, < 8) redis-rack (>= 2.1.0, < 3) redis-store (>= 1.1.0, < 2) - redis-namespace (1.8.1) - redis (>= 3.0.4) + redis-namespace (1.9.0) + redis (>= 4) redis-rack (2.1.4) rack (>= 2.0.8, < 3) redis-store (>= 1.2, < 2) redis-store (1.9.1) redis (>= 4, < 5) - regexp_parser (2.5.0) + regexp_parser (2.6.0) regexp_property_values (1.0.0) representable (3.0.4) declarative (< 0.1.0) @@ -1180,7 +1190,7 @@ GEM benchmark-perf (~> 0.6) benchmark-trend (~> 0.4) rspec (>= 3.0) - rspec-core (3.10.1) + rspec-core (3.10.2) rspec-support (~> 3.10.0) rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) @@ -1204,44 +1214,43 @@ GEM rspec-support (~> 3.10) rspec-retry (0.6.1) rspec-core (> 3.3) - rspec-support (3.10.2) - rspec_junit_formatter (0.4.1) + rspec-support (3.10.3) + rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) rspec_profiling (0.0.6) activerecord pg rails sqlite3 - rubocop (0.93.1) + rubocop (1.36.0) + json (~> 2.3) parallel (~> 1.10) - parser (>= 2.7.1.5) + parser (>= 3.1.2.1) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8) - rexml - rubocop-ast (>= 0.6.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.20.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) + unicode-display_width (>= 1.4.0, < 3.0) rubocop-ast (1.21.0) parser (>= 3.1.1.0) rubocop-gitlab-security (0.1.1) rubocop (>= 0.51) rubocop-graphql (0.14.6) rubocop (>= 0.87, < 2) - rubocop-performance (1.9.2) - rubocop (>= 0.90.0, < 2.0) + rubocop-performance (1.14.3) + rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.9.1) + rubocop-rails (2.15.2) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 0.90.0, < 2.0) - rubocop-rspec (1.44.1) - rubocop (~> 0.87) - rubocop-ast (>= 0.7.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-rspec (2.12.1) + rubocop (~> 1.31) ruby-fogbugz (0.2.1) crack (~> 0.4) ruby-magic (0.5.4) mini_portile2 (~> 2.6) - ruby-prof (1.3.1) ruby-progressbar (1.11.0) ruby-saml (1.13.0) nokogiri (>= 1.10.5) @@ -1307,7 +1316,7 @@ GEM connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) - sidekiq-cron (1.4.0) + sidekiq-cron (1.8.0) fugit (~> 1) sidekiq (>= 4.2.1) sigdump (0.2.4) @@ -1328,9 +1337,12 @@ GEM simplecov_json_formatter (0.1.4) sixarm_ruby_unaccent (1.2.0) slack-messenger (2.3.4) + snaky_hash (2.0.0) + hashie + version_gem (~> 1.1) snowplow-tracker (0.6.1) contracts (~> 0.7, <= 0.11) - solargraph (0.46.0) + solargraph (0.47.2) backport (~> 1.2) benchmark bundler (>= 1.17.2) @@ -1399,13 +1411,13 @@ GEM text (1.3.1) thor (1.2.1) thrift (0.16.0) - tilt (2.0.10) + tilt (2.0.11) timecop (0.9.1) timeliness (0.3.10) timfel-krb5-auth (0.8.3) - tins (1.31.0) + tins (1.31.1) sync - toml-rb (2.0.1) + toml-rb (2.2.0) citrus (~> 3.0, > 3.0) tomlrb (1.3.0) tpm-key_attestation (0.9.0) @@ -1472,7 +1484,7 @@ GEM validates_hostname (1.0.11) activerecord (>= 3.0) activesupport (>= 3.0) - version_gem (1.0.0) + version_gem (1.1.0) version_sorter (2.2.4) view_component (2.71.0) activesupport (>= 5.0.0, < 8.0) @@ -1522,6 +1534,7 @@ PLATFORMS ruby DEPENDENCIES + CFPropertyList RedCloth (~> 4.3.2) acme-client (~> 2.0) activerecord-explain-analyze (~> 0.1) @@ -1529,17 +1542,18 @@ DEPENDENCIES addressable (~> 2.8) akismet (~> 3.0) apollo_upload_server (~> 2.1.0) + arr-pm (~> 0.0.12) asana (~> 0.10.13) asciidoctor (~> 2.0.17) asciidoctor-include-ext (~> 0.4.0) asciidoctor-kroki (~> 0.5.0) asciidoctor-plantuml (~> 0.0.16) atlassian-jwt (~> 0.2.0) - attr_encrypted (~> 3.1.0) + attr_encrypted (~> 3.2.4)! autoprefixer-rails (= 10.2.5.1) awesome_print aws-sdk-cloudformation (~> 1) - aws-sdk-core (~> 3.131.0) + aws-sdk-core (~> 3.159.0) aws-sdk-s3 (~> 1.114.0) babosa (~> 1.0.4) base32 (~> 0.3.0) @@ -1558,12 +1572,13 @@ DEPENDENCIES capybara-screenshot (~> 1.0.22) carrierwave (~> 1.3) charlock_holmes (~> 0.7.7) - commonmarker (~> 0.23.4) + commonmarker (~> 0.23.6) concurrent-ruby (~> 1.1) connection_pool (~> 2.0) countries (~> 3.0) creole (~> 0.5.0) crystalball (~> 0.7.0) + cvss-suite (~> 3.0.1) database_cleaner (~> 1.7.0) deckar01-task_list (= 2.3.1) declarative_policy (~> 1.1.0) @@ -1586,8 +1601,6 @@ DEPENDENCIES email_reply_trimmer (~> 0.1) email_spec (~> 2.2.0) error_tracking_open_api! - erubi (~> 1.9.0) - escape_utils (~> 1.1) factory_bot_rails (~> 6.2.0) faraday (~> 1.0) faraday_middleware-aws-sigv4 (~> 0.3.0) @@ -1622,7 +1635,7 @@ DEPENDENCIES gitlab-net-dns (~> 0.9.1) gitlab-omniauth-openid-connect (~> 0.10.0) gitlab-sidekiq-fetcher (= 0.8.0) - gitlab-styles (~> 8.0.0) + gitlab-styles (~> 9.0.0) gitlab_chronic_duration (~> 0.10.6.2) gitlab_omniauth-ldap (~> 2.2.0) gon (~> 6.4.0) @@ -1632,6 +1645,8 @@ DEPENDENCIES grape (~> 1.5.2) grape-entity (~> 0.10.0) grape-path-helpers (~> 1.7.1) + grape-swagger (~> 1.5.0) + grape-swagger-entity (~> 0.5.1) grape_logging (~> 1.8) graphiql-rails (~> 1.8) graphlient (~> 0.5.0) @@ -1652,6 +1667,7 @@ DEPENDENCIES httparty (~> 0.16.4) icalendar invisible_captcha (~> 1.1.0) + ipaddr (= 1.2.2) ipaddress (~> 0.8.3) ipynbdiff! jira-ruby (~> 2.1.4) @@ -1664,18 +1680,18 @@ DEPENDENCIES knapsack (~> 1.21.1) kramdown (~> 2.3.1) kubeclient (~> 4.9.3) - lefthook (~> 1.1.1) + lefthook (~> 1.1.3) letter_opener_web (~> 2.0.0) license_finder (~> 7.0) licensee (~> 9.15) lockbox (~> 0.6.2) lograge (~> 0.5) - loofah (~> 2.18.0) - lookbook (~> 1.0) + loofah (~> 2.19.0) + lookbook (~> 1.0, >= 1.0.8) lru_redux mail (= 2.7.1) mail-smtp_pool (~> 0.1.0)! - marginalia (~> 1.10.0) + marginalia (~> 1.11.1) memory_profiler (~> 0.9) microsoft_graph_mailer (~> 0.1.0)! mini_magick (~> 4.10.1) @@ -1689,32 +1705,32 @@ DEPENDENCIES ohai (~> 16.10) oj (~> 3.13.21) omniauth (~> 2.1.0) - omniauth-alicloud (~> 1.0.1) + omniauth-alicloud (~> 2.0.0) omniauth-atlassian-oauth2 (~> 0.2.0) omniauth-auth0 (~> 2.0.0) omniauth-authentiq (~> 0.3.3) - omniauth-azure-activedirectory-v2 (~> 1.0) + omniauth-azure-activedirectory-v2 (~> 2.0) omniauth-azure-oauth2 (~> 0.0.9)! omniauth-cas3 (~> 1.1.4)! omniauth-dingtalk-oauth2 (~> 1.0) omniauth-facebook (~> 4.0.0) - omniauth-github (= 2.0.0) + omniauth-github (= 2.0.1) omniauth-gitlab (~> 4.0.0)! - omniauth-google-oauth2 (~> 1.0.1)! + omniauth-google-oauth2 (~> 1.1) omniauth-oauth2-generic (~> 0.2.2) - omniauth-rails_csrf_protection omniauth-salesforce (~> 1.0.5)! omniauth-saml (~> 2.0.0) omniauth-shibboleth (~> 1.3.0) omniauth-twitter (~> 1.4) omniauth_crowd (~> 2.4.0)! + openssl (= 2.2.1) org-ruby (~> 0.9.12) - pact (~> 1.12) + pact (~> 1.63) parallel (~> 1.19) parslet (~> 1.8) peek (~> 1.1) - pg (~> 1.4.0) - pg_query (~> 2.1.0) + pg (~> 1.4.3) + pg_query (~> 2.1.4) png_quantizator (~> 0.2.1) premailer-rails (~> 1.10.3) prometheus-client-mmap (~> 0.16) @@ -1724,22 +1740,22 @@ DEPENDENCIES puma (~> 5.6.5) puma_worker_killer (~> 0.3.1) rack (~> 2.2.4) - rack-attack (~> 6.6.0) - rack-cors (~> 1.1.0) - rack-oauth2 (~> 1.21.2) - rack-proxy (~> 0.7.2) - rack-timeout (~> 0.6.0) + rack-attack (~> 6.6.1) + rack-cors (~> 1.1.1) + rack-oauth2 (~> 1.21.3) + rack-proxy (~> 0.7.4) + rack-timeout (~> 0.6.3) rails (~> 6.1.6.1) rails-controller-testing rails-i18n (~> 7.0) rainbow (~> 3.0) rbtrace (~> 0.4) rdoc (~> 6.3.2) - re2 (~> 1.4.0) + re2 (~> 1.5.0) recaptcha (~> 4.11) redis (~> 4.7.0) redis-actionpack (~> 5.3.0) - redis-namespace (~> 1.8.1) + redis-namespace (~> 1.9.0) request_store (~> 1.5) responders (~> 3.0) retriable (~> 3.1.2) @@ -1755,7 +1771,6 @@ DEPENDENCIES rubocop ruby-fogbugz (~> 0.2.1) ruby-magic (~> 0.5) - ruby-prof (~> 1.3.0) ruby-progressbar (~> 1.10) ruby-saml (~> 1.13.0) ruby_parser (~> 3.15) @@ -1773,7 +1788,7 @@ DEPENDENCIES settingslogic (~> 2.0.9) shoulda-matchers (~> 5.1.0) sidekiq (~> 6.4.0) - sidekiq-cron (~> 1.4.0) + sidekiq-cron (~> 1.8.0) sigdump (~> 0.2.4) simple_po_parser (~> 1.1.6) simplecov (~> 0.21) @@ -1781,7 +1796,7 @@ DEPENDENCIES simplecov-lcov (~> 0.8.0) slack-messenger (~> 2.3.4) snowplow-tracker (~> 0.6.1) - solargraph (~> 0.46.0) + solargraph (~> 0.47.2) spamcheck (~> 1.0.0) spring (~> 2.1.0) spring-commands-rspec (~> 1.0.4) @@ -1798,7 +1813,7 @@ DEPENDENCIES thrift (>= 0.16.0) timecop (~> 0.9.1) timfel-krb5-auth (~> 0.8) - toml-rb (~> 2.0) + toml-rb (~> 2.2.0) truncato (~> 0.7.12) typhoeus (~> 1.4.0) u2f (~> 0.2.1) @@ -1818,4 +1833,4 @@ DEPENDENCIES yajl-ruby (~> 1.4.3) BUNDLED WITH - 2.3.15 + 2.3.23 diff --git a/PROCESS.md b/PROCESS.md index 2757075e35..699a08bc9c 100644 --- a/PROCESS.md +++ b/PROCESS.md @@ -1,221 +1,3 @@ -## GitLab core team & GitLab Inc. contribution process +The content of this document was moved to [another location](https://docs.gitlab.com/ee/development/contributing/). ---- - - - -**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* - -- [Purpose of describing the contributing process](#purpose-of-describing-the-contributing-process) -- [Common actions](#common-actions) - - [Merge request coaching](#merge-request-coaching) -- [Assigning issues](#assigning-issues) -- [Be kind](#be-kind) -- [Bugs](#bugs) - - [Regressions](#regressions) - - [Managing bugs](#managing-bugs) -- [Release retrospective and kickoff](#release-retrospective-and-kickoff) -- [Copy & paste responses](#copy--paste-responses) - - [Improperly formatted issue](#improperly-formatted-issue) - - [Issue report for old version](#issue-report-for-old-version) - - [Support requests and configuration questions](#support-requests-and-configuration-questions) - - [Code format](#code-format) - - [Issue fixed in newer version](#issue-fixed-in-newer-version) - - [Improperly formatted merge request](#improperly-formatted-merge-request) - - [Seeking community contributions](#seeking-community-contributions) - - [Only accepting merge requests with green tests](#only-accepting-merge-requests-with-green-tests) - - - ---- - -## Purpose of describing the contributing process - -Below we describe the contributing process to GitLab for two reasons: - -1. Contributors know what to expect from maintainers (possible responses, friendly - treatment, etc.) -1. Maintainers know what to expect from contributors (use the latest version, - ensure that the issue is addressed, friendly treatment, etc.). - -- [GitLab Inc engineers should refer to the engineering workflow document](https://about.gitlab.com/handbook/engineering/workflow/) - -## Common actions - -### Merge request coaching - -Several people from the [GitLab team][team] are helping community members to get -their contributions accepted by meeting our [Definition of done][done]. - -What you can expect from them is described at https://about.gitlab.com/job-families/expert/merge-request-coach/. - -### Milestones on community contribution issues - -The milestone of an issue that is currently being worked on by a community contributor -should not be set to a named GitLab milestone (e.g. 11.7, 11.8), until the associated -merge request is very close to being merged, and we will likely know in which named -GitLab milestone the issue will land. There are many factors that influence when -a community contributor finishes an issue, or even at all. So we should set this -milestone only when we have more certainty. - -Note this only applies to issues currently assigned to community contributors. For -issues assigned to GitLabbers, we are [ambitious in assigning milestones to issues](https://about.gitlab.com/direction/#how-we-plan-releases). - -## Assigning issues - -If an issue is complex and needs the attention of a specific person, assignment is a good option but assigning issues might discourage other people from contributing to that issue. We need all the contributions we can get so this should never be discouraged. Also, an assigned person might not have time for a few weeks, so others should feel free to takeover. - -## Be kind - -Be kind to people trying to contribute. Be aware that people may be a non-native -English speaker, they might not understand things or they might be very -sensitive as to how you word things. Use Emoji to express your feelings (heart, -star, smile, etc.). Some good tips about code reviews can be found in our -[Code Review Guidelines]. - -[Code Review Guidelines]: https://docs.gitlab.com/ee/development/code_review.html - -## Feature flags - -Overview and details of feature flag processes in development of GitLab itself is described in [feature flags process documentation](https://about.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/). - -Guides on how to include feature flags in your backend/frontend code while developing GitLab are described in [developing with feature flags documentation](https://docs.gitlab.com/ee/development/feature_flags). - -Getting access and how to expose the feature to users is detailed in [controlling feature flags documentation](https://docs.gitlab.com/ee/development/feature_flags/controls.html). - -## Feature proposals from the 22nd to the 1st - -To allow the Product and Engineering teams time to discuss issues that will be placed into an upcoming milestone, -Product Managers must have their proposal for that milestone ready by the 22nd of each month. - -This proposal will be shared with Engineering for discussion, feedback, and planning. -The plan for the upcoming milestone must be finalized by the 1st of the month, one week before kickoff on the 8th. - -## Bugs - -A ~bug is a defect, error, failure which causes the system to behave incorrectly or prevents it from fulfilling the product requirements. - -The level of impact of a ~bug can vary from blocking a whole functionality -or a feature usability bug. A bug should always be linked to a severity level. -Refer to our [severity levels](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#severity-labels) - -Whether the bug is also a regression or not, the triage process should start as soon as possible. -Ensure that the Engineering Manager and/or the Product Manager for the relative area is involved to prioritize the work as needed. - -### Regressions - -A ~regression implies that a previously **verified working functionality** no longer works. -Regressions are a subset of bugs. We use the ~regression label to imply that the defect caused the functionality to regress. -The label tells us that something worked before and it needs extra attention from Engineering and Product Managers to schedule/reschedule. - -The regression label does not apply to ~bugs for new features for which functionality was **never verified as working**. -These, by definition, are not regressions. - -A regression should always have the `regression:xx.x` label on it to designate when it was introduced. - -Regressions should be considered high priority issues that should be solved as soon as possible, especially if they have severe impact on users. - -### Managing bugs - -**Prioritization:** We give higher priority to regressions on features that worked in the last recent monthly release and the current release candidates. - -When a bug is found: -1. Create an issue describing the problem in the most detailed way possible. -1. If possible, provide links to real examples and how to reproduce the problem. -1. Label the issue properly, by respecting the [Partial triage level](https://about.gitlab.com/handbook/engineering/issue-triage/#partial-triage). -1. Notify the respective Engineering Manager to evaluate and apply the [Severity label](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#severity-labels) and [Priority label](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#priority-labels). -The counterpart Product Manager is included to weigh-in on prioritization as needed. -1. If the ~bug is **NOT** a regression: - 1. The Engineering Manager decides which milestone the bug will be fixed. The appropriate milestone is applied. -1. If the bug is a ~regression: - 1. Determine the release that the regression affects and add the corresponding `regression:xx.x` label. - 1. If the affected release version can't be determined, add the generic ~regression label for the time being. - 1. If the affected version `xx.x` in `regression:xx.x` is the **current release**, it's recommended to schedule the fix for the current milestone. - 1. This falls under regressions which worked in the last release and the current RCs. More detailed explanations in the **Prioritization** section above. - 1. If the affected version `xx.x` in `regression:xx.x` is older than the **current release** - 1. If the regression is an ~S1 severity, it's recommended to schedule the fix for the current milestone. We would like to fix the highest severity regression as soon as we can. - 1. If the regression is an ~S2, ~S3 or ~S4 severity, the regression may be scheduled for later milestones at the discretion of the Engineering Manager and Product Manager. - -## Release retrospective and kickoff - -- [Retrospective](https://about.gitlab.com/handbook/engineering/workflow/#retrospective) -- [Kickoff](https://about.gitlab.com/handbook/engineering/workflow/#kickoff) - -## Copy & paste responses - -### Improperly formatted issue - -``` -Thanks for the issue report. Please reformat your issue to conform to the -[contributing guidelines](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#issue-tracker-guidelines). -``` - -### Issue report for old version - -``` -Thanks for the issue report but we only support issues for the latest stable version of GitLab. -I'm closing this issue but if you still experience this problem in the latest stable version, -please open a new issue (but also reference the old issue(s)). -Make sure to also include the necessary debugging information conforming to the issue tracker -guidelines found in our [contributing guidelines](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#issue-tracker-guidelines). -``` - -### Support requests and configuration questions - -``` -Thanks for your interest in GitLab. We don't use the issue tracker for support -requests and configuration questions. Please check our -[getting help](https://about.gitlab.com/getting-help/) page to see all of the available -support options. Also, have a look at the [contribution guidelines](https://docs.gitlab.com/ee/development/contributing/index.html) -for more information. -``` - -### Code format - -``` -Please use \`\`\` to format console output, logs, and code as it's very hard to read otherwise. -``` - -### Issue fixed in newer version - -``` -Thanks for the issue report. This issue has already been fixed in newer versions of GitLab. -Due to the size of this project and our limited resources we are only able to support the -latest stable release as outlined in our [contributing guidelines](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html). -In order to get this bug fix and enjoy many new features please -[upgrade](https://gitlab.com/gitlab-org/gitlab/tree/master/doc/update). -If you still experience issues at that time please open a new issue following our issue -tracker guidelines found in the [contributing guidelines](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#issue-tracker-guidelines). -``` - -### Improperly formatted merge request - -``` -Thanks for your interest in improving the GitLab codebase! -Please update your merge request according to the [contributing guidelines](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/contributing/merge_request_workflow.md#merge-request-guidelines). -``` - -### Seeking community contributions - -``` -Is there an issue on the -[issue tracker](https://gitlab.com/gitlab-org/gitlab/issues) that is -similar to this? Could you please link it here? -Please be aware that new functionality that is not marked -[`Seeking community contributions`](https://docs.gitlab.com/ee/development/contributing/issue_workflow.html#label-for-community-contributors) -might not make it into GitLab. -``` - -### Only accepting merge requests with green tests - -``` -We can only accept a merge request if all the tests are green. I've just -restarted the build. When the tests are still not passing after this restart and -you're sure that is does not have anything to do with your code changes, please -rebase with master to see if that solves the issue. -``` - -[team]: https://about.gitlab.com/team/ -[done]: https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html#definition-of-done -[automatic_ce_ee_merge]: https://docs.gitlab.com/ee/development/automatic_ce_ee_merge.html -[ee_features]: https://docs.gitlab.com/ee/development/ee_features.html + diff --git a/VERSION b/VERSION index baec1bc73e..63a3b0b00a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.4.2 \ No newline at end of file +15.5.4 \ No newline at end of file diff --git a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue index 461b2dad47..57a237c3e8 100644 --- a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue +++ b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue @@ -45,16 +45,34 @@ export default { 'initialActiveAccessTokens', 'noActiveTokensMessage', 'showRole', + 'information', ], data() { return { - activeAccessTokens: this.initialActiveAccessTokens, + activeAccessTokens: convertObjectPropsToCamelCase(this.initialActiveAccessTokens, { + deep: true, + }), currentPage: INITIAL_PAGE, }; }, computed: { filteredFields() { - return this.showRole ? FIELDS : FIELDS.filter((field) => field.key !== 'role'); + const ignoredFields = []; + + // Show 'action' column only when there are no active tokens or when some of them have a revokePath + const showAction = + this.activeAccessTokens.length === 0 || + this.activeAccessTokens.some((token) => token.revokePath); + + if (!showAction) { + ignoredFields.push('action'); + } + + if (!this.showRole) { + ignoredFields.push('role'); + } + + return FIELDS.filter(({ key }) => !ignoredFields.includes(key)); }, header() { return sprintf(this.$options.i18n.header, { @@ -100,6 +118,10 @@ export default {
{{ header }}
+

+ {{ information }} +

+ convertObjectPropsToCamelCase(event.detail, { deep: true }); + export default { EVENT_ERROR, EVENT_SUCCESS, @@ -54,8 +57,8 @@ export default { /** @type {HTMLFormElement} */ this.form = document.querySelector(FORM_SELECTOR); - /** @type {HTMLInputElement} */ - this.submitButton = this.form.querySelector('input[type=submit]'); + /** @type {HTMLButtonElement} */ + this.submitButton = this.form.querySelector('[type=submit]'); }, methods: { beforeDisplayResults() { @@ -68,20 +71,21 @@ export default { onError(event) { this.beforeDisplayResults(); - const [{ errors }] = event.detail; + const [{ errors }] = convertEventDetail(event); this.errors = errors; this.submitButton.classList.remove('disabled'); + this.submitButton.removeAttribute('disabled'); }, onSuccess(event) { this.beforeDisplayResults(); - const [{ new_token: newToken }] = event.detail; + const [{ newToken }] = convertEventDetail(event); this.newToken = newToken; this.infoAlert = createAlert({ message: this.alertInfoMessage, variant: VARIANT_INFO }); - // Selectively reset all input fields except for the date picker and submit. + // Selectively reset all input fields except for the date picker. // The form token creation is not controlled by Vue. this.form.querySelectorAll('input[type=text]:not([id$=expires_at])').forEach((el) => { el.value = ''; diff --git a/app/assets/javascripts/access_tokens/components/tokens_app.vue b/app/assets/javascripts/access_tokens/components/tokens_app.vue index 10d4d62d80..1f72f5e19e 100644 --- a/app/assets/javascripts/access_tokens/components/tokens_app.vue +++ b/app/assets/javascripts/access_tokens/components/tokens_app.vue @@ -79,7 +79,7 @@ export default { diff --git a/app/assets/javascripts/import_entities/import_groups/services/status_poller.js b/app/assets/javascripts/import_entities/import_groups/services/status_poller.js index ba0f2bb947..6ad5e448a4 100644 --- a/app/assets/javascripts/import_entities/import_groups/services/status_poller.js +++ b/app/assets/javascripts/import_entities/import_groups/services/status_poller.js @@ -1,5 +1,5 @@ import Visibility from 'visibilityjs'; -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import axios from '~/lib/utils/axios_utils'; import Poll from '~/lib/utils/poll'; import { s__ } from '~/locale'; @@ -15,7 +15,7 @@ export class StatusPoller { statuses.forEach((status) => updateImportStatus(status)); }, errorCallback: () => - createFlash({ + createAlert({ message: s__('BulkImport|Update of import statuses with realtime changes failed'), }), }); diff --git a/app/assets/javascripts/import_entities/import_projects/components/advanced_settings.vue b/app/assets/javascripts/import_entities/import_projects/components/advanced_settings.vue new file mode 100644 index 0000000000..a8fdf9b9ec --- /dev/null +++ b/app/assets/javascripts/import_entities/import_projects/components/advanced_settings.vue @@ -0,0 +1,51 @@ + + diff --git a/app/assets/javascripts/import_entities/import_projects/components/import_projects_table.vue b/app/assets/javascripts/import_entities/import_projects/components/import_projects_table.vue index 848c736160..97a7ed4bf5 100644 --- a/app/assets/javascripts/import_entities/import_projects/components/import_projects_table.vue +++ b/app/assets/javascripts/import_entities/import_projects/components/import_projects_table.vue @@ -9,10 +9,12 @@ import { import { mapActions, mapState, mapGetters } from 'vuex'; import { n__, __, sprintf } from '~/locale'; import ProviderRepoTableRow from './provider_repo_table_row.vue'; +import AdvancedSettings from './advanced_settings.vue'; export default { name: 'ImportProjectsTable', components: { + AdvancedSettings, ProviderRepoTableRow, GlLoadingIcon, GlButton, @@ -35,6 +37,24 @@ export default { required: false, default: false, }, + optionalStages: { + type: Array, + required: false, + default: () => [], + }, + isAdvancedSettingsPanelInitiallyExpanded: { + type: Boolean, + required: false, + default: true, + }, + }, + + data() { + return { + optionalStagesSelection: Object.fromEntries( + this.optionalStages.map(({ name }) => [name, false]), + ), + }; }, computed: { @@ -127,7 +147,7 @@ export default { modal-id="import-all-modal" :title="s__('ImportProjects|Import repositories')" :ok-title="__('Import')" - @ok="importAll" + @ok="importAll({ optionalStages: optionalStagesSelection })" > {{ n__( @@ -150,6 +170,13 @@ export default { /> +
@@ -171,6 +198,7 @@ export default { :repo="repo" :available-namespaces="namespaces" :user-namespace="defaultTargetNamespace" + :optional-stages="optionalStagesSelection" /> diff --git a/app/assets/javascripts/import_entities/import_projects/components/provider_repo_table_row.vue b/app/assets/javascripts/import_entities/import_projects/components/provider_repo_table_row.vue index e4090a378e..458e0fb1cb 100644 --- a/app/assets/javascripts/import_entities/import_projects/components/provider_repo_table_row.vue +++ b/app/assets/javascripts/import_entities/import_projects/components/provider_repo_table_row.vue @@ -43,6 +43,10 @@ export default { type: Array, required: true, }, + optionalStages: { + type: Object, + required: true, + }, }, computed: { @@ -177,7 +181,7 @@ export default { v-if="isImportNotStarted" type="button" data-qa-selector="import_button" - @click="fetchImport(repo.importSource.id)" + @click="fetchImport({ repoId: repo.importSource.id, optionalStages })" > {{ importButtonText }} diff --git a/app/assets/javascripts/import_entities/import_projects/index.js b/app/assets/javascripts/import_entities/import_projects/index.js index 5146a0eb46..4daa9e8a1b 100644 --- a/app/assets/javascripts/import_entities/import_projects/index.js +++ b/app/assets/javascripts/import_entities/import_projects/index.js @@ -42,6 +42,7 @@ export function initPropsFromElement(element) { providerTitle: element.dataset.provider, filterable: parseBoolean(element.dataset.filterable), paginatable: parseBoolean(element.dataset.paginatable), + optionalStages: JSON.parse(element.dataset.optionalStages), }; } diff --git a/app/assets/javascripts/import_entities/import_projects/store/actions.js b/app/assets/javascripts/import_entities/import_projects/store/actions.js index 92be028b8a..a30c14f9d2 100644 --- a/app/assets/javascripts/import_entities/import_projects/store/actions.js +++ b/app/assets/javascripts/import_entities/import_projects/store/actions.js @@ -1,5 +1,5 @@ import Visibility from 'visibilityjs'; -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import axios from '~/lib/utils/axios_utils'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import httpStatusCodes from '~/lib/utils/http_status'; @@ -43,11 +43,14 @@ const restartJobsPolling = () => { const setImportTarget = ({ commit }, { repoId, importTarget }) => commit(types.SET_IMPORT_TARGET, { repoId, importTarget }); -const importAll = ({ state, dispatch }) => { +const importAll = ({ state, dispatch }, config = {}) => { return Promise.all( - state.repositories - .filter(isProjectImportable) - .map((r) => dispatch('fetchImport', r.importSource.id)), + state.repositories.filter(isProjectImportable).map((r) => + dispatch('fetchImport', { + repoId: r.importSource.id, + optionalStages: config?.optionalStages, + }), + ), ); }; @@ -73,7 +76,7 @@ const fetchReposFactory = ({ reposPath = isRequired() }) => ({ state, commit }) if (hasRedirectInError(e)) { redirectToUrlInError(e); } else if (tooManyRequests(e)) { - createFlash({ + createAlert({ message: sprintf(s__('ImportProjects|%{provider} rate limit exceeded. Try again later'), { provider: capitalizeFirstCharacter(provider), }), @@ -81,7 +84,7 @@ const fetchReposFactory = ({ reposPath = isRequired() }) => ({ state, commit }) commit(types.RECEIVE_REPOS_ERROR); } else { - createFlash({ + createAlert({ message: sprintf(s__('ImportProjects|Requesting your %{provider} repositories failed'), { provider, }), @@ -92,7 +95,10 @@ const fetchReposFactory = ({ reposPath = isRequired() }) => ({ state, commit }) }); }; -const fetchImportFactory = (importPath = isRequired()) => ({ state, commit, getters }, repoId) => { +const fetchImportFactory = (importPath = isRequired()) => ( + { state, commit, getters }, + { repoId, optionalStages }, +) => { const { ciCdOnly } = state; const importTarget = getters.getImportTarget(repoId); @@ -105,6 +111,7 @@ const fetchImportFactory = (importPath = isRequired()) => ({ state, commit, gett ci_cd_only: ciCdOnly, new_name: newName, target_namespace: targetNamespace, + ...(Object.keys(optionalStages).length ? { optional_stages: optionalStages } : {}), }) .then(({ data }) => { commit(types.RECEIVE_IMPORT_SUCCESS, { @@ -124,7 +131,7 @@ const fetchImportFactory = (importPath = isRequired()) => ({ state, commit, gett ) : s__('ImportProjects|Importing the project failed'); - createFlash({ + createAlert({ message: flashMessage, }); @@ -149,7 +156,7 @@ export const fetchJobsFactory = (jobsPath = isRequired()) => ({ state, commit, d if (hasRedirectInError(e)) { redirectToUrlInError(e); } else { - createFlash({ + createAlert({ message: s__('ImportProjects|Update of imported projects with realtime changes failed'), }); } @@ -177,7 +184,7 @@ const fetchNamespacesFactory = (namespacesPath = isRequired()) => ({ commit }) = commit(types.RECEIVE_NAMESPACES_SUCCESS, convertObjectPropsToCamelCase(data, { deep: true })), ) .catch(() => { - createFlash({ + createAlert({ message: s__('ImportProjects|Requesting namespaces failed'), }); diff --git a/app/assets/javascripts/integrations/constants.js b/app/assets/javascripts/integrations/constants.js index 437bcc3988..2806b78581 100644 --- a/app/assets/javascripts/integrations/constants.js +++ b/app/assets/javascripts/integrations/constants.js @@ -91,3 +91,5 @@ export const placeholderForType = { [INTEGRATION_TYPE_SLACK]: __('#general, #development'), [INTEGRATION_TYPE_MATTERMOST]: __('my-channel'), }; + +export const INTEGRATION_FORM_TYPE_SLACK = 'gitlab_slack_application'; diff --git a/app/assets/javascripts/integrations/edit/components/integration_form.vue b/app/assets/javascripts/integrations/edit/components/integration_form.vue index 7a6f1a953a..15f76c1651 100644 --- a/app/assets/javascripts/integrations/edit/components/integration_form.vue +++ b/app/assets/javascripts/integrations/edit/components/integration_form.vue @@ -14,12 +14,14 @@ import { I18N_FETCH_TEST_SETTINGS_DEFAULT_ERROR_MESSAGE, I18N_DEFAULT_ERROR_MESSAGE, I18N_SUCCESSFUL_CONNECTION_MESSAGE, + INTEGRATION_FORM_TYPE_SLACK, integrationLevels, integrationFormSectionComponents, billingPlanNames, } from '~/integrations/constants'; import { refreshCurrentPage } from '~/lib/utils/url_utility'; import csrf from '~/lib/utils/csrf'; +import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin'; import { testIntegrationSettings } from '../api'; import ActiveCheckbox from './active_checkbox.vue'; import ConfirmationModal from './confirmation_modal.vue'; @@ -65,6 +67,7 @@ export default { GlModal: GlModalDirective, SafeHtml, }, + mixins: [glFeatureFlagsMixin()], inject: { helpHtml: { default: '', @@ -101,6 +104,9 @@ export default { return Boolean(this.isSaving || this.isResetting || this.isTesting); }, hasSections() { + if (this.hasSlackNotificationsDisabled) { + return false; + } return this.customState.sections.length !== 0; }, fieldsWithoutSection() { @@ -108,6 +114,24 @@ export default { ? this.propsSource.fields.filter((field) => !field.section) : this.propsSource.fields; }, + hasFieldsWithoutSection() { + if (this.hasSlackNotificationsDisabled) { + return false; + } + return this.fieldsWithoutSection.length; + }, + isSlackIntegration() { + return this.propsSource.type === INTEGRATION_FORM_TYPE_SLACK; + }, + hasSlackNotificationsDisabled() { + return this.isSlackIntegration && !this.glFeatures.integrationSlackAppNotifications; + }, + showHelpHtml() { + if (this.isSlackIntegration) { + return this.helpHtml; + } + return !this.hasSections && this.helpHtml; + }, }, methods: { ...mapActions(['setOverride', 'requestJiraIssueTypes']), @@ -227,6 +251,31 @@ export default { @change="setOverride" /> +
+ +
+
+ +
+
+ + +
+
+ -
-
- -
- -
- - - +
+
-
+ -
-
+
+
-
+
diff --git a/app/assets/javascripts/issuable/auto_width_dropdown_select.js b/app/assets/javascripts/issuable/auto_width_dropdown_select.js deleted file mode 100644 index 243d82f55a..0000000000 --- a/app/assets/javascripts/issuable/auto_width_dropdown_select.js +++ /dev/null @@ -1,56 +0,0 @@ -import $ from 'jquery'; -import { loadCSSFile } from '../lib/utils/css_utils'; - -let instanceCount = 0; - -class AutoWidthDropdownSelect { - constructor(selectElement) { - this.$selectElement = $(selectElement); - this.dropdownClass = `js-auto-width-select-dropdown-${instanceCount}`; - instanceCount += 1; - } - - init() { - const { dropdownClass } = this; - import(/* webpackChunkName: 'select2' */ 'select2/select2') - .then(() => { - // eslint-disable-next-line promise/no-nesting - loadCSSFile(gon.select2_css_path) - .then(() => { - this.$selectElement.select2({ - dropdownCssClass: dropdownClass, - ...AutoWidthDropdownSelect.selectOptions(this.dropdownClass), - }); - }) - .catch(() => {}); - }) - .catch(() => {}); - - return this; - } - - static selectOptions(dropdownClass) { - return { - dropdownCss() { - let resultantWidth = 'auto'; - const $dropdown = $(`.${dropdownClass}`); - - // We have to look at the parent because - // `offsetParent` on a `display: none;` is `null` - const offsetParentWidth = $(this).parent().offsetParent().width(); - // Reset any width to let it naturally flow - $dropdown.css('width', 'auto'); - if ($dropdown.outerWidth(false) > offsetParentWidth) { - resultantWidth = offsetParentWidth; - } - - return { - width: resultantWidth, - maxWidth: offsetParentWidth, - }; - }, - }; - } -} - -export default AutoWidthDropdownSelect; diff --git a/app/assets/javascripts/issuable/bulk_update_sidebar/components/status_select.vue b/app/assets/javascripts/issuable/bulk_update_sidebar/components/status_dropdown.vue similarity index 87% rename from app/assets/javascripts/issuable/bulk_update_sidebar/components/status_select.vue rename to app/assets/javascripts/issuable/bulk_update_sidebar/components/status_dropdown.vue index 9509399e91..ba94932289 100644 --- a/app/assets/javascripts/issuable/bulk_update_sidebar/components/status_select.vue +++ b/app/assets/javascripts/issuable/bulk_update_sidebar/components/status_dropdown.vue @@ -1,10 +1,9 @@