diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index d96da7744ab..0ae1d18fce7 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -1,5 +1,8 @@ # 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 @@ -80,6 +83,13 @@ stages: # ========================================== # Prepare stage # ========================================== +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 diff --git a/.gitlab/ci/package-and-test/rules.gitlab-ci.yml b/.gitlab/ci/package-and-test/rules.gitlab-ci.yml index d866dec1cd0..0602d2228c3 100644 --- a/.gitlab/ci/package-and-test/rules.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/rules.gitlab-ci.yml @@ -41,6 +41,14 @@ rules: - when: always +.rules:dont-interrupt: + rules: + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH + allow_failure: true + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: manual + allow_failure: true + # ------------------------------------------ # Test # ------------------------------------------ diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index e28ffc82811..77e0bbff6a7 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 @@ -17,6 +20,13 @@ include: - 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 diff --git a/.gitlab/ci/review-apps/rules.gitlab-ci.yml b/.gitlab/ci/review-apps/rules.gitlab-ci.yml index 56d3731bb56..9141ad0ed4a 100644 --- a/.gitlab/ci/review-apps/rules.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/rules.gitlab-ci.yml @@ -30,6 +30,17 @@ when: never - *qa-framework-changes +# ------------------------------------------ +# Prepare +# ------------------------------------------ +.rules:dont-interrupt: + rules: + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH + allow_failure: true + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + when: manual + allow_failure: true + # ------------------------------------------ # Test # ------------------------------------------ diff --git a/.rubocop_todo/lint/redundant_cop_disable_directive.yml b/.rubocop_todo/lint/redundant_cop_disable_directive.yml index 7668025601c..b0b5697536e 100644 --- a/.rubocop_todo/lint/redundant_cop_disable_directive.yml +++ b/.rubocop_todo/lint/redundant_cop_disable_directive.yml @@ -1,7 +1,10 @@ --- # Cop supports --auto-correct. Lint/RedundantCopDisableDirective: - Details: grace period + # 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' diff --git a/.rubocop_todo/rspec/multiple_memoized_helpers.yml b/.rubocop_todo/rspec/multiple_memoized_helpers.yml index fc26b5e3065..218ec3bb478 100644 --- a/.rubocop_todo/rspec/multiple_memoized_helpers.yml +++ b/.rubocop_todo/rspec/multiple_memoized_helpers.yml @@ -33,6 +33,7 @@ RSpec/MultipleMemoizedHelpers: - '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/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index b6ad514204b..e50ed641116 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -5cba52f4acb04ddbe27d8b7cb2e936ea0be45ae1 +4c15523cf680c107c5aa2b8268674cd0345a6b78 diff --git a/app/assets/javascripts/notes/components/discussion_notes.vue b/app/assets/javascripts/notes/components/discussion_notes.vue index 2dbc9b10836..00ed7f0291b 100644 --- a/app/assets/javascripts/notes/components/discussion_notes.vue +++ b/app/assets/javascripts/notes/components/discussion_notes.vue @@ -142,7 +142,7 @@ export default { :edited-at="discussion.resolved_at" :edited-by="discussion.resolved_by" :action-text="resolvedText" - class-name="discussion-headline-light js-discussion-headline discussion-resolved-text gl-mb-2 gl-ml-3" + class-name="discussion-headline-light js-discussion-headline discussion-resolved-text gl-mb-2" /> diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_section.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_body.vue similarity index 57% rename from app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_section.vue rename to app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_body.vue index 61e3744b5dc..91862efc069 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_section.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_body.vue @@ -1,6 +1,6 @@ diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_header.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_header.vue new file mode 100644 index 00000000000..32091d45b28 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_header.vue @@ -0,0 +1,35 @@ + + diff --git a/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue new file mode 100644 index 00000000000..d99d7d23f46 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/widget/widget_content_row.vue @@ -0,0 +1,38 @@ + + diff --git a/app/assets/stylesheets/page_bundles/merge_requests.scss b/app/assets/stylesheets/page_bundles/merge_requests.scss index 36361349979..9550b5440d6 100644 --- a/app/assets/stylesheets/page_bundles/merge_requests.scss +++ b/app/assets/stylesheets/page_bundles/merge_requests.scss @@ -850,3 +850,7 @@ $tabs-holder-z-index: 250; .dropdown-menu li button.gl-toggle:not(.is-checked) { background: $gray-400; } + +.mr-widget-content-row:first-child { + border-top: 0; +} diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index 82fe307bde9..5fa047a36ec 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -130,7 +130,14 @@ $system-note-svg-size: 1rem; border-left: 1px solid $border-color; border-right: 1px solid $border-color; background-color: $white; - padding: $gl-padding-8 $gl-padding-8 $gl-padding-4 $gl-padding; + + .timeline-content { + padding: $gl-padding-8 $gl-padding-8 $gl-padding-8 $gl-padding; + } + + .timeline-avatar { + margin: $gl-padding-8 0 0 $gl-padding; + } .timeline-discussion-body { margin-left: 2rem; @@ -1026,7 +1033,13 @@ $system-note-svg-size: 1rem; padding-left: 0; ul.notes li.note-wrapper { - padding: $gl-padding-8 $gl-padding-8 $gl-padding-8 $gl-padding; + .timeline-content { + padding: $gl-padding-8 $gl-padding-8 $gl-padding-8 $gl-padding; + } + + .timeline-avatar { + margin: $gl-padding-8 0 0 $gl-padding; + } } ul.notes { diff --git a/db/post_migrate/20220809002011_schedule_destroy_invalid_group_members.rb b/db/post_migrate/20220809002011_schedule_destroy_invalid_group_members.rb index 3db21c290b9..e5d97d890ab 100644 --- a/db/post_migrate/20220809002011_schedule_destroy_invalid_group_members.rb +++ b/db/post_migrate/20220809002011_schedule_destroy_invalid_group_members.rb @@ -12,19 +12,11 @@ class ScheduleDestroyInvalidGroupMembers < Gitlab::Database::Migration[2.0] disable_ddl_transaction! def up - queue_batched_background_migration( - MIGRATION, - :members, - :id, - job_interval: DELAY_INTERVAL, - batch_size: BATCH_SIZE, - max_batch_size: MAX_BATCH_SIZE, - sub_batch_size: SUB_BATCH_SIZE, - gitlab_schema: :gitlab_main - ) + # no-op + # We want to no-op this due to potential inconsistencies in SM upgrade path end def down - delete_batched_background_migration(MIGRATION, :members, :id, []) + # no-op end end diff --git a/db/post_migrate/20220901035725_schedule_destroy_invalid_project_members.rb b/db/post_migrate/20220901035725_schedule_destroy_invalid_project_members.rb index bc90232f855..9de3ac34669 100644 --- a/db/post_migrate/20220901035725_schedule_destroy_invalid_project_members.rb +++ b/db/post_migrate/20220901035725_schedule_destroy_invalid_project_members.rb @@ -10,19 +10,11 @@ class ScheduleDestroyInvalidProjectMembers < Gitlab::Database::Migration[2.0] restrict_gitlab_migration gitlab_schema: :gitlab_main def up - queue_batched_background_migration( - MIGRATION, - :members, - :id, - job_interval: DELAY_INTERVAL, - batch_size: BATCH_SIZE, - max_batch_size: MAX_BATCH_SIZE, - sub_batch_size: SUB_BATCH_SIZE, - gitlab_schema: :gitlab_main - ) + # no-op + # We want to no-op this due to potential inconsistencies in SM upgrade path end def down - delete_batched_background_migration(MIGRATION, :members, :id, []) + # no-op end end diff --git a/db/post_migrate/20220929101947_delete_remove_invalid_member_migration.rb b/db/post_migrate/20220929101947_delete_remove_invalid_member_migration.rb new file mode 100644 index 00000000000..6fb358e57ab --- /dev/null +++ b/db/post_migrate/20220929101947_delete_remove_invalid_member_migration.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class DeleteRemoveInvalidMemberMigration < Gitlab::Database::Migration[2.0] + PROJECT_MEMBER_MIGRATION = 'ScheduleDestroyInvalidProjectMembers' + GROUP_MEMBER_MIGRATION = 'ScheduleDestroyInvalidGroupMembers' + + disable_ddl_transaction! + + restrict_gitlab_migration gitlab_schema: :gitlab_main + + def up + delete_batched_background_migration(PROJECT_MEMBER_MIGRATION, :members, :id, []) + delete_batched_background_migration(GROUP_MEMBER_MIGRATION, :members, :id, []) + end + + def down + # no-op + end +end diff --git a/db/schema_migrations/20220929101947 b/db/schema_migrations/20220929101947 new file mode 100644 index 00000000000..4969db4f283 --- /dev/null +++ b/db/schema_migrations/20220929101947 @@ -0,0 +1 @@ +946e773d09863fe029507ac44b41a61ed0b6b766f7296759743cf09addfacfcd \ No newline at end of file diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md index 9b3abeac11f..90d723b7083 100644 --- a/doc/administration/geo/replication/datatypes.md +++ b/doc/administration/geo/replication/datatypes.md @@ -209,6 +209,6 @@ successfully, you must replicate their data using some other means. |[Incident Metric Images](../../../operations/incident_management/incidents.md#metrics) | [Planned](https://gitlab.com/gitlab-org/gitlab/-/issues/362561) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/362561) | No | No | | |[Alert Metric Images](../../../operations/incident_management/alerts.md#metrics-tab) | [Planned](https://gitlab.com/gitlab-org/gitlab/-/issues/362564) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/362564) | No | No | | |[Server-side Git hooks](../../server_hooks.md) | [Not planned](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | N/A | N/A | Not planned because of current implementation complexity, low customer interest, and availability of alternatives to hooks. | -|[Elasticsearch integration](../../../integration/elasticsearch.md) | [Not planned](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | No | Not planned because further product discovery is required and Elasticsearch (ES) clusters can be rebuilt. Secondaries use the same ES cluster as the primary. | +|[Elasticsearch integration](../../../integration/advanced_search/elasticsearch.md) | [Not planned](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | No | Not planned because further product discovery is required and Elasticsearch (ES) clusters can be rebuilt. Secondaries use the same ES cluster as the primary. | |[Dependency proxy images](../../../user/packages/dependency_proxy/index.md) | [Not planned](https://gitlab.com/gitlab-org/gitlab/-/issues/259694) | No | No | No | Blocked by [Geo: Secondary Mimicry](https://gitlab.com/groups/gitlab-org/-/epics/1528). Replication of this cache is not needed for disaster recovery purposes because it can be recreated from external sources. | |[Vulnerability Export](../../../user/application_security/vulnerability_report/index.md#export-vulnerability-details) | [Not planned](https://gitlab.com/groups/gitlab-org/-/epics/3111) | No | No | No | Not planned because they are ephemeral and sensitive information. They can be regenerated on demand. | diff --git a/doc/administration/get_started.md b/doc/administration/get_started.md index bf9b3ece20f..4099ddc16f8 100644 --- a/doc/administration/get_started.md +++ b/doc/administration/get_started.md @@ -283,7 +283,7 @@ You can learn more about how to administer GitLab. ### Free GitLab training -- GitLab basics: Discover self-service guides on [Git and GitLab basics](../gitlab-basics/index.md). +- GitLab basics: Discover self-service guides on [Git and GitLab basics](../tutorials/index.md). - GitLab Learn: Learn new GitLab skills in a structured course at [GitLab Learn](https://about.gitlab.com/learn/). ### Third-party training diff --git a/doc/administration/gitaly/faq.md b/doc/administration/gitaly/faq.md deleted file mode 100644 index f6571295200..00000000000 --- a/doc/administration/gitaly/faq.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -redirect_to: 'index.md' -remove_date: '2022-08-24' ---- - -This document was moved to [another location](index.md). diff --git a/doc/administration/index.md b/doc/administration/index.md index 3f4a4fe6747..7d684daf5a6 100644 --- a/doc/administration/index.md +++ b/doc/administration/index.md @@ -194,7 +194,7 @@ Learn how to install, configure, update, and maintain your GitLab instance. - [Monitoring GitLab](monitoring/index.md): - [Monitoring uptime](../user/admin_area/monitoring/health_check.md): Check the server status using the health check endpoint. - - [IP allowlist](monitoring/ip_whitelist.md): Monitor endpoints that provide health check information when probed. + - [IP allowlist](monitoring/ip_allowlist.md): Monitor endpoints that provide health check information when probed. - [Monitoring GitHub imports](monitoring/github_imports.md): The GitLab GitHub Importer displays Prometheus metrics to monitor the health and progress of the importer. ### Performance Monitoring diff --git a/doc/administration/monitoring/index.md b/doc/administration/monitoring/index.md index eee8ea57394..e57156e6513 100644 --- a/doc/administration/monitoring/index.md +++ b/doc/administration/monitoring/index.md @@ -20,7 +20,7 @@ Explore our features to monitor your GitLab instance: importer with various Prometheus metrics. - [Monitoring uptime](../../user/admin_area/monitoring/health_check.md): Check the server status using the health check endpoint. - - [IP allowlists](ip_whitelist.md): Configure GitLab for monitoring endpoints that + - [IP allowlists](ip_allowlist.md): Configure GitLab for monitoring endpoints that provide health check information when probed. - [`nginx_status`](https://docs.gitlab.com/omnibus/settings/nginx.html#enablingdisabling-nginx_status): Monitor your NGINX server status. diff --git a/doc/administration/monitoring/ip_whitelist.md b/doc/administration/monitoring/ip_whitelist.md deleted file mode 100644 index 9fb4ffe3089..00000000000 --- a/doc/administration/monitoring/ip_whitelist.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'ip_allowlist.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](ip_allowlist.md). - - - - - diff --git a/doc/administration/monitoring/performance/request_profiling.md b/doc/administration/monitoring/performance/request_profiling.md deleted file mode 100644 index 612492f5fec..00000000000 --- a/doc/administration/monitoring/performance/request_profiling.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -stage: Monitor -group: Respond -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-07-26' -redirect_to: 'index.md' ---- - -# Request profiling (removed) **(FREE SELF)** - -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/352488) in GitLab 14.8 -and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/350152) in 15.0. diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md index b3afd1892ec..ba33bcc47f5 100644 --- a/doc/administration/monitoring/prometheus/gitlab_metrics.md +++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md @@ -20,7 +20,7 @@ For installations from source you must configure it yourself. GitLab monitors its own internal service metrics, and makes them available at the `/-/metrics` endpoint. Unlike other [Prometheus](https://prometheus.io) exporters, to access -the metrics, the client IP address must be [explicitly allowed](../ip_whitelist.md). +the metrics, the client IP address must be [explicitly allowed](../ip_allowlist.md). These metrics are enabled and collected for [Omnibus GitLab](https://docs.gitlab.com/omnibus/) and Chart installations. For source installations, these metrics must be enabled diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index f289c781e9b..567c71878dc 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -205,7 +205,7 @@ To use an external Prometheus server: ``` 1. Install and set up a dedicated Prometheus instance, if necessary, using the [official installation instructions](https://prometheus.io/docs/prometheus/latest/installation/). -1. Add the Prometheus server IP address to the [monitoring IP allowlist](../ip_whitelist.md). For example: +1. Add the Prometheus server IP address to the [monitoring IP allowlist](../ip_allowlist.md). For example: ```ruby gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1'] @@ -381,7 +381,7 @@ memory, disk, and CPU utilization. The web exporter is a dedicated metrics server that allows splitting end-user and Prometheus traffic into two separate applications to improve performance and availability. -[Read more about the web exporter](puma_exporter.md). +[Read more about the web exporter](web_exporter.md). ### Redis exporter diff --git a/doc/administration/monitoring/prometheus/puma_exporter.md b/doc/administration/monitoring/prometheus/puma_exporter.md deleted file mode 100644 index a3e095f5f09..00000000000 --- a/doc/administration/monitoring/prometheus/puma_exporter.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'web_exporter.md' -remove_date: '2022-09-01' ---- - -This document was moved to [another location](web_exporter.md). - - - - - \ No newline at end of file diff --git a/doc/administration/operations/puma.md b/doc/administration/operations/puma.md index b36a016e93f..eb326c06e6a 100644 --- a/doc/administration/operations/puma.md +++ b/doc/administration/operations/puma.md @@ -401,4 +401,4 @@ The output in `/tmp/puma.txt` may help diagnose the root cause. ## Related topics -- [Use a dedicated metrics server to export web metrics](../monitoring/prometheus/puma_exporter.md) +- [Use a dedicated metrics server to export web metrics](../monitoring/prometheus/web_exporter.md) diff --git a/doc/administration/pseudonymizer.md b/doc/administration/pseudonymizer.md deleted file mode 100644 index 2e34fbf688a..00000000000 --- a/doc/administration/pseudonymizer.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -stage: Systems -group: Distribution -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: 'index.md' ---- - -# Pseudonymizer (removed) **(ULTIMATE)** - -> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/219952) in GitLab 14.7 and removed in 15.0. - -WARNING: -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/219952) in GitLab 14.7. diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md index 314819d9af7..3e159298ea3 100644 --- a/doc/administration/reference_architectures/10k_users.md +++ b/doc/administration/reference_architectures/10k_users.md @@ -300,7 +300,7 @@ for details on managing SSL certificates and configuring NGINX. Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer will not be able to connect. diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md index 9b49bab2b40..84dd5577491 100644 --- a/doc/administration/reference_architectures/25k_users.md +++ b/doc/administration/reference_architectures/25k_users.md @@ -302,7 +302,7 @@ for details on managing SSL certificates and configuring NGINX. Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer will not be able to connect. diff --git a/doc/administration/reference_architectures/2k_users.md b/doc/administration/reference_architectures/2k_users.md index 81338c761eb..8c7b91e32c2 100644 --- a/doc/administration/reference_architectures/2k_users.md +++ b/doc/administration/reference_architectures/2k_users.md @@ -184,7 +184,7 @@ details about managing SSL certificates and configuring NGINX, see the Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer will not be able to connect. diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md index d173db7b387..af46c508bd4 100644 --- a/doc/administration/reference_architectures/3k_users.md +++ b/doc/administration/reference_architectures/3k_users.md @@ -303,7 +303,7 @@ for details on managing SSL certificates and configuring NGINX. Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer will not be able to connect. diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md index 1a4706a38b9..8c648e83856 100644 --- a/doc/administration/reference_architectures/50k_users.md +++ b/doc/administration/reference_architectures/50k_users.md @@ -309,7 +309,7 @@ for details on managing SSL certificates and configuring NGINX. Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer will not be able to connect. diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md index a954ce3e6b7..b4f7c75544a 100644 --- a/doc/administration/reference_architectures/5k_users.md +++ b/doc/administration/reference_architectures/5k_users.md @@ -300,7 +300,7 @@ for details on managing SSL certificates and configuring NGINX. Ensure the external load balancer only routes to working services with built in monitoring endpoints. The [readiness checks](../../user/admin_area/monitoring/health_check.md) -all require [additional configuration](../monitoring/ip_whitelist.md) +all require [additional configuration](../monitoring/ip_allowlist.md) on the nodes being checked, otherwise, the external load balancer is not able to connect. diff --git a/doc/ci/cloud_deployment/ecs/quick_start_guide.md b/doc/ci/cloud_deployment/ecs/quick_start_guide.md deleted file mode 100644 index 7522bc80d0d..00000000000 --- a/doc/ci/cloud_deployment/ecs/quick_start_guide.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'deploy_to_aws_ecs.md' -remove_date: '2022-09-18' ---- - -This document was moved to [another location](deploy_to_aws_ecs.md). - - - - - \ No newline at end of file diff --git a/doc/ci/cloud_deployment/index.md b/doc/ci/cloud_deployment/index.md index c7738f85696..83774f63566 100644 --- a/doc/ci/cloud_deployment/index.md +++ b/doc/ci/cloud_deployment/index.md @@ -11,7 +11,7 @@ GitLab provides Docker images with the libraries and tools you need to deploy to AWS. You can reference these images in your CI/CD pipeline. If you're using GitLab.com and deploying to the [Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (ECS), -read about [deploying to ECS](ecs/quick_start_guide.md). +read about [deploying to ECS](ecs/deploy_to_aws_ecs.md). ## Authenticate GitLab with AWS diff --git a/doc/ci/metrics_reports.md b/doc/ci/metrics_reports.md deleted file mode 100644 index c3ab3392f36..00000000000 --- a/doc/ci/metrics_reports.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'testing/metrics_reports.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](testing/metrics_reports.md). - - - - - diff --git a/doc/ci/pipelines/cicd_minutes.md b/doc/ci/pipelines/cicd_minutes.md index 7903eef134b..07da9ca31f5 100644 --- a/doc/ci/pipelines/cicd_minutes.md +++ b/doc/ci/pipelines/cicd_minutes.md @@ -205,7 +205,7 @@ The cost factors for jobs running on shared runners on GitLab.com are: - `0.5` for public projects in the [GitLab for Open Source program](../../subscriptions/index.md#gitlab-for-open-source). - `0.008` for public forks of public projects in the [GitLab for Open Source program](../../subscriptions/index.md#gitlab-for-open-source). For every 125 minutes of job execution time, you use 1 CI/CD minute. -- `0.04` for other public projects, after September 1, 2022 (previously `0.008`). +- `1` for other public projects, after October 1, 2022 (previously `0.04`). For every 25 minutes of job execution time, you use 1 CI/CD minute. - Calculated differently for [community contributions to GitLab projects](#cost-factor-for-community-contributions-to-gitlab-projects). diff --git a/doc/ci/pipelines/merged_results_pipelines.md b/doc/ci/pipelines/merged_results_pipelines.md index d115f328a44..097f6bad87c 100644 --- a/doc/ci/pipelines/merged_results_pipelines.md +++ b/doc/ci/pipelines/merged_results_pipelines.md @@ -33,7 +33,7 @@ To use merged results pipelines: [run jobs in merge request pipelines](merge_request_pipelines.md#prerequisites). - Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/index.md). -- You must not be using [fast forward merges](../../user/project/merge_requests/fast_forward_merge.md). +- You must not be using [fast forward merges](../../user/project/merge_requests/methods/index.md). [An issue exists](https://gitlab.com/gitlab-org/gitlab/-/issues/26996) to change this behavior. ## Enable merged results pipelines diff --git a/doc/ci/unit_test_reports.md b/doc/ci/unit_test_reports.md deleted file mode 100644 index 7578a1e6009..00000000000 --- a/doc/ci/unit_test_reports.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'testing/unit_test_reports.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](testing/unit_test_reports.md). - - - - - diff --git a/doc/ci/variables/index.md b/doc/ci/variables/index.md index b9d93a075d5..655a0128e9d 100644 --- a/doc/ci/variables/index.md +++ b/doc/ci/variables/index.md @@ -768,7 +768,7 @@ for [deployment jobs](../environments/index.md). For example, the [Kubernetes integration](../../user/project/clusters/deploy_to_cluster.md#deployment-variables) defines deployment variables that you can use with the integration. -The [documentation for each integration](../../user/project/integrations/overview.md) +The [documentation for each integration](../../user/project/integrations/index.md) explains if the integration has any deployment variables available. ## Auto DevOps environment variables diff --git a/doc/development/appsec/index.md b/doc/development/appsec/index.md deleted file mode 100644 index 8361170c3d2..00000000000 --- a/doc/development/appsec/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../index.md' -remove_date: '2022-09-23' ---- - -This document was moved to [another location](../index.md). - - - - - diff --git a/doc/development/avoiding_downtime_in_migrations.md b/doc/development/avoiding_downtime_in_migrations.md deleted file mode 100644 index d4c225b62c5..00000000000 --- a/doc/development/avoiding_downtime_in_migrations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/avoiding_downtime_in_migrations.md' -remove_date: '2022-07-08' ---- - -This document was moved to [another location](database/avoiding_downtime_in_migrations.md). - - - - - diff --git a/doc/development/background_migrations.md b/doc/development/background_migrations.md deleted file mode 100644 index 3c9c34bccf8..00000000000 --- a/doc/development/background_migrations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/background_migrations.md' -remove_date: '2022-07-08' ---- - -This document was moved to [another location](database/background_migrations.md). - - - - - diff --git a/doc/development/batched_background_migrations.md b/doc/development/batched_background_migrations.md deleted file mode 100644 index f5f3655944b..00000000000 --- a/doc/development/batched_background_migrations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/batched_background_migrations.md' -remove_date: '2022-07-26' ---- - -This document was moved to [another location](database/batched_background_migrations.md). - - - - - diff --git a/doc/development/deleting_migrations.md b/doc/development/deleting_migrations.md deleted file mode 100644 index 5d5ca431598..00000000000 --- a/doc/development/deleting_migrations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/deleting_migrations.md' -remove_date: '2022-07-08' ---- - -This document was moved to [another location](database/deleting_migrations.md). - - - - - diff --git a/doc/development/experiment_guide/gitlab_experiment.md b/doc/development/experiment_guide/gitlab_experiment.md deleted file mode 100644 index 5ddbe9b3de9..00000000000 --- a/doc/development/experiment_guide/gitlab_experiment.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'index.md' -remove_date: '2022-08-05' ---- - -This document was moved to [another location](index.md). - - - - - diff --git a/doc/development/packages.md b/doc/development/packages.md deleted file mode 100644 index a79f5f09677..00000000000 --- a/doc/development/packages.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'packages/index.md' -remove_date: '2022-08-19' ---- - -This document was moved to [another location](packages/index.md). - - - - - diff --git a/doc/development/post_deployment_migrations.md b/doc/development/post_deployment_migrations.md deleted file mode 100644 index c3922718e77..00000000000 --- a/doc/development/post_deployment_migrations.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'database/post_deployment_migrations.md' -remove_date: '2022-07-08' ---- - -This document was moved to [another location](database/post_deployment_migrations.md). - - - - - diff --git a/doc/development/uploads/background.md b/doc/development/uploads/background.md deleted file mode 100644 index 1ad1aec23f2..00000000000 --- a/doc/development/uploads/background.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'index.md' -remove_date: '2022-07-25' ---- - -This document was moved to [another location](index.md). - - - - - diff --git a/doc/development/uploads/implementation.md b/doc/development/uploads/implementation.md deleted file mode 100644 index 1ad1aec23f2..00000000000 --- a/doc/development/uploads/implementation.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'index.md' -remove_date: '2022-07-25' ---- - -This document was moved to [another location](index.md). - - - - - diff --git a/doc/gitlab-basics/index.md b/doc/gitlab-basics/index.md deleted file mode 100644 index 3cd5dfe7d18..00000000000 --- a/doc/gitlab-basics/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../user/index.md' -remove_date: '2022-07-08' ---- - -This document was moved to [another location](../user/index.md). - - - - - diff --git a/doc/install/aws/manual_install_aws.md b/doc/install/aws/manual_install_aws.md index 018a5b9b642..43e1a847758 100644 --- a/doc/install/aws/manual_install_aws.md +++ b/doc/install/aws/manual_install_aws.md @@ -268,7 +268,7 @@ On the EC2 dashboard, look for Load Balancer in the left navigation bar: 1. Select **Configure Health Check** and set up a health check for your EC2 instances. 1. For **Ping Protocol**, select HTTP. 1. For **Ping Port**, enter 80. - 1. For **Ping Path** - we recommend that you [use the Readiness check endpoint](../../administration/load_balancer.md#readiness-check). You must add [the VPC IP Address Range (CIDR)](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-nacl) to the [IP allowlist](../../administration/monitoring/ip_whitelist.md) for the [Health Check endpoints](../../user/admin_area/monitoring/health_check.md) + 1. For **Ping Path** - we recommend that you [use the Readiness check endpoint](../../administration/load_balancer.md#readiness-check). You must add [the VPC IP Address Range (CIDR)](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-nacl) to the [IP allowlist](../../administration/monitoring/ip_allowlist.md) for the [Health Check endpoints](../../user/admin_area/monitoring/health_check.md) 1. Keep the default **Advanced Details** or adjust them according to your needs. 1. Select **Add EC2 Instances** - don't add anything as we create an Auto Scaling Group later to manage instances for us. 1. Select **Add Tags** and add any tags you need. diff --git a/doc/install/digitaloceandocker.md b/doc/install/digitaloceandocker.md deleted file mode 100644 index 86ccf194786..00000000000 --- a/doc/install/digitaloceandocker.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'docker.md' -remove_date: '2022-08-29' ---- - -This document was moved to [another location](docker.md). - - - - - diff --git a/doc/integration/elasticsearch.md b/doc/integration/elasticsearch.md deleted file mode 100644 index 0b34f7018da..00000000000 --- a/doc/integration/elasticsearch.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'advanced_search/elasticsearch.md' -remove_date: '2022-09-13' ---- - -This document was moved to [another location](advanced_search/elasticsearch.md). - - - - - \ No newline at end of file diff --git a/doc/operations/metrics/index.md b/doc/operations/metrics/index.md index 978287be76c..53c40f29506 100644 --- a/doc/operations/metrics/index.md +++ b/doc/operations/metrics/index.md @@ -43,7 +43,7 @@ your Prometheus integration depends on where your apps are running: - **For a cluster integrated Prometheus** - GitLab can query [an in-cluster Prometheus](../../user/clusters/integrations.md#prometheus-cluster-integration). You must also complete a code deployment to your cluster for the **Monitor > Metrics** - page to contain data. You can do this using [Auto DevOps](../../topics/autodevops/quick_start_guide.md). + page to contain data. You can do this using [Auto DevOps](../../topics/autodevops/cloud_deployments/auto_devops_with_gke.md). ![Monitoring Dashboard](img/prometheus_monitoring_dashboard_v13_3.png) diff --git a/doc/topics/autodevops/quick_start_guide.md b/doc/topics/autodevops/quick_start_guide.md deleted file mode 100644 index a524b6e6451..00000000000 --- a/doc/topics/autodevops/quick_start_guide.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../autodevops/cloud_deployments/auto_devops_with_gke.md' -remove_date: '2022-09-18' ---- - -This document was moved to [another location](../autodevops/cloud_deployments/auto_devops_with_gke.md). - - - - - \ No newline at end of file diff --git a/doc/tutorials/index.md b/doc/tutorials/index.md index 428b90ab17d..92e96a059dc 100644 --- a/doc/tutorials/index.md +++ b/doc/tutorials/index.md @@ -67,7 +67,7 @@ configure the infrastructure for your application. | Topic | Description | Good for beginners | |-------|-------------|--------------------| | [Use GitOps with GitLab](https://about.gitlab.com/blog/2022/04/07/the-ultimate-guide-to-gitops-with-gitlab/) | Learn how to provision and manage a base infrastructure, connect to a Kubernetes cluster, deploy third-party applications, and carry out other infrastructure automation tasks. | | -| [Use Auto DevOps to deploy an application](../topics/autodevops/quick_start_guide.md) | Deploy an application to Google Kubernetes Engine (GKE). | | +| [Use Auto DevOps to deploy an application](../topics/autodevops/cloud_deployments/auto_devops_with_gke.md) | Deploy an application to Google Kubernetes Engine (GKE). | | ## Publish a static website diff --git a/doc/user/admin_area/monitoring/health_check.md b/doc/user/admin_area/monitoring/health_check.md index ad79504985a..e6f9c045329 100644 --- a/doc/user/admin_area/monitoring/health_check.md +++ b/doc/user/admin_area/monitoring/health_check.md @@ -15,7 +15,7 @@ traffic until the system is ready or restart the container as needed. ## IP allowlist To access monitoring resources, the requesting client IP needs to be included in the allowlist. -For details, see [how to add IPs to the allowlist for the monitoring endpoints](../../../administration/monitoring/ip_whitelist.md). +For details, see [how to add IPs to the allowlist for the monitoring endpoints](../../../administration/monitoring/ip_allowlist.md). ## Using the endpoints locally diff --git a/doc/user/application_security/cluster_image_scanning/index.md b/doc/user/application_security/cluster_image_scanning/index.md deleted file mode 100644 index e7a59d70b25..00000000000 --- a/doc/user/application_security/cluster_image_scanning/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../clusters/agent/vulnerabilities.md' -remove_date: '2022-08-19' ---- - -This document was moved to [another location](../../clusters/agent/vulnerabilities.md). - - - - - diff --git a/doc/user/application_security/index.md b/doc/user/application_security/index.md index b70264fbd21..84540c570e5 100644 --- a/doc/user/application_security/index.md +++ b/doc/user/application_security/index.md @@ -66,7 +66,7 @@ For more details, see [Dependency Scanning compared to Container Scanning](dependency_scanning/index.md#dependency-scanning-compared-to-container-scanning). Additionally, dependencies in operational container images can be analyzed for vulnerabilities -on a regular schedule or cadence. For more details, see [Cluster Image Scanning](cluster_image_scanning/index.md). +on a regular schedule or cadence. For more details, see [Cluster Image Scanning](../clusters/agent/vulnerabilities.md). ### Infrastructure analysis diff --git a/doc/user/clusters/agent/ci_cd_tunnel.md b/doc/user/clusters/agent/ci_cd_tunnel.md deleted file mode 100644 index 1b99fcf9739..00000000000 --- a/doc/user/clusters/agent/ci_cd_tunnel.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'ci_cd_workflow.md' -remove_date: '2022-07-20' ---- - -This document was moved to [another location](ci_cd_workflow.md). - - - - - \ No newline at end of file diff --git a/doc/user/clusters/agent/index.md b/doc/user/clusters/agent/index.md index 9914c843e61..7fdf0bb2bf0 100644 --- a/doc/user/clusters/agent/index.md +++ b/doc/user/clusters/agent/index.md @@ -91,7 +91,7 @@ Read about how to [migrate to the agent for Kubernetes](../../infrastructure/clu - [GitOps examples and learning materials](gitops.md#related-topics) - [GitLab CI/CD workflow](ci_cd_workflow.md) - [Install the agent](install/index.md) -- [Work with the agent](repository.md) +- [Work with the agent](work_with_agent.md) - [Troubleshooting](troubleshooting.md) - [Guided explorations for a production ready GitOps setup](https://gitlab.com/groups/guided-explorations/gl-k8s-agent/gitops/-/wikis/home#gitlab-agent-for-kubernetes-gitops-working-examples) - [CI/CD for Kubernetes examples and learning materials](ci_cd_workflow.md#related-topics) diff --git a/doc/user/clusters/agent/repository.md b/doc/user/clusters/agent/repository.md deleted file mode 100644 index 8f3a8830202..00000000000 --- a/doc/user/clusters/agent/repository.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'work_with_agent.md' -remove_date: '2022-07-19' ---- - -This document was moved to [another location](work_with_agent.md). - - - - - diff --git a/doc/user/clusters/applications.md b/doc/user/clusters/applications.md deleted file mode 100644 index e7561a4d83f..00000000000 --- a/doc/user/clusters/applications.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -stage: Configure -group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: '../../update/removals.md#managed-cluster-applicationsgitlab-ciyml' ---- - -# GitLab Managed Apps (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/327908) in GitLab 13.12. -and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/333610) in GitLab 15.0. -Use the [cluster management project template](management_project_template.md) instead. diff --git a/doc/user/clusters/crossplane.md b/doc/user/clusters/crossplane.md deleted file mode 100644 index 6e446ab6f67..00000000000 --- a/doc/user/clusters/crossplane.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -stage: Configure -group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: '../../update/removals.md#managed-cluster-applicationsgitlab-ciyml' ---- - -# Crossplane configuration (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) -in GitLab 14.5. and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/333610) -in GitLab 15.0. Use [crossplane](https://crossplane.io/) directly instead. diff --git a/doc/user/infrastructure/clusters/manage/management_project_applications/elasticstack.md b/doc/user/infrastructure/clusters/manage/management_project_applications/elasticstack.md deleted file mode 100644 index 2efce55148c..00000000000 --- a/doc/user/infrastructure/clusters/manage/management_project_applications/elasticstack.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -stage: Monitor -group: Respond -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: '../../index.md' ---- - -# Install Elastic Stack with a cluster management project (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/346485) in GitLab 14.8 -and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/360182) in 15.0. diff --git a/doc/user/project/clusters/serverless/aws.md b/doc/user/project/clusters/serverless/aws.md deleted file mode 100644 index c9e6b7dd843..00000000000 --- a/doc/user/project/clusters/serverless/aws.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -stage: Configure -group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: '../../../../update/removals.md#gitlab-serverless' ---- - -# Deploying AWS Lambda function using GitLab CI/CD (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/6) in GitLab 14.3 and [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267) in GitLab 15.0. diff --git a/doc/user/project/clusters/serverless/index.md b/doc/user/project/clusters/serverless/index.md deleted file mode 100644 index 670033473a3..00000000000 --- a/doc/user/project/clusters/serverless/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -stage: Configure -group: Configure -info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments -remove_date: '2022-08-22' -redirect_to: '../../../../update/removals.md#gitlab-serverless' ---- - -# Serverless (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/6) in GitLab 14.3 and [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267) in GitLab 15.0. diff --git a/doc/user/project/integrations/overview.md b/doc/user/project/integrations/overview.md deleted file mode 100644 index 9625edcd8f9..00000000000 --- a/doc/user/project/integrations/overview.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'index.md' -remove_date: '2022-07-20' ---- - -This document was moved to [another location](index.md). - - - - - diff --git a/doc/user/project/merge_requests/accessibility_testing.md b/doc/user/project/merge_requests/accessibility_testing.md deleted file mode 100644 index c1a87f7a5d4..00000000000 --- a/doc/user/project/merge_requests/accessibility_testing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/accessibility_testing.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/accessibility_testing.md). - - - - - diff --git a/doc/user/project/merge_requests/browser_performance_testing.md b/doc/user/project/merge_requests/browser_performance_testing.md deleted file mode 100644 index 95f749210c4..00000000000 --- a/doc/user/project/merge_requests/browser_performance_testing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/browser_performance_testing.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/browser_performance_testing.md). - - - - - diff --git a/doc/user/project/merge_requests/code_quality.md b/doc/user/project/merge_requests/code_quality.md deleted file mode 100644 index 79e590cb905..00000000000 --- a/doc/user/project/merge_requests/code_quality.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/code_quality.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/code_quality.md). - - - - - diff --git a/doc/user/project/merge_requests/fail_fast_testing.md b/doc/user/project/merge_requests/fail_fast_testing.md deleted file mode 100644 index c09a7c14c06..00000000000 --- a/doc/user/project/merge_requests/fail_fast_testing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/fail_fast_testing.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/fail_fast_testing.md). - - - - - diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md deleted file mode 100644 index 048421a3a5b..00000000000 --- a/doc/user/project/merge_requests/fast_forward_merge.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: 'methods/index.md' -remove_date: '2022-08-09' ---- - -This document was moved to [another location](methods/index.md). - - - - - diff --git a/doc/user/project/merge_requests/load_performance_testing.md b/doc/user/project/merge_requests/load_performance_testing.md deleted file mode 100644 index 04b62c5d8fe..00000000000 --- a/doc/user/project/merge_requests/load_performance_testing.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/load_performance_testing.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/load_performance_testing.md). - - - - - diff --git a/doc/user/project/merge_requests/test_coverage_visualization.md b/doc/user/project/merge_requests/test_coverage_visualization.md deleted file mode 100644 index 53d45e6940d..00000000000 --- a/doc/user/project/merge_requests/test_coverage_visualization.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/test_coverage_visualization.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/test_coverage_visualization.md). - - - - - diff --git a/doc/user/project/merge_requests/testing_and_reports_in_merge_requests.md b/doc/user/project/merge_requests/testing_and_reports_in_merge_requests.md deleted file mode 100644 index 6c0086bc429..00000000000 --- a/doc/user/project/merge_requests/testing_and_reports_in_merge_requests.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -redirect_to: '../../../ci/testing/index.md' -remove_date: '2022-08-31' ---- - -This document was moved to [another location](../../../ci/testing/index.md). - - - - - diff --git a/doc/user/project/static_site_editor/index.md b/doc/user/project/static_site_editor/index.md deleted file mode 100644 index 2e91559736d..00000000000 --- a/doc/user/project/static_site_editor/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -stage: Create -group: Editor -info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments" -remove_date: '2022-08-03' -redirect_to: '../web_ide/index.md' ---- - -# Static Site Editor (removed) **(FREE)** - -This feature was [deprecated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77246) in GitLab 14.7 -and [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/352505) in 15.0. -Use the [Web Editor](../repository/web_editor.md) or [Web IDE](../web_ide/index.md) instead. - -## Remove the Static Site Editor - -The Static Site Editor itself isn't part of your project. To remove the Static Site Editor -from an existing project, remove links that point back to the editor: - -1. Remove any links that use `edit_page_url` in your project. If you used the - **Middleman - Static Site Editor** project template, the only instance of this - helper is located in `/source/layouts/layout.erb`. Remove this line entirely: - - ```ruby - <%= link_to('Edit this page', edit_page_url(data.config.repository, current_page.file_descriptor.relative_path), id: 'edit-page-link') %> - ``` - -1. In `/data/config.yml`, delete the `repository` key / value pair: - - ```yaml - repository: https://gitlab.com// - ``` - - - If `repository` is the only value stored in `/data/config.yml`, you can delete the entire file. -1. In `/helpers/custom_helpers.rb`, delete `edit_page_url()` and `endcode_path()`: - - ```ruby - def edit_page_url(base_url, relative_path) - "#{base_url}/-/sse/#{encode_path(relative_path)}/" - end - - def encode_path(relative_path) - ERB::Util.url_encode("master/source/#{relative_path}") - end - ``` - - - If `edit_page_url()` and `encode_path()` are the only helpers, you may delete - `/helpers/custom_helpers.rb` entirely. -1. Clean up any extraneous configuration files. -1. Commit and push your changes. diff --git a/package.json b/package.json index 9083678d9db..ccf55a56d7a 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@gitlab/at.js": "1.5.7", "@gitlab/favicon-overlay": "2.0.0", "@gitlab/svgs": "3.4.0", - "@gitlab/ui": "43.18.0", + "@gitlab/ui": "43.20.0", "@gitlab/visual-review-tools": "1.7.3", "@gitlab/web-ide": "0.0.1-dev-20220815034418", "@rails/actioncable": "6.1.4-7", diff --git a/spec/frontend/vue_merge_request_widget/components/widget/__snapshots__/dynamic_content_spec.js.snap b/spec/frontend/vue_merge_request_widget/components/widget/__snapshots__/dynamic_content_spec.js.snap new file mode 100644 index 00000000000..034906d63c4 --- /dev/null +++ b/spec/frontend/vue_merge_request_widget/components/widget/__snapshots__/dynamic_content_spec.js.snap @@ -0,0 +1,39 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`~/vue_merge_request_widget/components/widget/dynamic_content.vue renders given data 1`] = ` +" +
This is a headerThis is a subheader
+
+
+

Main text for the row

+ Optional link to display after text + + + Badge is optional. Text to be displayed inside badge + + +

Optional: Smaller sub-text to be displayed below the main text

+
+
    +
  • + +
    Child row header + +
    +
    +
    +

    This is recursive. It will be listed in level 3.

    + + + + + +
    + +
    +
    +
  • +
+
+
" +`; diff --git a/spec/frontend/vue_merge_request_widget/components/widget/dynamic_content_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/dynamic_content_spec.js new file mode 100644 index 00000000000..2372448c518 --- /dev/null +++ b/spec/frontend/vue_merge_request_widget/components/widget/dynamic_content_spec.js @@ -0,0 +1,56 @@ +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import { EXTENSION_ICONS } from '~/vue_merge_request_widget/constants'; +import DynamicContent from '~/vue_merge_request_widget/components/widget/dynamic_content.vue'; +import ContentHeader from '~/vue_merge_request_widget/components/widget/widget_content_header.vue'; +import ContentBody from '~/vue_merge_request_widget/components/widget/widget_content_body.vue'; + +describe('~/vue_merge_request_widget/components/widget/dynamic_content.vue', () => { + let wrapper; + + const createComponent = ({ propsData } = {}) => { + wrapper = shallowMountExtended(DynamicContent, { + propsData: { + widgetName: 'MyWidget', + ...propsData, + }, + stubs: { + ContentHeader, + ContentBody, + DynamicContent, + }, + }); + }; + + it('renders given data', () => { + createComponent({ + propsData: { + data: { + id: 'row-id', + header: ['This is a header', 'This is a subheader'], + text: 'Main text for the row', + subtext: 'Optional: Smaller sub-text to be displayed below the main text', + icon: { + name: EXTENSION_ICONS.success, + }, + badge: { + text: 'Badge is optional. Text to be displayed inside badge', + variant: 'info', + }, + link: { + text: 'Optional link to display after text', + href: 'https://gitlab.com', + }, + children: [ + { + id: 'row-id-2', + header: 'Child row header', + text: 'This is recursive. It will be listed in level 3.', + }, + ], + }, + }, + }); + + expect(wrapper.html()).toMatchSnapshot(); + }); +}); diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_section_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_body_spec.js similarity index 76% rename from spec/frontend/vue_merge_request_widget/components/widget/widget_content_section_spec.js rename to spec/frontend/vue_merge_request_widget/components/widget/widget_content_body_spec.js index c2128d3ff33..2f3f99badd0 100644 --- a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_section_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_body_spec.js @@ -1,14 +1,14 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; -import WidgetContentSection from '~/vue_merge_request_widget/components/widget/widget_content_section.vue'; -import StatusIcon from '~/vue_merge_request_widget/components/extensions/status_icon.vue'; +import WidgetContentBody from '~/vue_merge_request_widget/components/widget/widget_content_body.vue'; +import StatusIcon from '~/vue_merge_request_widget/components/widget/status_icon.vue'; -describe('~/vue_merge_request_widget/components/widget/widget_content_section.vue', () => { +describe('~/vue_merge_request_widget/components/widget/widget_content_body.vue', () => { let wrapper; const findStatusIcon = () => wrapper.findComponent(StatusIcon); const createComponent = ({ propsData, slots } = {}) => { - wrapper = shallowMountExtended(WidgetContentSection, { + wrapper = shallowMountExtended(WidgetContentBody, { propsData: { widgetName: 'MyWidget', ...propsData, diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_header_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_header_spec.js new file mode 100644 index 00000000000..995d28e350c --- /dev/null +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_header_spec.js @@ -0,0 +1,31 @@ +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import WidgetContentHeader from '~/vue_merge_request_widget/components/widget/widget_content_header.vue'; + +describe('~/vue_merge_request_widget/components/widget/widget_content_header.vue', () => { + let wrapper; + + const createComponent = ({ propsData } = {}) => { + wrapper = shallowMountExtended(WidgetContentHeader, { + propsData: { + widgetName: 'MyWidget', + ...propsData, + }, + }); + }; + + it('renders an array of header and subheader', () => { + createComponent({ propsData: { header: ['this is a header', 'this is a subheader'] } }); + expect(wrapper.findByText('this is a header').exists()).toBe(true); + expect(wrapper.findByText('this is a subheader').exists()).toBe(true); + }); + + it('renders a string', () => { + createComponent({ propsData: { header: 'this is a header' } }); + expect(wrapper.findByText('this is a header').exists()).toBe(true); + }); + + it('escapes html injection properly', () => { + createComponent({ propsData: { header: 'this is a header' } }); + expect(wrapper.findByText('this is a header').exists()).toBe(true); + }); +}); diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js new file mode 100644 index 00000000000..1cb8c7277d3 --- /dev/null +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_content_row_spec.js @@ -0,0 +1,38 @@ +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import WidgetContentRow from '~/vue_merge_request_widget/components/widget/widget_content_row.vue'; +import WidgetContentBody from '~/vue_merge_request_widget/components/widget/widget_content_body.vue'; + +describe('~/vue_merge_request_widget/components/widget/widget_content_row.vue', () => { + let wrapper; + + const findContentBody = () => wrapper.findComponent(WidgetContentBody); + + const createComponent = ({ propsData, slots } = {}) => { + wrapper = shallowMountExtended(WidgetContentRow, { + propsData: { + widgetName: 'MyWidget', + ...propsData, + }, + slots, + }); + }; + + it('renders slots properly', () => { + createComponent({ + propsData: { + statusIconName: 'success', + level: 2, + }, + slots: { + header: 'this is a header', + body: 'this is a body', + }, + }); + + expect(wrapper.findByText('this is a header').exists()).toBe(true); + expect(findContentBody().props()).toMatchObject({ + statusIconName: 'success', + widgetName: 'MyWidget', + }); + }); +}); diff --git a/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js b/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js index b67b5703ad5..4826fecf98d 100644 --- a/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js +++ b/spec/frontend/vue_merge_request_widget/components/widget/widget_spec.js @@ -5,8 +5,9 @@ import waitForPromises from 'helpers/wait_for_promises'; import StatusIcon from '~/vue_merge_request_widget/components/extensions/status_icon.vue'; import ActionButtons from '~/vue_merge_request_widget/components/action_buttons.vue'; import Widget from '~/vue_merge_request_widget/components/widget/widget.vue'; +import WidgetContentRow from '~/vue_merge_request_widget/components/widget/widget_content_row.vue'; -describe('MR Widget', () => { +describe('~/vue_merge_request_widget/components/widget/widget.vue', () => { let wrapper; const findStatusIcon = () => wrapper.findComponent(StatusIcon); @@ -27,6 +28,10 @@ describe('MR Widget', () => { ...propsData, }, slots, + stubs: { + StatusIcon, + ContentRow: WidgetContentRow, + }, }); }; diff --git a/spec/migrations/20220809002011_schedule_destroy_invalid_group_members_spec.rb b/spec/migrations/20220809002011_schedule_destroy_invalid_group_members_spec.rb deleted file mode 100644 index 31dd4344d9f..00000000000 --- a/spec/migrations/20220809002011_schedule_destroy_invalid_group_members_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require_migration! - -RSpec.describe ScheduleDestroyInvalidGroupMembers, :migration do - let_it_be(:migration) { described_class::MIGRATION } - - describe '#up' do - it 'schedules background jobs for each batch of members' do - migrate! - - expect(migration).to have_scheduled_batched_migration( - table_name: :members, - column_name: :id, - interval: described_class::DELAY_INTERVAL, - batch_size: described_class::BATCH_SIZE, - max_batch_size: described_class::MAX_BATCH_SIZE - ) - end - end - - describe '#down' do - it 'deletes all batched migration records' do - migrate! - schema_migrate_down! - - expect(migration).not_to have_scheduled_batched_migration - end - end -end diff --git a/spec/migrations/20220901035725_schedule_destroy_invalid_project_members_spec.rb b/spec/migrations/20220901035725_schedule_destroy_invalid_project_members_spec.rb deleted file mode 100644 index ed9f7e3cd44..00000000000 --- a/spec/migrations/20220901035725_schedule_destroy_invalid_project_members_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require_migration! - -RSpec.describe ScheduleDestroyInvalidProjectMembers, :migration do - let_it_be(:migration) { described_class::MIGRATION } - - describe '#up' do - it 'schedules background jobs for each batch of members' do - migrate! - - expect(migration).to have_scheduled_batched_migration( - table_name: :members, - column_name: :id, - interval: described_class::DELAY_INTERVAL, - batch_size: described_class::BATCH_SIZE, - max_batch_size: described_class::MAX_BATCH_SIZE - ) - end - end - - describe '#down' do - it 'deletes all batched migration records' do - migrate! - schema_migrate_down! - - expect(migration).not_to have_scheduled_batched_migration - end - end -end diff --git a/spec/support/capybara_slow_finder.rb b/spec/support/capybara_slow_finder.rb new file mode 100644 index 00000000000..029e11e4460 --- /dev/null +++ b/spec/support/capybara_slow_finder.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Capybara + MESSAGE = <<~MSG + Timeout reached while running a waiting Capybara finder. Consider using a non-waiting finder. + See https://www.cloudbees.com/blog/faster-rails-tests + MSG + + module Node + class Base + # Inspired by https://github.com/ngauthier/capybara-slow_finder_errors + module SlowFinder + def synchronize(seconds = nil, errors: nil) + start_time = Gitlab::Metrics::System.monotonic_time + + super + rescue Capybara::ElementNotFound => e + seconds ||= Capybara.default_max_wait_time + + raise e unless seconds > 0 && Gitlab::Metrics::System.monotonic_time - start_time > seconds + + raise e, "#{$!}#{MESSAGE}", e.backtrace + end + end + + prepend SlowFinder + end + end +end diff --git a/spec/support_specs/capybara_slow_finder_spec.rb b/spec/support_specs/capybara_slow_finder_spec.rb new file mode 100644 index 00000000000..cba75a7fba2 --- /dev/null +++ b/spec/support_specs/capybara_slow_finder_spec.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Capybara::Node::Base::SlowFinder do # rubocop:disable RSpec/FilePath + context 'without timeout' do + context 'when element is found' do + let(:slow_finder) do + Class.new do + def synchronize(seconds = nil, errors: nil) + true + end + + prepend Capybara::Node::Base::SlowFinder + end.new + end + + it 'does not raise error' do + expect { slow_finder.synchronize }.not_to raise_error + end + end + + context 'when element is not found' do + let(:slow_finder) do + Class.new do + def synchronize(seconds = nil, errors: nil) + raise Capybara::ElementNotFound + end + + prepend Capybara::Node::Base::SlowFinder + end.new + end + + it 'raises Capybara::ElementNotFound error' do + expect { slow_finder.synchronize }.to raise_error(Capybara::ElementNotFound) + end + end + end + + context 'with timeout' do + let(:slow_finder) do + Class.new do + def synchronize(seconds = nil, errors: nil) + sleep 0.1 + + raise Capybara::ElementNotFound + end + + prepend Capybara::Node::Base::SlowFinder + end.new + end + + it 'raises a timeout error' do + expect { slow_finder.synchronize(0.01) }.to raise_error( + Capybara::ElementNotFound, + /Timeout reached while running a waiting Capybara finder./ + ) + end + end +end diff --git a/yarn.lock b/yarn.lock index a6b5192a8ae..24f6c6bbd3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1074,10 +1074,10 @@ resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.4.0.tgz#cfc8319e259e5914ad0f48ee0ab6e0eec75d03da" integrity sha512-myCYbjViOI2k6oHGRqL1iKaMKbYvPqWL6tYZ07QkUKziVz5kYjECWk5c0Qp6yu9NsFAMWuow5PkR3oFTGBHmbg== -"@gitlab/ui@43.18.0": - version "43.18.0" - resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-43.18.0.tgz#7c412eebe362052dae811502586e1fd100c28be0" - integrity sha512-hAyBjYQtOFbVWt4XhUBgth/OtNg2cTQ7KMv0JSLLTnvrrrASJu0Li1ROaat81YsT+kGWytM/Fgr283ISNzy/vw== +"@gitlab/ui@43.20.0": + version "43.20.0" + resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-43.20.0.tgz#f57b0ea8b01317a383695061f185acb7c92447d9" + integrity sha512-ck1gXmWTh6vNSpz9QzCt9Lv9Twvj+BRGkiNexICOB3j9Y6UZbTdBKANu1eiGZnM+kh0v2z3H3Cbo3f95hwywqA== dependencies: "@popperjs/core" "^2.11.2" bootstrap-vue "2.20.1"