From 427dbb30f037eb6697fc14852966ebff5d488a43 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 9 Sep 2022 15:13:16 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../nav/components/top_nav_menu_sections.vue | 29 +- .../projects/merge_requests/edit/index.js | 2 + .../merge_requests/edit/update_form.js | 23 + .../shared/wikis/components/wiki_form.vue | 8 +- .../pipelines_list/pipeline_multi_actions.vue | 7 + .../pipelines_list/pipeline_operations.vue | 9 +- .../pipelines_list/pipeline_url.vue | 33 +- .../pipelines_filtered_search.vue | 4 + .../pipelines_manual_actions.vue | 8 +- .../pipelines_list/pipelines_status_badge.vue | 10 +- app/assets/javascripts/pipelines/constants.js | 4 + .../vue_shared/components/ci_badge_link.vue | 12 +- .../stylesheets/startup/startup-signin.scss | 436 +++++++++++++++--- .../projects/environments_controller.rb | 13 + app/helpers/nav/top_nav_helper.rb | 15 + app/models/application_setting.rb | 4 - app/models/ci/pipeline.rb | 6 +- app/models/ci/runner.rb | 3 - app/models/clusters/applications/ingress.rb | 4 - app/models/concerns/ci/metadatable.rb | 2 +- app/models/merge_request.rb | 12 +- app/models/project.rb | 2 - app/services/ci/create_pipeline_service.rb | 1 + .../track_artifact_report_service.rb | 2 +- app/services/ci/pipelines/add_job_service.rb | 2 + app/services/issues/export_csv_service.rb | 10 +- .../projects/pipelines/_with_tabs.html.haml | 2 +- .../issuable/form/_merge_params.html.haml | 4 +- config/initializers/sidekiq.rb | 1 + config/initializers/wikicloth_redos_patch.rb | 41 +- config/initializers/wikicloth_ruby_3_patch.rb | 272 +++++++++++ ...s_unique_visits_for_any_target_monthly.yml | 1 - ...rs_visiting_environments_pages_monthly.yml | 26 ++ .../20220825232556_count_user_auth.yml | 3 +- ...umn_branch_filter_strategy_to_web_hooks.rb | 7 + db/schema_migrations/20220906093857 | 1 + db/structure.sql | 3 +- doc/raketasks/backup_gitlab.md | 4 +- doc/user/group/subgroups/index.md | 2 +- .../admin/batched_background_migrations.rb | 24 + .../ci/config/entry/legacy_variables.rb | 4 +- lib/gitlab/ci/config/entry/variable.rb | 4 +- .../ci/pipeline/chain/assign_partition.rb | 30 ++ lib/gitlab/ci/pipeline/seed/build.rb | 4 +- lib/gitlab/ci/pipeline/seed/stage.rb | 3 +- .../background_migration/batched_migration.rb | 9 + lib/gitlab/nav/top_nav_menu_builder.rb | 14 +- lib/gitlab/nav/top_nav_menu_header.rb | 14 + lib/gitlab/nav/top_nav_menu_item.rb | 1 + lib/gitlab/patch/sidekiq_cron_poller.rb | 21 + .../known_events/common.yml | 5 + locale/gitlab.pot | 9 + qa/qa/page/component/content_editor.rb | 11 + scripts/frontend/startup_css/constants.js | 3 +- .../projects/environments_controller_spec.rb | 65 +++ spec/frontend/fixtures/startup_css.rb | 16 +- .../components/top_nav_menu_sections_spec.js | 68 ++- .../merge_requests/edit/update_form_spec.js | 59 +++ .../pipelines_filtered_search_spec.js | 18 + .../pipelines/pipeline_multi_actions_spec.js | 20 + spec/frontend/pipelines/pipeline_url_spec.js | 71 ++- .../pipelines/pipelines_actions_spec.js | 18 + .../pipelines/pipelines_table_spec.js | 42 +- .../components/ci_badge_link_spec.js | 22 +- spec/helpers/nav/top_nav_helper_spec.rb | 30 +- spec/helpers/projects/pipeline_helper_spec.rb | 2 +- .../ci/config/entry/legacy_variables_spec.rb | 6 +- .../gitlab/ci/config/entry/variable_spec.rb | 2 +- .../gitlab/ci/config/entry/variables_spec.rb | 6 +- .../pipeline/chain/assign_partition_spec.rb | 28 ++ .../batched_migration_spec.rb | 14 +- .../gitlab/nav/top_nav_menu_header_spec.rb | 16 + spec/lib/gitlab/nav/top_nav_menu_item_spec.rb | 2 +- spec/models/ci/pipeline_spec.rb | 4 +- .../batched_background_migrations_spec.rb | 52 +++ .../partitioning_spec.rb | 78 ++++ .../ci/list_config_variables_service_spec.rb | 4 +- .../ci/pipelines/add_job_service_spec.rb | 8 + .../destination/objectstore/uploader.go | 4 +- 79 files changed, 1660 insertions(+), 179 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/merge_requests/edit/update_form.js create mode 100644 config/initializers/wikicloth_ruby_3_patch.rb create mode 100644 config/metrics/counts_28d/20220905210112_users_visiting_environments_pages_monthly.yml create mode 100644 db/migrate/20220906093857_add_column_branch_filter_strategy_to_web_hooks.rb create mode 100644 db/schema_migrations/20220906093857 create mode 100644 lib/gitlab/ci/pipeline/chain/assign_partition.rb create mode 100644 lib/gitlab/nav/top_nav_menu_header.rb create mode 100644 lib/gitlab/patch/sidekiq_cron_poller.rb create mode 100644 spec/frontend/pages/projects/merge_requests/edit/update_form_spec.js create mode 100644 spec/lib/gitlab/ci/pipeline/chain/assign_partition_spec.rb create mode 100644 spec/lib/gitlab/nav/top_nav_menu_header_spec.rb create mode 100644 spec/services/ci/create_pipeline_service/partitioning_spec.rb diff --git a/app/assets/javascripts/nav/components/top_nav_menu_sections.vue b/app/assets/javascripts/nav/components/top_nav_menu_sections.vue index b8555df53df..97e63c7324e 100644 --- a/app/assets/javascripts/nav/components/top_nav_menu_sections.vue +++ b/app/assets/javascripts/nav/components/top_nav_menu_sections.vue @@ -49,15 +49,26 @@ export default { :class="getMenuSectionClasses(sectionIndex)" data-testid="menu-section" > - + diff --git a/app/assets/javascripts/pages/projects/merge_requests/edit/index.js b/app/assets/javascripts/pages/projects/merge_requests/edit/index.js index 6c481beefe1..5179d1b31ab 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/edit/index.js +++ b/app/assets/javascripts/pages/projects/merge_requests/edit/index.js @@ -6,6 +6,7 @@ import { GitLabDropdown } from '~/deprecated_jquery_dropdown/gl_dropdown'; import initMergeRequest from '~/pages/projects/merge_requests/init_merge_request'; import initCheckFormState from './check_form_state'; +import initFormUpdate from './update_form'; function initTargetBranchSelector() { const targetBranch = document.querySelector('.js-target-branch'); @@ -68,5 +69,6 @@ function initTargetBranchSelector() { } initMergeRequest(); +initFormUpdate(); initCheckFormState(); initTargetBranchSelector(); diff --git a/app/assets/javascripts/pages/projects/merge_requests/edit/update_form.js b/app/assets/javascripts/pages/projects/merge_requests/edit/update_form.js new file mode 100644 index 00000000000..3bb64f741e7 --- /dev/null +++ b/app/assets/javascripts/pages/projects/merge_requests/edit/update_form.js @@ -0,0 +1,23 @@ +const findForm = () => document.querySelector('.merge-request-form'); + +const removeHiddenCheckbox = (node) => { + const checkboxWrapper = node.closest('.form-check'); + const hiddenCheckbox = checkboxWrapper.querySelector('input[type="hidden"]'); + hiddenCheckbox.remove(); +}; + +export default () => { + const updateCheckboxes = () => { + const checkboxes = document.querySelectorAll('.js-form-update'); + + if (!checkboxes.length) return; + + checkboxes.forEach((checkbox) => { + if (checkbox.checked) { + removeHiddenCheckbox(checkbox); + } + }); + }; + + findForm().addEventListener('submit', () => updateCheckboxes()); +}; diff --git a/app/assets/javascripts/pages/shared/wikis/components/wiki_form.vue b/app/assets/javascripts/pages/shared/wikis/components/wiki_form.vue index 3f4ab7319a0..9acc1cb62a1 100644 --- a/app/assets/javascripts/pages/shared/wikis/components/wiki_form.vue +++ b/app/assets/javascripts/pages/shared/wikis/components/wiki_form.vue @@ -385,7 +385,13 @@ export default { @loadingSuccess="enableSwitchEditingControl" @loadingError="enableSwitchEditingControl" /> - +
diff --git a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_multi_actions.vue b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_multi_actions.vue index 05a1ceface3..77f9b07f66c 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_multi_actions.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_multi_actions.vue @@ -10,6 +10,8 @@ import { import fuzzaldrinPlus from 'fuzzaldrin-plus'; import axios from '~/lib/utils/axios_utils'; import { __, s__ } from '~/locale'; +import Tracking from '~/tracking'; +import { TRACKING_CATEGORIES } from '../../constants'; export const i18n = { downloadArtifacts: __('Download artifacts'), @@ -29,6 +31,7 @@ export default { GlSearchBoxByType, GlLoadingIcon, }, + mixins: [Tracking.mixin()], inject: { artifactsEndpoint: { default: '', @@ -60,6 +63,10 @@ export default { }, methods: { fetchArtifacts() { + // refactor tracking based on action once this dropdown supports + // actions other than artifacts + this.track('click_artifacts_dropdown', { label: TRACKING_CATEGORIES.index }); + this.isLoading = true; // Replace the placeholder with the ID of the pipeline we are viewing const endpoint = this.artifactsEndpoint.replace( diff --git a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_operations.vue b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_operations.vue index 7a08dacb824..5d5eb98f0db 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_operations.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_operations.vue @@ -1,7 +1,8 @@ diff --git a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue index 09d588aaafd..bdfa754cecd 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue @@ -1,9 +1,10 @@