From 4e7abe540dbd1d170bfb2b3594e645cbfb48cac3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 23 Feb 2023 21:10:28 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/global.gitlab-ci.yml | 23 -- .gitlab/ci/rails.gitlab-ci.yml | 76 ----- .gitlab/ci/rails/shared.gitlab-ci.yml | 10 - .gitlab/ci/rules.gitlab-ci.yml | 9 - CHANGELOG.md | 7 + app/assets/javascripts/ide/components/ide.vue | 2 +- .../jobs/components/job/manual_variables_form.vue | 16 +- app/assets/javascripts/lib/utils/text_markdown.js | 23 +- .../pages/projects/commit/show/index.js | 4 +- .../branch_rules/components/branch_rule.vue | 2 +- .../components/participants/participants.vue | 3 +- .../super_sidebar/components/sidebar_portal.vue | 30 ++ .../components/sidebar_portal_target.vue | 17 + .../super_sidebar/components/super_sidebar.vue | 3 + app/assets/javascripts/super_sidebar/constants.js | 11 + .../stylesheets/framework/super_sidebar.scss | 1 + .../stylesheets/page_bundles/merge_requests.scss | 15 + app/assets/stylesheets/pages/issues.scss | 44 ++- app/controllers/concerns/sorting_preference.rb | 4 + .../jira_connect/public_keys_controller.rb | 2 - app/helpers/jira_connect_helper.rb | 2 +- app/helpers/nav_helper.rb | 13 +- app/helpers/sorting_helper.rb | 6 +- app/views/profiles/two_factor_auths/show.html.haml | 6 +- .../projects/settings/integrations/_form.html.haml | 3 + config/gitlab.yml.example | 1 - config/initializers/1_settings.rb | 4 +- db/docs/ci_cost_settings.yml | 10 + ...0230216171309_create_ci_runner_cost_settings.rb | 17 + ...itial_partition_for_ci_runner_machine_builds.rb | 49 +++ db/schema_migrations/20230216171309 | 1 + db/schema_migrations/20230221110256 | 1 + db/structure.sql | 29 +- doc/ci/jobs/ci_job_token.md | 4 + doc/development/application_slis/rails_request.md | 17 + doc/development/navigation_sidebar.md | 38 +++ doc/development/pipelines/index.md | 19 +- doc/development/pipelines/internals.md | 2 - doc/user/packages/yarn_repository/index.md | 351 +++++++++++++-------- doc/user/shortcuts.md | 15 +- lib/gitlab/database/gitlab_schema.rb | 5 + locale/gitlab.pot | 6 +- .../concerns/sorting_preference_spec.rb | 41 ++- spec/controllers/projects/notes_controller_spec.rb | 38 ++- spec/features/commit_spec.rb | 13 +- .../user_lists_merge_requests_spec.rb | 39 ++- .../issuable/components/issue_milestone_spec.js | 159 ++-------- spec/frontend/lib/utils/text_markdown_spec.js | 50 ++- .../account/components/update_username_spec.js | 29 +- .../branch_rules/components/branch_rule_spec.js | 4 +- .../settings/repository/branch_rules/mock_data.js | 2 +- .../components/participants/participants_spec.js | 197 ++++-------- .../components/sidebar_portal_spec.js | 68 ++++ .../super_sidebar/components/super_sidebar_spec.js | 6 + spec/helpers/jira_connect_helper_spec.rb | 19 +- spec/helpers/sorting_helper_spec.rb | 54 ++++ spec/lib/gitlab/database/gitlab_schema_spec.rb | 20 +- .../partitioning/partition_manager_spec.rb | 17 +- .../gitlab/database/postgres_foreign_key_spec.rb | 4 +- spec/requests/api/avatar_spec.rb | 1 + .../jira_connect/public_keys_controller_spec.rb | 21 +- spec/spec_helper.rb | 2 + spec/support/matchers/request_urgency_matcher.rb | 29 ++ 63 files changed, 1032 insertions(+), 682 deletions(-) create mode 100644 app/assets/javascripts/super_sidebar/components/sidebar_portal.vue create mode 100644 app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue create mode 100644 app/assets/javascripts/super_sidebar/constants.js create mode 100644 db/docs/ci_cost_settings.yml create mode 100644 db/migrate/20230216171309_create_ci_runner_cost_settings.rb create mode 100644 db/migrate/20230221110256_create_initial_partition_for_ci_runner_machine_builds.rb create mode 100644 db/schema_migrations/20230216171309 create mode 100644 db/schema_migrations/20230221110256 create mode 100644 doc/development/navigation_sidebar.md create mode 100644 spec/frontend/super_sidebar/components/sidebar_portal_spec.js create mode 100644 spec/support/matchers/request_urgency_matcher.rb diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index ba623ef4cbe..0ee810340ff 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -229,14 +229,6 @@ - *node-modules-cache # We don't push this cache as it's already rebuilt by `update-assets-compile-*-cache` - *storybook-node-modules-cache-push -.use-pg11: - services: - - name: postgres:11.6 - command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine - variables: - POSTGRES_HOST_AUTH_METHOD: trust - PG_VERSION: "11" .use-pg12: services: @@ -256,21 +248,6 @@ POSTGRES_HOST_AUTH_METHOD: trust PG_VERSION: "13" -.use-pg11-es7-ee: - services: - - name: postgres:11.6 - command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine - - name: elasticsearch:7.17.6 - command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"] - - name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:zoekt-ci-image-1.0 - alias: zoekt-ci-image - variables: - POSTGRES_HOST_AUTH_METHOD: trust - PG_VERSION: "11" - ZOEKT_INDEX_BASE_URL: http://zoekt-ci-image:6060 - ZOEKT_SEARCH_BASE_URL: http://zoekt-ci-image:6070 - .use-pg12-es7-ee: services: - name: postgres:12 diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 23f38fddb80..671325101e2 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -191,16 +191,6 @@ rspec system pg12 praefect: - .praefect-with-db - .rails:rules:praefect-with-db -# Dedicated job to test DB library code against PG11. -# Note that these are already tested against PG12 in the `rspec unit pg12` / `rspec-ee unit pg12` jobs. -rspec db-library-code pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:ee-and-foss-db-library-code - script: - - !reference [.base-script, script] - - rspec_db_library_code - rspec fast_spec_helper: extends: - .rspec-base-pg12 @@ -616,39 +606,6 @@ rspec-ee system pg12 single-db: ########################################## # EE/FOSS: default branch nightly scheduled jobs # -# PG11 -rspec migration pg11: - extends: - - .rspec-base-pg11 - - .rspec-base-migration - - .rails:rules:rspec-on-pg11 - - .rspec-migration-parallel - -rspec background_migration pg11: - extends: - - .rspec-base-pg11 - - .rspec-base-migration - - .rails:rules:rspec-on-pg11 - - .rspec-background-migration-parallel - -rspec unit pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-unit-parallel - -rspec integration pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-integration-parallel - -rspec system pg11: - extends: - - .rspec-base-pg11 - - .rails:rules:rspec-on-pg11 - - .rspec-system-parallel - # PG13 rspec migration pg13: extends: @@ -687,39 +644,6 @@ rspec system pg13: ##################################### # EE: default branch nightly scheduled jobs # -# PG11 -rspec-ee migration pg11: - extends: - - .rspec-ee-base-pg11 - - .rspec-base-migration - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-migration-parallel - -rspec-ee background_migration pg11: - extends: - - .rspec-ee-base-pg11 - - .rspec-base-migration - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-background-migration-parallel - -rspec-ee unit pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-unit-parallel - -rspec-ee integration pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-integration-parallel - -rspec-ee system pg11: - extends: - - .rspec-ee-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - - .rspec-ee-system-parallel - # PG12 rspec-ee unit pg12 opensearch1: extends: diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index 4943f7c2e28..ba0781a845f 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -92,11 +92,6 @@ include: - !reference [.base-script, script] - rspec_paralellized_job "--tag ~quarantine --tag ~zoekt" -.rspec-base-pg11: - extends: - - .rspec-base - - .use-pg11 - .rspec-base-pg12: extends: - .rspec-base @@ -119,11 +114,6 @@ include: - .rspec-base - .use-pg13 -.rspec-ee-base-pg11: - extends: - - .rspec-base - - .use-pg11-es7-ee - .rspec-ee-base-pg12: extends: - .rspec-base diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index d1e29084a5a..ee85ca82673 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -85,9 +85,6 @@ .if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/' -.if-merge-request-labels-run-on-pg11: &if-merge-request-labels-run-on-pg11 - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-on-pg11/' - .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' @@ -1605,7 +1602,6 @@ - <<: *if-default-refs changes: *db-library-patterns - <<: *if-merge-request-labels-run-all-rspec - - <<: *if-merge-request-labels-run-on-pg11 .rails:rules:ee-mr-and-default-branch-only: rules: @@ -1695,11 +1691,6 @@ - <<: *if-merge-request changes: *backend-patterns -.rails:rules:rspec-on-pg11: - rules: - - <<: *if-merge-request-labels-run-on-pg11 - - !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules] - .rails:rules:default-branch-schedule-nightly--code-backstage-default-rules: rules: - <<: *if-default-branch-schedule-nightly diff --git a/CHANGELOG.md b/CHANGELOG.md index bba2aeb77cc..b82e5de350f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 15.9.1 (2023-02-23) + +### Fixed (2 changes) + +- [Fix Broadcast messages not showing in admin console](gitlab-org/gitlab@f50dfdfe43231b4bb52378eaaa515ee76c918d03) ([merge request](gitlab-org/gitlab!112831)) +- [Fix dependency check in license approval policies](gitlab-org/gitlab@ff5a77036fdb74c4b410fbb954428dbf8736ffd8) ([merge request](gitlab-org/gitlab!112831)) **GitLab Enterprise Edition** + ## 15.9.0 (2023-02-21) ### Added (223 changes) diff --git a/app/assets/javascripts/ide/components/ide.vue b/app/assets/javascripts/ide/components/ide.vue index 838debf1ceb..6bbad88715f 100644 --- a/app/assets/javascripts/ide/components/ide.vue +++ b/app/assets/javascripts/ide/components/ide.vue @@ -82,7 +82,7 @@ export default { eventHub.$on('skip-beforeunload', this.handleSkipBeforeUnload); if (this.themeName) - document.querySelector('.navbar-gitlab').classList.add(`theme-${this.themeName}`); + document.querySelector('.navbar-gitlab')?.classList.add(`theme-${this.themeName}`); }, destroyed() { eventHub.$off('skip-beforeunload', this.handleSkipBeforeUnload); diff --git a/app/assets/javascripts/jobs/components/job/manual_variables_form.vue b/app/assets/javascripts/jobs/components/job/manual_variables_form.vue index df37cd1f585..a92153c0509 100644 --- a/app/assets/javascripts/jobs/components/job/manual_variables_form.vue +++ b/app/assets/javascripts/jobs/components/job/manual_variables_form.vue @@ -71,14 +71,14 @@ export default { required: true, }, }, - clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0'], + clearBtnSharedClasses: ['gl-flex-grow-0 gl-flex-basis-0 gl-m-0! gl-ml-3!'], inputTypes: { key: 'key', value: 'value', }, i18n: { cancel: s__('CiVariables|Cancel'), - clearInputs: s__('CiVariables|Clear inputs'), + removeInputs: s__('CiVariables|Remove inputs'), formHelpText: s__( 'CiVariables|Specify variable values to be used in this run. The variables specified in the configuration file and %{linkStart}CI/CD settings%{linkEnd} are used by default.', ), @@ -209,7 +209,7 @@ export default {
@@ -244,12 +244,11 @@ export default { @@ -260,8 +259,7 @@ export default { :class="$options.clearBtnSharedClasses" data-testid="delete-variable-btn-placeholder" category="tertiary" - variant="danger" - icon="clear" + icon="remove" />
diff --git a/app/assets/javascripts/lib/utils/text_markdown.js b/app/assets/javascripts/lib/utils/text_markdown.js index ebc118c0d87..83ae7142cf2 100644 --- a/app/assets/javascripts/lib/utils/text_markdown.js +++ b/app/assets/javascripts/lib/utils/text_markdown.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import Shortcuts from '~/behaviors/shortcuts/shortcuts'; import { insertText } from '~/lib/utils/common_utils'; +import { ENTER_KEY } from '~/lib/utils/keys'; import axios from '~/lib/utils/axios_utils'; const LINK_TAG_PATTERN = '[{text}](url)'; @@ -520,7 +521,7 @@ function continueOlText(listLineMatch, nextLineMatch) { function handleContinueList(e, textArea) { if (!gon.markdown_automatic_lists) return; - if (!(e.key === 'Enter')) return; + if (!(e.key === ENTER_KEY)) return; if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return; if (textArea.selectionStart !== textArea.selectionEnd) return; @@ -577,6 +578,25 @@ function handleContinueList(e, textArea) { } } +/** + * Adds a Markdown hard break when `Shift+Enter` is pressed + * + * @param {Object} e - the event + * @param {Object} textArea - the targeted text area + */ +function handleHardBreak(e, textArea) { + if (!(e.key === ENTER_KEY)) return; + if (!e.shiftKey) return; + if (e.altKey || e.ctrlKey || e.metaKey) return; + + // prevent unintended line breaks inserted using Japanese IME on MacOS + if (compositioningNoteText) return; + + e.preventDefault(); + + insertText(textArea, '\\\n'); +} + export function keypressNoteText(e) { const textArea = this; @@ -584,6 +604,7 @@ export function keypressNoteText(e) { handleContinueList(e, textArea); handleSurroundSelectedText(e, textArea); + handleHardBreak(e, textArea); } export function compositionStartNoteText() { diff --git a/app/assets/javascripts/pages/projects/commit/show/index.js b/app/assets/javascripts/pages/projects/commit/show/index.js index 667fd89af55..3a293956089 100644 --- a/app/assets/javascripts/pages/projects/commit/show/index.js +++ b/app/assets/javascripts/pages/projects/commit/show/index.js @@ -20,7 +20,9 @@ import { initReportAbuse } from '~/projects/report_abuse'; const hasPerfBar = document.querySelector('.with-performance-bar'); const performanceHeight = hasPerfBar ? 35 : 0; -initDiffStatsDropdown(document.querySelector('.navbar-gitlab').offsetHeight + performanceHeight); +initDiffStatsDropdown( + (document.querySelector('.navbar-gitlab')?.offsetHeight ?? 0) + performanceHeight, +); new ZenMode(); new ShortcutsNavigation(); diff --git a/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue b/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue index fa96eee5f92..35e65698cd2 100644 --- a/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue +++ b/app/assets/javascripts/projects/settings/repository/branch_rules/components/branch_rule.vue @@ -70,7 +70,7 @@ export default { return this.approvalDetails.length; }, detailsPath() { - return `${this.branchRulesPath}?branch=${this.name}`; + return `${this.branchRulesPath}?branch=${encodeURIComponent(this.name)}`; }, statusChecksText() { return sprintf(this.$options.i18n.statusChecks, { diff --git a/app/assets/javascripts/sidebar/components/participants/participants.vue b/app/assets/javascripts/sidebar/components/participants/participants.vue index 2f25c2fd4b0..b8f659ac56f 100644 --- a/app/assets/javascripts/sidebar/components/participants/participants.vue +++ b/app/assets/javascripts/sidebar/components/participants/participants.vue @@ -99,7 +99,7 @@ export default { > - + {{ participantCount }} @@ -133,7 +133,6 @@ export default { {{ toggleLabel }} diff --git a/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue b/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue new file mode 100644 index 00000000000..2a805c86a3b --- /dev/null +++ b/app/assets/javascripts/super_sidebar/components/sidebar_portal.vue @@ -0,0 +1,30 @@ + + + diff --git a/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue b/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue new file mode 100644 index 00000000000..1154a4357e0 --- /dev/null +++ b/app/assets/javascripts/super_sidebar/components/sidebar_portal_target.vue @@ -0,0 +1,17 @@ + + + diff --git a/app/assets/javascripts/super_sidebar/components/super_sidebar.vue b/app/assets/javascripts/super_sidebar/components/super_sidebar.vue index b7a70825b62..2da71c029fd 100644 --- a/app/assets/javascripts/super_sidebar/components/super_sidebar.vue +++ b/app/assets/javascripts/super_sidebar/components/super_sidebar.vue @@ -1,6 +1,7 @@