diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml
index 01e059b8a60..15be0158da7 100644
--- a/.gitlab/ci/workhorse.gitlab-ci.yml
+++ b/.gitlab/ci/workhorse.gitlab-ci.yml
@@ -1,6 +1,6 @@
workhorse:verify:
extends: .workhorse:rules:workhorse
- image: ${GITLAB_DEPENDENCY_PROXY}golang:1.16
+ image: ${GITLAB_DEPENDENCY_PROXY}golang:1.17
stage: test
needs: []
script:
@@ -20,10 +20,6 @@ workhorse:verify:
- scripts/gitaly-test-build
- make -C workhorse test
-workhorse:test using go 1.16:
- extends: .workhorse:test
- image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7-golang-1.16-git-2.31
-
workhorse:test using go 1.17:
extends: .workhorse:test
image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7-golang-1.17-git-2.31
diff --git a/.rubocop_todo/migration/background_migrations.yml b/.rubocop_todo/migration/background_migrations.yml
new file mode 100644
index 00000000000..17548ef6b87
--- /dev/null
+++ b/.rubocop_todo/migration/background_migrations.yml
@@ -0,0 +1,83 @@
+---
+Migration/BackgroundMigrations:
+ Exclude:
+ - 'ee/db/geo/post_migrate/20220202101354_migrate_job_artifact_registry.rb'
+ - 'db/post_migrate/20220506124021_schedule_populate_requirements_issue_id.rb'
+ - 'db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb'
+ - 'db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb'
+ - 'db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb'
+ - 'db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb'
+ - 'db/post_migrate/20220407163559_schedule_purging_stale_security_scans.rb'
+ - 'db/post_migrate/20220331133802_schedule_backfill_topics_title.rb'
+ - 'db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb'
+ - 'db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb'
+ - 'db/post_migrate/20220324081709_fix_and_backfill_project_namespaces_for_projects_with_duplicate_name.rb'
+ - 'db/post_migrate/20220324032250_migrate_shimo_confluence_service_category.rb'
+ - 'db/post_migrate/20220316202640_populate_container_repositories_migration_plan.rb'
+ - 'db/post_migrate/20220315171129_cleanup_draft_data_from_faulty_regex.rb'
+ - 'db/migrate/20210519154058_schedule_update_users_where_two_factor_auth_required_from_group.rb'
+ - 'db/post_migrate/20210302150310_schedule_migrate_pages_to_zip_storage.rb'
+ - 'db/post_migrate/20210304133508_schedule_remove_duplicate_vulnerabilities_findings2.rb'
+ - 'db/post_migrate/20210415155043_move_container_registry_enabled_to_project_features3.rb'
+ - 'db/post_migrate/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url.rb'
+ - 'db/post_migrate/20210423160427_schedule_drop_invalid_vulnerabilities.rb'
+ - 'db/post_migrate/20210427212034_schedule_update_timelogs_project_id.rb'
+ - 'db/post_migrate/20210506065000_schedule_backfill_traversal_ids.rb'
+ - 'db/post_migrate/20210511095658_schedule_migrate_project_taggings_context_from_tags_to_topics.rb'
+ - 'db/post_migrate/20210511142748_schedule_drop_invalid_vulnerabilities2.rb'
+ - 'db/post_migrate/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects.rb'
+ - 'db/post_migrate/20210518074332_schedule_disable_expiration_policies_linked_to_no_container_images.rb'
+ - 'db/post_migrate/20210611080951_fix_missing_traversal_ids.rb'
+ - 'db/post_migrate/20210701111909_backfill_issues_upvotes_count.rb'
+ - 'db/post_migrate/20210722010101_reschedule_delete_orphaned_deployments.rb'
+ - 'db/post_migrate/20210729163312_re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types.rb'
+ - 'db/post_migrate/20210730104800_schedule_extract_project_topics_into_separate_table.rb'
+ - 'db/post_migrate/20210730170823_schedule_security_setting_creation.rb'
+ - 'db/post_migrate/20210816183304_schedule_copy_ci_builds_columns_to_security_scans2.rb'
+ - 'db/post_migrate/20210818185845_backfill_projects_with_coverage.rb'
+ - 'db/post_migrate/20211004110927_schedule_fix_first_mentioned_in_commit_at_job.rb'
+ - 'db/post_migrate/20211004120135_schedule_add_primary_email_to_emails_if_user_confirmed.rb'
+ - 'db/post_migrate/20211005194425_schedule_requirements_migration.rb'
+ - 'db/post_migrate/20211006060436_schedule_populate_topics_total_projects_count_cache.rb'
+ - 'db/post_migrate/20211007155221_schedule_populate_status_column_of_security_scans.rb'
+ - 'db/post_migrate/20211018152654_schedule_remove_duplicate_vulnerabilities_findings3.rb'
+ - 'db/post_migrate/20211102114802_update_vulnerability_occurrences_location.rb'
+ - 'db/post_migrate/20211110151350_schedule_drop_invalid_security_findings.rb'
+ - 'db/post_migrate/20211116111644_schedule_remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings.rb'
+ - 'db/post_migrate/20211118194239_drop_invalid_remediations.rb'
+ - 'db/post_migrate/20211208122200_schedule_backfill_ci_namespace_mirrors.rb'
+ - 'db/post_migrate/20211208122201_schedule_backfill_ci_project_mirrors.rb'
+ - 'db/post_migrate/20211209203821_convert_stringified_raw_metadata_hash_to_json.rb'
+ - 'db/post_migrate/20211210140629_encrypt_static_object_token.rb'
+ - 'db/post_migrate/20211215090620_schedule_update_timelogs_null_spent_at.rb'
+ - 'db/post_migrate/20220107064845_populate_vulnerability_reads.rb'
+ - 'db/post_migrate/20220110171049_schedule_populate_test_reports_issue_id.rb'
+ - 'db/post_migrate/20220125122640_schedule_populate_topics_non_private_projects_count.rb'
+ - 'db/post_migrate/20220131000001_schedule_trace_expiry_removal.rb'
+ - 'db/post_migrate/20220204194347_encrypt_integration_properties.rb'
+ - 'db/post_migrate/20220208115439_start_backfill_ci_queuing_tables.rb'
+ - 'db/post_migrate/20220215190020_rerun_convert_stringified_raw_metadata_hash_to_json.rb'
+ - 'db/post_migrate/20220308115219_schedule_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb'
+ - 'db/post_migrate/20220308115502_schedule_reset_duplicate_ci_runners_token_values_on_projects.rb'
+ - 'db/post_migrate/20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4.rb'
+ - 'db/post_migrate/20210604070207_retry_backfill_traversal_ids.rb'
+ - 'db/post_migrate/20210708130419_reschedule_merge_request_diff_users_background_migration.rb'
+ - 'db/post_migrate/20210823113259_steal_merge_request_diff_commit_users_migration.rb'
+ - 'db/post_migrate/20210825193652_backfill_cadence_id_for_boards_scoped_to_iteration.rb'
+ - 'db/post_migrate/20210830104800_reschedule_extract_project_topics_into_separate_table.rb'
+ - 'db/post_migrate/20210901153324_slice_merge_request_diff_commit_migrations.rb'
+ - 'db/post_migrate/20210909104800_reschedule_extract_project_topics_into_separate_table_2.rb'
+ - 'db/post_migrate/20211005010101_rereschedule_delete_orphaned_deployments.rb'
+ - 'db/post_migrate/20211028155449_schedule_fix_merge_request_diff_commit_users_migration.rb'
+ - 'db/post_migrate/20211208171402_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb'
+ - 'db/post_migrate/20220113111440_schedule_fix_incorrect_max_seats_used.rb'
+ - 'db/post_migrate/20220118204039_self_managed_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb'
+ - 'db/post_migrate/20220204095121_backfill_namespace_statistics_with_dependency_proxy_size.rb'
+ - 'db/post_migrate/20220212120735_schedule_fix_incorrect_max_seats_used2.rb'
+ - 'db/post_migrate/20220223124428_schedule_merge_topics_with_same_name.rb'
+ - 'db/post_migrate/20210302074524_backfill_namespace_statistics_with_wiki_size.rb'
+ - 'lib/gitlab/database/migrations/background_migration_helpers.rb'
+ - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.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/migrations/test_background_runner_spec.rb'
diff --git a/app/assets/javascripts/projects/default_project_templates.js b/app/assets/javascripts/projects/default_project_templates.js
index 24ebc465435..3671b24b502 100644
--- a/app/assets/javascripts/projects/default_project_templates.js
+++ b/app/assets/javascripts/projects/default_project_templates.js
@@ -41,6 +41,10 @@ export default {
text: s__('ProjectTemplates|Pages/Hugo'),
icon: '.template-option .icon-hugo',
},
+ pelican: {
+ text: s__('ProjectTemplates|Pages/Pelican'),
+ icon: '.template-option .icon-pelican',
+ },
jekyll: {
text: s__('ProjectTemplates|Pages/Jekyll'),
icon: '.template-option .icon-jekyll',
diff --git a/app/assets/javascripts/sidebar/queries/escalation_status.fragment.graphql b/app/assets/javascripts/sidebar/queries/escalation_status.fragment.graphql
new file mode 100644
index 00000000000..6021570557e
--- /dev/null
+++ b/app/assets/javascripts/sidebar/queries/escalation_status.fragment.graphql
@@ -0,0 +1,4 @@
+fragment EscalationStatusFragment on Issue {
+ id
+ escalationStatus
+}
diff --git a/app/assets/javascripts/sidebar/queries/update_escalation_status.mutation.graphql b/app/assets/javascripts/sidebar/queries/update_escalation_status.mutation.graphql
index a4aff7968df..d271ae5ff3e 100644
--- a/app/assets/javascripts/sidebar/queries/update_escalation_status.mutation.graphql
+++ b/app/assets/javascripts/sidebar/queries/update_escalation_status.mutation.graphql
@@ -1,10 +1,12 @@
+#import "ee_else_ce/sidebar/queries/escalation_status.fragment.graphql"
+
mutation updateEscalationStatus($projectPath: ID!, $status: IssueEscalationStatus!, $iid: String!) {
issueSetEscalationStatus(input: { projectPath: $projectPath, status: $status, iid: $iid }) {
errors
clientMutationId
issue {
id
- escalationStatus
+ ...EscalationStatusFragment
}
}
}
diff --git a/app/assets/javascripts/vue_shared/components/content_viewer/viewers/markdown_viewer.vue b/app/assets/javascripts/vue_shared/components/content_viewer/viewers/markdown_viewer.vue
index 9cf8638f3cb..3ecfac10f9c 100644
--- a/app/assets/javascripts/vue_shared/components/content_viewer/viewers/markdown_viewer.vue
+++ b/app/assets/javascripts/vue_shared/components/content_viewer/viewers/markdown_viewer.vue
@@ -1,8 +1,5 @@
+
+
+
+
{{ __('Description') }}
+
+
+
diff --git a/app/assets/javascripts/work_items/components/work_item_detail.vue b/app/assets/javascripts/work_items/components/work_item_detail.vue
index 0d588746362..a512f87c00a 100644
--- a/app/assets/javascripts/work_items/components/work_item_detail.vue
+++ b/app/assets/javascripts/work_items/components/work_item_detail.vue
@@ -1,12 +1,13 @@