From bf0d6692fc4c16205cc49b8b87b7b7e0daa97c63 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 18 Nov 2021 15:10:19 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/qa-report.gitlab-ci.yml | 15 - .gitlab/ci/rules.gitlab-ci.yml | 5 - .../issue_templates/Feature Flag Roll Out.md | 5 +- .rubocop_manual_todo.yml | 2 - .../javascripts/experimentation/utils.js | 2 +- .../components/invite_members_modal.vue | 29 +- .../javascripts/invite_members/constants.js | 2 + .../learn_gitlab/components/learn_gitlab.vue | 53 +- .../components/learn_gitlab_section_link.vue | 49 +- .../projects/learn_gitlab/index/index.js | 5 +- .../projects/learn_gitlab_controller.rb | 10 + app/helpers/invite_members_helper.rb | 10 +- app/helpers/learn_gitlab_helper.rb | 7 +- app/models/u2f_registration.rb | 6 +- app/models/user.rb | 8 +- .../projects/learn_gitlab/index.html.haml | 3 +- .../linear_user_ci_owned_runners.yml | 8 + .../invite_for_help_continuous_onboarding.yml | 8 + .../package_information/deprecated_os.md | 84 +-- .../package_information/supported_os.md | 89 +++ doc/administration/pages/index.md | 2 +- .../gitlab_rails_cheat_sheet.md | 2 +- doc/install/requirements.md | 2 +- doc/integration/akismet.md | 8 +- doc/subscriptions/gitlab_com/index.md | 72 ++- doc/update/index.md | 9 +- doc/update/package/index.md | 2 +- doc/update/plan_your_upgrade.md | 4 +- .../terraform_module_registry/index.md | 10 +- doc/user/project/import/index.md | 2 +- locale/gitlab.pot | 3 + package.json | 4 +- .../npm/npm_instance_level_spec.rb | 2 +- .../npm/npm_project_level_spec.rb | 6 +- .../projects/learn_gitlab_controller_spec.rb | 9 +- spec/frontend/experimentation/utils_spec.js | 13 +- .../components/invite_members_modal_spec.js | 55 +- .../__snapshots__/learn_gitlab_spec.js.snap | 212 ++++--- .../learn_gitlab_section_link_spec.js | 56 ++ .../components/learn_gitlab_spec.js | 44 +- .../learn_gitlab/components/mock_data.js | 4 + spec/helpers/invite_members_helper_spec.rb | 125 ++-- spec/helpers/learn_gitlab_helper_spec.rb | 6 + .../loggers/exception_logger_spec.rb | 4 +- spec/models/u2f_registration_spec.rb | 19 +- spec/models/user_spec.rb | 566 +++++++++--------- spec/requests/api/import_github_spec.rb | 6 +- spec/services/groups/create_service_spec.rb | 10 + yarn.lock | 16 +- 49 files changed, 997 insertions(+), 676 deletions(-) delete mode 100644 .gitlab/ci/qa-report.gitlab-ci.yml create mode 100644 config/feature_flags/development/linear_user_ci_owned_runners.yml create mode 100644 config/feature_flags/experiment/invite_for_help_continuous_onboarding.yml create mode 100644 doc/administration/package_information/supported_os.md diff --git a/.gitlab/ci/qa-report.gitlab-ci.yml b/.gitlab/ci/qa-report.gitlab-ci.yml deleted file mode 100644 index 61cbcfd58da..00000000000 --- a/.gitlab/ci/qa-report.gitlab-ci.yml +++ /dev/null @@ -1,15 +0,0 @@ -test-reliability-report: - extends: - - .qa:rules:reliable-reports:schedule - image: - name: ${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_DEFAULT_BRANCH} - entrypoint: [""] - before_script: - - cd /home/gitlab/qa - script: - - echo "Generate report for 'staging-full' runs" - - bundle exec rake "reliable_spec_report[staging-full,30,true]" - - bundle exec rake "unreliable_spec_report[staging-full,30,true]" - - echo "Generate report for 'package-and-qa' runs" - - bundle exec rake "reliable_spec_report[package-and-qa,30,true]" - - bundle exec rake "unreliable_spec_report[package-and-qa,30,true]" diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 65397bd76fe..271db50302f 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -766,11 +766,6 @@ changes: *feature-flag-development-config-patterns allow_failure: true -.qa:rules:reliable-reports:schedule: - rules: - - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $QA_RELIABLE_REPORT == "true"' - allow_failure: true - ############### # Rails rules # ############### diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md index bc1a23729e2..86f356daf90 100644 --- a/.gitlab/issue_templates/Feature Flag Roll Out.md +++ b/.gitlab/issue_templates/Feature Flag Roll Out.md @@ -94,10 +94,7 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s ### Global rollout on production -For visibility, all `/chatops` commands that target production should be: - -- Executed in the `#production` slack channel. -- Cross-posted (with the command results) to the responsible team's slack channel (`#g_TEAM_NAME`). +For visibility, all `/chatops` commands that target production should be executed in the `#production` slack channel and cross-posted (with the command results) to the responsible team's slack channel (`#g_TEAM_NAME`). - [ ] [Incrementally roll out](https://docs.gitlab.com/ee/development/feature_flags/controls.html#process) the feature. - If the feature flag in code has [an actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), perform **actor-based** rollout. diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index 6c280736d49..69b25c6adf2 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -2594,7 +2594,6 @@ Style/OpenStructUse: - 'spec/lib/gitlab/database/migrations/runner_spec.rb' - 'spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb' - 'spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb' - - 'spec/lib/gitlab/grape_logging/loggers/exception_logger_spec.rb' - 'spec/lib/gitlab/graphql/pagination/keyset/connection_generic_keyset_spec.rb' - 'spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb' - 'spec/lib/gitlab/legacy_github_import/project_creator_spec.rb' @@ -2604,7 +2603,6 @@ Style/OpenStructUse: - 'spec/models/design_management/design_at_version_spec.rb' - 'spec/models/user_spec.rb' - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb' - - 'spec/requests/api/import_github_spec.rb' - 'spec/services/packages/nuget/metadata_extraction_service_spec.rb' - 'spec/services/projects/import_service_spec.rb' - 'spec/services/system_note_service_spec.rb' diff --git a/app/assets/javascripts/experimentation/utils.js b/app/assets/javascripts/experimentation/utils.js index 1dbdf3bf17d..7f2a7ff8e40 100644 --- a/app/assets/javascripts/experimentation/utils.js +++ b/app/assets/javascripts/experimentation/utils.js @@ -30,7 +30,7 @@ export function getAllExperimentContexts() { return Object.values(getExperimentsData()).map(createGitlabExperimentContext); } -export function isExperimentVariant(experimentName, variantName) { +export function isExperimentVariant(experimentName, variantName = CANDIDATE_VARIANT) { return getExperimentData(experimentName)?.variant === variantName; } diff --git a/app/assets/javascripts/invite_members/components/invite_members_modal.vue b/app/assets/javascripts/invite_members/components/invite_members_modal.vue index cf4f434a7a8..a6e747c6b48 100644 --- a/app/assets/javascripts/invite_members/components/invite_members_modal.vue +++ b/app/assets/javascripts/invite_members/components/invite_members_modal.vue @@ -26,6 +26,7 @@ import { MEMBER_AREAS_OF_FOCUS, INVITE_MEMBERS_FOR_TASK, MODAL_LABELS, + LEARN_GITLAB, } from '../constants'; import eventHub from '../event_hub'; import { @@ -200,7 +201,8 @@ export default { }, tasksToBeDoneEnabled() { return ( - getParameterValues('open_modal')[0] === 'invite_members_for_task' && + (getParameterValues('open_modal')[0] === 'invite_members_for_task' || + this.isOnLearnGitlab) && this.tasksToBeDoneOptions.length ); }, @@ -221,11 +223,18 @@ export default { ? this.selectedTaskProject.id : ''; }, + isOnLearnGitlab() { + return this.source === LEARN_GITLAB; + }, }, mounted() { eventHub.$on('openModal', (options) => { this.openModal(options); - this.trackEvent(MEMBER_AREAS_OF_FOCUS.name, MEMBER_AREAS_OF_FOCUS.view); + if (this.isOnLearnGitlab) { + this.trackEvent(INVITE_MEMBERS_FOR_TASK.name, this.source); + } else { + this.trackEvent(MEMBER_AREAS_OF_FOCUS.name, MEMBER_AREAS_OF_FOCUS.view); + } }); if (this.tasksToBeDoneEnabled) { @@ -303,7 +312,7 @@ export default { : Api.groupShareWithGroup.bind(Api); apiShareWithGroup(this.id, this.shareWithGroupPostData(this.groupToBeSharedWith.id)) - .then(this.showToastMessageSuccess) + .then(this.showSuccessMessage) .catch(this.showInvalidFeedbackMessage); }, submitInviteMembers() { @@ -332,7 +341,7 @@ export default { this.trackinviteMembersForTask(); Promise.all(promises) - .then(this.conditionallyShowToastSuccess) + .then(this.conditionallyShowSuccessMessage) .catch(this.showInvalidFeedbackMessage); }, inviteByEmailPostData(usersToInviteByEmail) { @@ -364,11 +373,11 @@ export default { group_access: this.selectedAccessLevel, }; }, - conditionallyShowToastSuccess(response) { + conditionallyShowSuccessMessage(response) { const message = this.unescapeMsg(responseMessageFromSuccess(response)); if (message === '') { - this.showToastMessageSuccess(); + this.showSuccessMessage(); return; } @@ -376,8 +385,12 @@ export default { this.invalidFeedbackMessage = message; this.isLoading = false; }, - showToastMessageSuccess() { - this.$toast.show(this.$options.labels.toastMessageSuccessful, this.toastOptions); + showSuccessMessage() { + if (this.isOnLearnGitlab) { + eventHub.$emit('showSuccessfulInvitationsAlert'); + } else { + this.$toast.show(this.$options.labels.toastMessageSuccessful, this.toastOptions); + } this.closeModal(); }, showInvalidFeedbackMessage(response) { diff --git a/app/assets/javascripts/invite_members/constants.js b/app/assets/javascripts/invite_members/constants.js index 59d4c2f3077..2a4e7041ed1 100644 --- a/app/assets/javascripts/invite_members/constants.js +++ b/app/assets/javascripts/invite_members/constants.js @@ -144,3 +144,5 @@ export const MODAL_LABELS = { headerCloseLabel: HEADER_CLOSE_LABEL, areasOfFocusLabel: AREAS_OF_FOCUS_LABEL, }; + +export const LEARN_GITLAB = 'learn_gitlab'; diff --git a/app/assets/javascripts/pages/projects/learn_gitlab/components/learn_gitlab.vue b/app/assets/javascripts/pages/projects/learn_gitlab/components/learn_gitlab.vue index 95afcb6bda8..42c40cda601 100644 --- a/app/assets/javascripts/pages/projects/learn_gitlab/components/learn_gitlab.vue +++ b/app/assets/javascripts/pages/projects/learn_gitlab/components/learn_gitlab.vue @@ -1,18 +1,21 @@