Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
		
							parent
							
								
									ea3f6d2444
								
							
						
					
					
						commit
						75b46eb33c
					
				|  | @ -971,6 +971,7 @@ Gitlab/NamespacedClass: | |||
|     - 'ee/app/presenters/epic_presenter.rb' | ||||
|     - 'ee/app/presenters/iteration_presenter.rb' | ||||
|     - 'ee/app/presenters/merge_request_approver_presenter.rb' | ||||
|     - 'ee/app/presenters/repository_presenter.rb' | ||||
|     - 'ee/app/presenters/subscription_presenter.rb' | ||||
|     - 'ee/app/presenters/vulnerability_presenter.rb' | ||||
|     - 'ee/app/serializers/audit_event_entity.rb' | ||||
|  |  | |||
|  | @ -1924,8 +1924,8 @@ Layout/ArgumentAlignment: | |||
|     - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_file_template_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_new/add_new_directory_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/add_file_template_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/pipeline_with_image_pull_policy_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb' | ||||
|  |  | |||
|  | @ -151,7 +151,7 @@ Layout/FirstHashElementIndentation: | |||
|     - 'qa/qa/specs/features/api/1_manage/migration/gitlab_migration_release_spec.rb' | ||||
|     - 'qa/qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb' | ||||
|     - 'qa/qa/specs/features/api/5_package/container_registry_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_web_ide_from_diff_tab_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/open_web_ide_from_diff_tab_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb' | ||||
|  |  | |||
|  | @ -3291,12 +3291,11 @@ Layout/LineLength: | |||
|     - 'qa/qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/create_first_file_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/link_to_line_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_fork_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_web_ide_from_diff_tab_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/create_first_file_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/link_to_line_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/open_fork_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/open_web_ide_from_diff_tab_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/review_merge_request_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb' | ||||
|  |  | |||
|  | @ -33,7 +33,7 @@ RSpec/HooksBeforeExamples: | |||
|     - 'qa/qa/specs/features/browser_ui/1_manage/user/follow_user_activity_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/1_manage/user/user_inherited_access_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_fork_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/open_fork_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_enforced_sso_git_access_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_enforced_sso_new_account_spec.rb' | ||||
|  |  | |||
|  | @ -40,8 +40,8 @@ RSpec/InstanceVariable: | |||
|     - 'qa/qa/specs/features/browser_ui/1_manage/login/register_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/add_file_template_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/link_to_line_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/add_file_template_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/link_to_line_in_web_ide_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/api/1_manage/user/minimal_access_user_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/13_secure/license_compliance_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/13_secure/merge_request_license_widget_spec.rb' | ||||
|  |  | |||
|  | @ -1284,7 +1284,6 @@ RSpec/MissingFeatureCategory: | |||
|     - 'ee/spec/models/protected_environments/deploy_access_level_spec.rb' | ||||
|     - 'ee/spec/models/push_rule_spec.rb' | ||||
|     - 'ee/spec/models/remote_mirror_spec.rb' | ||||
|     - 'ee/spec/models/repository_spec.rb' | ||||
|     - 'ee/spec/models/requirements_management/requirement_spec.rb' | ||||
|     - 'ee/spec/models/saml_group_link_spec.rb' | ||||
|     - 'ee/spec/models/saml_provider_spec.rb' | ||||
|  |  | |||
|  | @ -173,7 +173,7 @@ Style/SymbolProc: | |||
|     - 'qa/qa/runtime/ip_address.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/1_manage/login/register_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/3_create/web_ide_old/review_merge_request_spec.rb' | ||||
|     - 'qa/qa/specs/features/browser_ui/5_package/container_registry/online_garbage_collection_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb' | ||||
|     - 'qa/qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb' | ||||
|  |  | |||
|  | @ -1,19 +1,10 @@ | |||
| <script> | ||||
| import { | ||||
|   GlDropdown, | ||||
|   GlButton, | ||||
|   GlIcon, | ||||
|   GlForm, | ||||
|   GlFormGroup, | ||||
|   GlLink, | ||||
|   GlFormCheckbox, | ||||
| } from '@gitlab/ui'; | ||||
| import { GlDropdown, GlButton, GlIcon, GlForm, GlFormGroup, GlFormCheckbox } from '@gitlab/ui'; | ||||
| import { mapGetters, mapActions } from 'vuex'; | ||||
| import { createAlert } from '~/alert'; | ||||
| import MarkdownField from '~/vue_shared/components/markdown/field.vue'; | ||||
| import { scrollToElement } from '~/lib/utils/common_utils'; | ||||
| import Autosave from '~/autosave'; | ||||
| import { helpPagePath } from '~/helpers/help_page_helper'; | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
|  | @ -22,7 +13,6 @@ export default { | |||
|     GlIcon, | ||||
|     GlForm, | ||||
|     GlFormGroup, | ||||
|     GlLink, | ||||
|     GlFormCheckbox, | ||||
|     MarkdownField, | ||||
|     ApprovalPassword: () => import('ee_component/batch_comments/components/approval_password.vue'), | ||||
|  | @ -102,9 +92,6 @@ export default { | |||
|     }, | ||||
|   }, | ||||
|   restrictedToolbarItems: ['full-screen'], | ||||
|   helpPagePath: helpPagePath('user/project/merge_requests/reviews/index.html', { | ||||
|     anchor: 'submit-a-review', | ||||
|   }), | ||||
| }; | ||||
| </script> | ||||
| 
 | ||||
|  | @ -126,14 +113,6 @@ export default { | |||
|       <gl-form-group label-for="review-note-body" label-class="gl-mb-2"> | ||||
|         <template #label> | ||||
|           {{ __('Summary comment (optional)') }} | ||||
|           <gl-link | ||||
|             :href="$options.helpPagePath" | ||||
|             :aria-label="__('More information')" | ||||
|             target="_blank" | ||||
|             class="gl-ml-2" | ||||
|           > | ||||
|             <gl-icon name="question-o" /> | ||||
|           </gl-link> | ||||
|         </template> | ||||
|         <div class="common-note-form gfm-form"> | ||||
|           <div | ||||
|  |  | |||
|  | @ -28,3 +28,5 @@ module Types | |||
|                                         description: 'Tree of the repository.' | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| Types::RepositoryType.prepend_mod | ||||
|  |  | |||
|  | @ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371084 | |||
| milestone: '15.4' | ||||
| type: development | ||||
| group: group::editor | ||||
| default_enabled: false | ||||
| default_enabled: true | ||||
|  |  | |||
|  | @ -20313,6 +20313,18 @@ Returns [`[String!]`](#string). | |||
| | <a id="repositorybranchnamesoffset"></a>`offset` | [`Int!`](#int) | Number of branch names to skip. | | ||||
| | <a id="repositorybranchnamessearchpattern"></a>`searchPattern` | [`String!`](#string) | Pattern to search for branch names by. | | ||||
| 
 | ||||
| ##### `Repository.codeOwnersPath` | ||||
| 
 | ||||
| Path to CODEOWNERS file in a ref. | ||||
| 
 | ||||
| Returns [`String`](#string). | ||||
| 
 | ||||
| ###### Arguments | ||||
| 
 | ||||
| | Name | Type | Description | | ||||
| | ---- | ---- | ----------- | | ||||
| | <a id="repositorycodeownerspathref"></a>`ref` | [`String`](#string) | Name of the ref. | | ||||
| 
 | ||||
| ##### `Repository.paginatedTree` | ||||
| 
 | ||||
| Paginated tree of the repository. | ||||
|  |  | |||
|  | @ -10,8 +10,8 @@ Automate and interact with GitLab, and integrate with external applications. | |||
| 
 | ||||
| - [Integrations](../integration/index.md) | ||||
| - [Webhooks](../user/project/integrations/webhooks.md) | ||||
| - [Visual Studio Code extension](../user/project/repository/vscode.md) | ||||
| - [REST API](rest/index.md) | ||||
| - [GraphQL API](graphql/index.md) | ||||
| - [Lint `.gitlab-ci.yml`](lint.md) | ||||
| - [GitLab as an OAuth2 provider](oauth2.md) | ||||
| - [OAuth 2.0 identity provider API](oauth2.md) | ||||
| - [GitLab CLI (glab)](../integration/glab/index.md) | ||||
| - [Visual Studio Code extension](../user/project/repository/vscode.md) | ||||
|  |  | |||
|  | @ -43,27 +43,10 @@ If you would like to contribute to GitLab: | |||
|   slowest tests. These tests are good candidates for improving and checking if any of | ||||
|   [best practices](../testing_guide/best_practices.md) | ||||
|   could speed them up. | ||||
| - Consult the [Contribution Flow](#contribution-flow) section to learn the process. | ||||
| 
 | ||||
| ### Contribution flow | ||||
| For a walkthrough of the contribution process, see [Tutorial: Make a GitLab contribution](first_contribution.md). | ||||
| 
 | ||||
| The general flow of contributing to GitLab is: | ||||
| 
 | ||||
| 1. [Read about](https://gitlab.com/gitlab-community/meta) and [request access](https://gitlab.com/gitlab-community/meta#request-access-to-community-forks) | ||||
|    to the GitLab Community forks. In some cases, you will want to set up the | ||||
|    [GitLab Development Kit](https://gitlab.com/gitlab-org/gitlab-development-kit) to | ||||
|    [develop against the GitLab community fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/index.md#develop-in-your-own-gitlab-fork). | ||||
| 1. Create a feature branch and make changes in the [GitLab community fork](https://gitlab.com/gitlab-community/gitlab). | ||||
| 1. When you're ready, [create a new merge request](../../user/project/merge_requests/creating_merge_requests.md). | ||||
| 1. In the merge request's description: | ||||
|    - Ensure you provide complete and accurate information. | ||||
|    - Review the provided checklist. | ||||
| 1. Once you're ready, mark your MR as ready for review with `@gitlab-bot ready`. | ||||
|    - This will add the `~"workflow::ready for review"` label, and then automatically assign a merge request coach as reviewer. | ||||
|    - If you know a relevant reviewer (for example, someone that was involved a related issue), you can also | ||||
|      assign them directly with `@gitlab-bot ready @username`. | ||||
| 
 | ||||
| #### Review process | ||||
| ### Review process | ||||
| 
 | ||||
| When you submit code to GitLab, we really want it to get merged! However, we always review | ||||
| submissions carefully, and this takes time. Code submissions will usually be reviewed by two | ||||
|  | @ -95,7 +78,7 @@ Lastly, keep the following in mind when submitting merge requests: | |||
|   be merged, as well as some guidance. The maintainers will be open to discussion about how to change | ||||
|   the code so it can be approved and merged in the future. | ||||
| 
 | ||||
| #### Getting attention on your merge request | ||||
| ### Getting attention on your merge request | ||||
| 
 | ||||
| GitLab will do its best to review community contributions as quickly as possible. Specially | ||||
| appointed developers review community contributions daily. Look at the | ||||
|  | @ -119,7 +102,7 @@ This [documentation](issue_workflow.md) outlines the current issue workflow: | |||
| - [Technical and UX debt](../labels/index.md#technical-and-ux-debt) | ||||
| - [Technical debt in follow-up issues](issue_workflow.md#technical-debt-in-follow-up-issues) | ||||
| 
 | ||||
| #### Merge requests workflow | ||||
| ### Merge requests workflow | ||||
| 
 | ||||
| This [documentation](merge_request_workflow.md) outlines the current merge request process. | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,61 +55,20 @@ within the MR. | |||
| 
 | ||||
| ## Merge request guidelines for contributors | ||||
| 
 | ||||
| ### Getting started | ||||
| For a walkthrough of the contribution process, see [Tutorial: Make a GitLab contribution](first_contribution.md). | ||||
| 
 | ||||
| Merge requests should be submitted to the appropriate project at GitLab.com, for example | ||||
| [GitLab](https://gitlab.com/gitlab-org/gitlab/-/merge_requests), | ||||
| [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests), or | ||||
| [Omnibus GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests). | ||||
| ### Best practices | ||||
| 
 | ||||
| To start developing GitLab locally, download the [GitLab Development Kit](https://gitlab.com/gitlab-org/gitlab-development-kit) | ||||
| and see the [Development section](../../index.md) for the required guidelines. | ||||
| 
 | ||||
| NOTE: | ||||
| Consider placing your code behind a feature flag if you think it might affect production availability. | ||||
| Not sure? Read [When to use feature flags](https://about.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/#when-to-use-feature-flags). | ||||
| 
 | ||||
| If the change is non-trivial, we encourage you to | ||||
| start a discussion with [a product manager or a member of the team](https://about.gitlab.com/handbook/product/categories/). | ||||
| You can do | ||||
| this by tagging them in an MR before submitting the code for review. Talking | ||||
| - If the change is non-trivial, we encourage you to start a discussion with | ||||
|   [a product manager or a member of the team](https://about.gitlab.com/handbook/product/categories/). | ||||
|   You can do this by tagging them in an MR before submitting the code for review. Talking | ||||
|   to team members can be helpful when making design decisions. Communicating the | ||||
|   intent behind your changes can also help expedite merge request reviews. | ||||
| 
 | ||||
| ### Creating a merge request | ||||
| - Consider placing your code behind a feature flag if you think it might affect production availability. | ||||
|   Not sure? Read [When to use feature flags](https://about.gitlab.com/handbook/product-development-flow/feature-flag-lifecycle/#when-to-use-feature-flags). | ||||
| 
 | ||||
| To create a merge request: | ||||
| 
 | ||||
| 1. [Read about](https://gitlab.com/gitlab-community/meta) and [request access](https://gitlab.com/gitlab-community/meta#request-access-to-community-forks) | ||||
|    to the GitLab Community forks. In some cases, you will want to set up the | ||||
|    [GitLab Development Kit](https://gitlab.com/gitlab-org/gitlab-development-kit) to | ||||
|    [develop against the GitLab community fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/index.md#develop-in-your-own-gitlab-fork). | ||||
| 1. Create a feature branch in the [GitLab community fork](https://gitlab.com/gitlab-community/gitlab) | ||||
|    (don't work off the [default branch](../../user/project/repository/branches/default.md)). | ||||
| 1. Follow the [commit messages guidelines](#commit-messages-guidelines). | ||||
| 1. If you have multiple commits, combine them into a few logically organized commits. | ||||
| 1. Push the commits to your working branch in the fork. | ||||
| 1. Submit a merge request (MR) against the default branch of the upstream project. | ||||
| 1. The MR title should describe the change you want to make. | ||||
| 1. The MR description should give a reason for your change. | ||||
|    1. If you are contributing code, fill in the description according to the default | ||||
|       template already provided in the "Description" field. | ||||
|    1. If you are contributing documentation, choose `Documentation` from the | ||||
|       "Choose a template" menu and fill in the description according to the template. | ||||
|    1. Use the syntax `Solves #XXX`, `Closes #XXX`, or `Refs #XXX` to mention the issues your merge | ||||
|       request addresses. Referenced issues do not [close automatically](../../user/project/issues/managing_issues.md#closing-issues-automatically). | ||||
|       You must close them manually once the merge request is merged. | ||||
| 1. If you're allowed to, set a relevant milestone and [labels](issue_workflow.md). | ||||
|    MR labels should generally match the corresponding issue (if there is one). | ||||
|    The group label should reflect the group that executed or coached the work, | ||||
|    not necessarily the group that owns the feature. | ||||
| 1. Read and adhere to | ||||
|    [The responsibility of the merge request author](../code_review.md#the-responsibility-of-the-merge-request-author). | ||||
| 1. Read and follow | ||||
|    [Having your merge request reviewed](../code_review.md#having-your-merge-request-reviewed). | ||||
| 1. Make sure the merge request meets the [Definition of done](#definition-of-done). | ||||
| 
 | ||||
| If you would like quick feedback on your merge request feel free to mention someone | ||||
| - If you would like quick feedback on your merge request feel free to mention someone | ||||
|   from the [core team](https://about.gitlab.com/community/core-team/) or one of the | ||||
|   [merge request coaches](https://about.gitlab.com/company/team/). When having your code reviewed | ||||
|   and when reviewing merge requests, please keep the [code review guidelines](../code_review.md) | ||||
|  | @ -381,3 +340,8 @@ issue) that are incremental improvements, such as: | |||
| 
 | ||||
| Tag a merge request with ~"Stuff that should Just Work" to track work in | ||||
| this area. | ||||
| 
 | ||||
| ## Related topics | ||||
| 
 | ||||
| - [The responsibility of the merge request author](../code_review.md#the-responsibility-of-the-merge-request-author) | ||||
| - [Having your merge request reviewed](../code_review.md#having-your-merge-request-reviewed) | ||||
|  |  | |||
|  | @ -13,8 +13,8 @@ Learn how to contribute to the development of the GitLab product. | |||
| This content is intended for GitLab team members as well as members of the wider community. | ||||
| 
 | ||||
| - [Contribute to GitLab development](contributing/index.md) | ||||
| - [Contribute to Omnibus development](https://docs.gitlab.com/omnibus/development/) | ||||
| - [Contribute to GitLab Pages development](pages/index.md) | ||||
| - [Contribute to GitLab Runner development](https://docs.gitlab.com/runner/development/) | ||||
| - [Contribute to Helm chart development](https://docs.gitlab.com/charts/development/) | ||||
| - [Contribute to GitLab Pages development](pages/index.md) | ||||
| - [Contribute to GitLab distribution development](distribution/index.md) | ||||
| - [Contribute to the GitLab Design System](https://design.gitlab.com/get-started/contributing) | ||||
| - [Contribute to the GitLab documentation](documentation/index.md) | ||||
|  |  | |||
|  | @ -187,16 +187,15 @@ Open an issue if you notice that using absolute times breaks a layout. | |||
| 
 | ||||
| ## Web IDE | ||||
| 
 | ||||
| > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/370139) in GitLab 15.7 [with a flag](../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/370139) in GitLab 15.7 [with a flag](../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/371084) in GitLab 15.7. | ||||
| > - [Enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741) in GitLab 15.11. | ||||
| 
 | ||||
| FLAG: | ||||
| On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. | ||||
| On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. | ||||
| 
 | ||||
| The [Web IDE Beta](../project/web_ide_beta/index.md) is | ||||
| the default editing environment when the `vscode_web_ide` feature | ||||
| flag is enabled. | ||||
| 
 | ||||
| To stop using the Web IDE Beta: | ||||
| the default editing environment. To stop using the Web IDE Beta: | ||||
| 
 | ||||
| 1. In the **Web IDE** section, select the **Opt out of the Web IDE Beta** checkbox. | ||||
| 1. Select **Save changes**. | ||||
|  |  | |||
|  | @ -58,21 +58,11 @@ GitLab shows the Code Owners at the top of the page. | |||
| ## Set up Code Owners | ||||
| 
 | ||||
| 1. Create a `CODEOWNERS` file in your [preferred location](#code-owners-file). | ||||
| 1. In the file, enter text that follows one of these patterns: | ||||
| 
 | ||||
|    ```plaintext | ||||
|    # Code Owners for a file | ||||
|    filename @username1 @username2 | ||||
| 
 | ||||
|    # Code Owners for a directory | ||||
|    directoryname/ @username1 @username2 | ||||
| 
 | ||||
|    # All group members as Code Owners for a file | ||||
|    filename @groupname | ||||
| 
 | ||||
|    # All group members as Code Owners for a directory | ||||
|    directoryname/ @groupname | ||||
|    ``` | ||||
| 1. Define some rules in the file following the [Code Owners syntax reference](#code-owners-syntax-reference). | ||||
|    Some suggestions: | ||||
|    - Configure [All eligible approvers](merge_requests/approvals/rules.md#code-owners-as-eligible-approvers) approval rule. | ||||
|    - [Require Code Owner approval](protected_branches.md#require-code-owner-approval-on-a-protected-branch) on a protected branch. | ||||
| 1. Commit your changes, and push them up to GitLab. | ||||
| 
 | ||||
| ### Code Owners file | ||||
| 
 | ||||
|  | @ -88,11 +78,6 @@ all others are ignored: | |||
| 1. In the `docs` directory: `./docs/CODEOWNERS`. | ||||
| 1. In the `.gitlab` directory: `./.gitlab/CODEOWNERS`. | ||||
| 
 | ||||
| ### Make Code Owners eligible approvers or require their approval of MRs | ||||
| 
 | ||||
| - [Add Code Owners as merge request approvers](merge_requests/approvals/rules.md#code-owners-as-eligible-approvers). | ||||
| - Set up [Code Owner approval on a protected branch](protected_branches.md#require-code-owner-approval-on-a-protected-branch). | ||||
| 
 | ||||
| ### Groups as Code Owners | ||||
| 
 | ||||
| > Group and subgroup hierarchy support was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/32432) in GitLab 13.0. | ||||
|  | @ -429,6 +414,203 @@ data-models/ @data-science-team | |||
| README.md  @docs | ||||
| ``` | ||||
| 
 | ||||
| ## Code Owners syntax reference | ||||
| 
 | ||||
| ### Comments | ||||
| 
 | ||||
| Lines beginning with `#` are ignored: | ||||
| 
 | ||||
| ```codeowners | ||||
| # This is a comment | ||||
| ``` | ||||
| 
 | ||||
| ### Sections | ||||
| 
 | ||||
| Sections are groups of entries. A section begins with a section heading in square brackets, followed by the entries. | ||||
| 
 | ||||
| ```codeowners | ||||
| [Section name] | ||||
| /path/of/protected/file.rb @username | ||||
| /path/of/protected/dir/ @group | ||||
| ``` | ||||
| 
 | ||||
| ### Section headings | ||||
| 
 | ||||
| Section headings must always have a name. They can also be made optional, or require a number of approvals. A list of default owners can be added to the section heading line. | ||||
| 
 | ||||
| ```codeowners | ||||
| # Required section | ||||
| [Section name] | ||||
| 
 | ||||
| # Optional section | ||||
| ^[Section name] | ||||
| 
 | ||||
| # Section requiring 5 approvals | ||||
| [Section name][5] | ||||
| 
 | ||||
| # Section with @username as default owner | ||||
| [Section name] @username | ||||
| 
 | ||||
| # Section with @group and @subgroup as default owners and requiring 2 approvals | ||||
| [Section name][2] @group @subgroup | ||||
| ``` | ||||
| 
 | ||||
| ### Section names | ||||
| 
 | ||||
| Sections names are defined between square brackets. | ||||
| Section names are not case-sensitive. [Sections with duplicate names are combined](#sections-with-duplicate-names). | ||||
| 
 | ||||
| ```codeowners | ||||
| [Section name] | ||||
| ``` | ||||
| 
 | ||||
| ### Required sections | ||||
| 
 | ||||
| Required sections do not include `^` before the [section name](#section-names). | ||||
| 
 | ||||
| ```codeowners | ||||
| [Required section] | ||||
| ``` | ||||
| 
 | ||||
| ### Optional sections | ||||
| 
 | ||||
| Optional sections include a `^` before the [section name](#section-names). | ||||
| 
 | ||||
| ```codeowners | ||||
| ^[Optional section] | ||||
| ``` | ||||
| 
 | ||||
| ### Sections requiring multiple approvals | ||||
| 
 | ||||
| Sections requiring multiple approvals include the number of approvals in square brackets after the [section name](#section-names). | ||||
| 
 | ||||
| ```codeowners | ||||
| [Section requiring 5 approvals][5] | ||||
| ``` | ||||
| 
 | ||||
| NOTE: | ||||
| Optional sections ignore the number of approvals required. | ||||
| 
 | ||||
| ### Sections with default owners | ||||
| 
 | ||||
| You can define a default owner for the entries in a section by appending the owners to the [section heading](#section-headings). | ||||
| 
 | ||||
| ```codeowners | ||||
| # Section with @username as default owner | ||||
| [Section name] @username | ||||
| 
 | ||||
| # Section with @group and @subgroup as default owners and requiring 2 approvals | ||||
| [Section name][2] @group @subgroup | ||||
| ``` | ||||
| 
 | ||||
| ### Code Owner entries | ||||
| 
 | ||||
| Each Code Owner entry includes a path followed by one or more owners. | ||||
| 
 | ||||
| ```codeowners | ||||
| README.md @username1 | ||||
| ``` | ||||
| 
 | ||||
| NOTE: | ||||
| If an entry is duplicated in a section, [the last entry is used from each section.](#define-more-specific-owners-for-more-specifically-defined-files-or-directories) | ||||
| 
 | ||||
| ### Relative paths | ||||
| 
 | ||||
| If a path does not start with a `/`, the path is treated as if it starts with a [globstar](#globstar-paths). | ||||
| `README.md` is treated the same way as `/**/README.md` | ||||
| 
 | ||||
| ```codeowners | ||||
| # This will match /README.md, /internal/README.md, /app/lib/README.md | ||||
| README.md @username | ||||
| 
 | ||||
| # This will match /internal/README.md, /docs/internal/README.md, /docs/api/internal/README.md | ||||
| internal/README.md | ||||
| ``` | ||||
| 
 | ||||
| ### Absolute paths | ||||
| 
 | ||||
| If a path starts with a `/` it matches the root of the repository. | ||||
| 
 | ||||
| ```codeowners | ||||
| # Matches only the file named `README.md` in the root of the repository. | ||||
| /README.md | ||||
| 
 | ||||
| # Matches only the file named `README.md` inside the `/docs` directory. | ||||
| /docs/README.md | ||||
| ``` | ||||
| 
 | ||||
| ### Directory paths | ||||
| 
 | ||||
| If a path ends with `/`, the path matches any file in the directory. | ||||
| 
 | ||||
| ```codeowners | ||||
| # This is the same as `/docs/**/*` | ||||
| /docs/ | ||||
| ``` | ||||
| 
 | ||||
| ### Wildcard paths | ||||
| 
 | ||||
| Wildcards can be used to match one of more characters of a path. | ||||
| 
 | ||||
| ```codeowners | ||||
| # Any markdown files in the docs directory | ||||
| /docs/*.md @username | ||||
| 
 | ||||
| # /docs/index file of any filetype | ||||
| # For example: /docs/index.md, /docs/index.html, /docs/index.xml | ||||
| /docs/index.* @username | ||||
| 
 | ||||
| # Any file in the docs directory with 'spec' in the name. | ||||
| # For example: /docs/qa_specs.rb, /docs/spec_helpers.rb, /docs/runtime.spec | ||||
| /docs/*spec* @username | ||||
| 
 | ||||
| # README.md files one level deep within the docs directory | ||||
| # For example: /docs/api/README.md | ||||
| /docs/*/README.md @username | ||||
| ``` | ||||
| 
 | ||||
| ### Globstar paths | ||||
| 
 | ||||
| Globstars (`**`) can be used to match zero or more directories and subdirectories. | ||||
| 
 | ||||
| ```codeowners | ||||
| # This will match /docs/index.md, /docs/api/index.md, /docs/api/graphql/index.md | ||||
| /docs/**/index.md | ||||
| ``` | ||||
| 
 | ||||
| ### Entry owners | ||||
| 
 | ||||
| Entries must be followed by one or more owner, these can be groups, subgroups, | ||||
| and users. Order of owners is not important. | ||||
| 
 | ||||
| ```codeowners | ||||
| /path/to/entry.rb @group | ||||
| /path/to/entry.rb @group/subgroup | ||||
| /path/to/entry.rb @user | ||||
| /path/to/entry.rb @group @group/subgroup @user | ||||
| ``` | ||||
| 
 | ||||
| ### Groups as entry owners | ||||
| 
 | ||||
| Groups and subgroups can be owners of an entry. | ||||
| Each entry can be owned by [one or more owners](#entry-owners). | ||||
| For more details see the [Groups as Code Owners section](#groups-as-code-owners). | ||||
| 
 | ||||
| ```codeowners | ||||
| /path/to/entry.rb @group | ||||
| /path/to/entry.rb @group/subgroup | ||||
| /path/to/entry.rb @group @group/subgroup | ||||
| ``` | ||||
| 
 | ||||
| ### Users as entry owners | ||||
| 
 | ||||
| Users can be owners of an entry. Each entry can be owned by [one or more owners](#entry-owners). | ||||
| 
 | ||||
| ```codeowners | ||||
| /path/to/entry.rb @username1 | ||||
| /path/to/entry.rb @username1 @username2 | ||||
| ``` | ||||
| 
 | ||||
| ## Technical Resources | ||||
| 
 | ||||
| [Code Owners development guidelines](../../../ee/development/code_owners/index.md) | ||||
|  |  | |||
|  | @ -6,10 +6,12 @@ info: To determine the technical writer assigned to the Stage/Group associated w | |||
| 
 | ||||
| # Remote development **(FREE)** | ||||
| 
 | ||||
| > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95169) in GitLab 15.4 [with a flag](../../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95169) in GitLab 15.4 [with a flag](../../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/371084) in GitLab 15.7. | ||||
| > - [Enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741) in GitLab 15.11. | ||||
| 
 | ||||
| FLAG: | ||||
| On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. The feature is not ready for production use. | ||||
| On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. The feature is not ready for production use. | ||||
| 
 | ||||
| WARNING: | ||||
| This feature is in [Alpha](../../../policy/alpha-beta-support.md#alpha-features) and subject to change without notice. | ||||
|  |  | |||
|  | @ -6,10 +6,12 @@ info: To determine the technical writer assigned to the Stage/Group associated w | |||
| 
 | ||||
| # Web IDE Beta **(FREE)** | ||||
| 
 | ||||
| > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95169) in GitLab 15.7 [with a flag](../../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95169) in GitLab 15.7 [with a flag](../../../administration/feature_flags.md) named `vscode_web_ide`. Disabled by default. | ||||
| > - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/371084) in GitLab 15.7. | ||||
| > - [Enabled on self-managed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741) in GitLab 15.11. | ||||
| 
 | ||||
| FLAG: | ||||
| On self-managed GitLab, by default this feature is not available. To make it available, ask an administrator to [enable the feature flag](../../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. The feature is not ready for production use. | ||||
| On self-managed GitLab, by default this feature is available. To hide the feature, ask an administrator to [disable the feature flag](../../../administration/feature_flags.md) named `vscode_web_ide`. On GitLab.com, this feature is available. | ||||
| 
 | ||||
| As announced in [this blog post](https://about.gitlab.com/blog/2022/05/23/the-future-of-the-gitlab-web-ide/), | ||||
| the current implementation of the [Web IDE](../web_ide/index.md) is being replaced | ||||
|  | @ -18,15 +20,6 @@ development. For updates, see [this epic](https://gitlab.com/groups/gitlab-org/- | |||
| 
 | ||||
| To pair the Web IDE Beta with a Remote Development environment, see [Remote Development](../remote_development/index.md). | ||||
| 
 | ||||
| ## Enable the Web IDE Beta | ||||
| 
 | ||||
| To use the Web IDE Beta on a self-managed GitLab instance, | ||||
| ensure that the `vscode_web_ide` feature flag | ||||
| [is enabled](../../../administration/feature_flags.md). | ||||
| 
 | ||||
| On GitLab.com, this feature is available by default. However, you can | ||||
| [stop using it if you choose](#stop-using-the-web-ide-beta). | ||||
| 
 | ||||
| ## Use the Web IDE Beta | ||||
| 
 | ||||
| To open the Web IDE Beta from anywhere in the UI: | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ module Gitlab | |||
|     end | ||||
| 
 | ||||
|     def self.primary_logger | ||||
|       Gitlab::AppTextLogger | ||||
|       Gitlab::AppJsonLogger | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -129,7 +129,7 @@ module Gitlab | |||
|       end | ||||
| 
 | ||||
|       def load_yaml | ||||
|         @yaml ||= YAML.load_file(config_file)[rails_env].deep_symbolize_keys | ||||
|         @yaml ||= YAML.safe_load_file(config_file, aliases: true)[rails_env].deep_symbolize_keys | ||||
|       end | ||||
| 
 | ||||
|       def application_secrets_file | ||||
|  |  | |||
|  | @ -48739,6 +48739,9 @@ msgstr "" | |||
| msgid "Vulnerability|Evidence" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Vulnerability|Evidence:" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Vulnerability|External Security Report" | ||||
| msgstr "" | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,8 +1,7 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|   RSpec.describe 'Create', product_group: :editor do | ||||
|     describe 'Add a directory in Web IDE' do | ||||
|       let(:project) do | ||||
|         Resource::Project.fabricate_via_api! do |project| | ||||
|  | @ -30,23 +29,18 @@ module QA | |||
|                 } | ||||
|               ]) | ||||
|           end | ||||
| 
 | ||||
|           project.visit! | ||||
|         end | ||||
| 
 | ||||
|         it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/386760' do | ||||
|           Page::Project::Show.perform(&:open_web_ide!) | ||||
|           Page::Project::WebIDE::VSCode.perform do |ide| | ||||
|             ide.wait_for_ide_to_load | ||||
|             ide.create_new_folder(directory_name) | ||||
|             ide.within_vscode_editor do | ||||
|               expect(page).to have_content('A file or folder first_directory already exists at this location.') | ||||
|             end | ||||
| 
 | ||||
|         it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347733' do | ||||
|           Page::Project::WebIDE::Edit.perform do |ide| | ||||
|             # Support::Waiter.wait_until(sleep_interval: 2, max_duration: 60, reload_page: page, | ||||
|             # retry_on_exception: true) do | ||||
|             #   expect(ide).to have_element(:commit_mode_tab) | ||||
|             # end | ||||
|             ide.wait_until_ide_loads | ||||
|             ide.add_directory(directory_name) | ||||
|           end | ||||
| 
 | ||||
|           expect(page).to have_content('The name "first_directory" is already taken in this directory.') | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|  | @ -57,18 +51,19 @@ module QA | |||
|           Page::Project::Show.perform(&:open_web_ide!) | ||||
|         end | ||||
| 
 | ||||
|         it 'shows in the tree view but cannot be committed', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347732' do | ||||
|           Page::Project::WebIDE::Edit.perform do |ide| | ||||
|             ide.wait_until_ide_loads | ||||
|             ide.add_directory(directory_name) | ||||
| 
 | ||||
|             expect(ide).to have_file(directory_name) | ||||
|             expect(ide).to have_folder_icon(directory_name) | ||||
|             expect(ide).not_to have_file_addition_icon(directory_name) | ||||
| 
 | ||||
|             ide.switch_to_commit_tab | ||||
| 
 | ||||
|             expect(ide).not_to have_file_to_commit(directory_name) | ||||
|         it 'shows successfully but not able to be committed', | ||||
|           testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/386761', | ||||
|           quarantine: { | ||||
|             type: :stale, | ||||
|             issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/399544' | ||||
|           } do | ||||
|           Page::Project::WebIDE::VSCode.perform do |ide| | ||||
|             ide.wait_for_ide_to_load | ||||
|             ide.create_new_folder(directory_name) | ||||
|             ide.commit_and_push(directory_name) | ||||
|             ide.within_vscode_editor do | ||||
|               expect(page).to have_content('No changes found. Not able to commit.') | ||||
|             end | ||||
|           end | ||||
|         end | ||||
|       end | ||||
|  |  | |||
|  | @ -1,77 +0,0 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| module QA | ||||
|   RSpec.describe 'Create', feature_flag: { name: 'vscode_web_ide', scope: :global }, product_group: :editor do | ||||
|     describe 'Add a directory in Web IDE' do | ||||
|       let(:project) do | ||||
|         Resource::Project.fabricate_via_api! do |project| | ||||
|           project.name = 'add-directory-project' | ||||
|           project.initialize_with_readme = true | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         Runtime::Feature.enable(:vscode_web_ide) | ||||
|         Flow::Login.sign_in | ||||
|         project.visit! | ||||
|       end | ||||
| 
 | ||||
|       after do | ||||
|         Runtime::Feature.disable(:vscode_web_ide) | ||||
|       end | ||||
| 
 | ||||
|       context 'when a directory with the same name already exists' do | ||||
|         let(:directory_name) { 'first_directory' } | ||||
| 
 | ||||
|         before do | ||||
|           Resource::Repository::Commit.fabricate_via_api! do |commit| | ||||
|             commit.project = project | ||||
|             commit.add_files( | ||||
|               [ | ||||
|                 { | ||||
|                   file_path: 'first_directory/test_file.txt', | ||||
|                   content: "Test file content" | ||||
|                 } | ||||
|               ]) | ||||
|           end | ||||
|           project.visit! | ||||
|         end | ||||
| 
 | ||||
|         it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/386760' do | ||||
|           Page::Project::Show.perform(&:open_web_ide!) | ||||
|           Page::Project::WebIDE::VSCode.perform do |ide| | ||||
|             ide.wait_for_ide_to_load | ||||
|             ide.create_new_folder(directory_name) | ||||
|             ide.within_vscode_editor do | ||||
|               expect(page).to have_content('A file or folder first_directory already exists at this location.') | ||||
|             end | ||||
|           end | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context 'when user adds a new empty directory' do | ||||
|         let(:directory_name) { 'new_empty_directory' } | ||||
| 
 | ||||
|         before do | ||||
|           Page::Project::Show.perform(&:open_web_ide!) | ||||
|         end | ||||
| 
 | ||||
|         it 'shows successfully but not able to be committed', | ||||
|           testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/386761', | ||||
|           quarantine: { | ||||
|             type: :stale, | ||||
|             issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/399544' | ||||
|           } do | ||||
|           Page::Project::WebIDE::VSCode.perform do |ide| | ||||
|             ide.wait_for_ide_to_load | ||||
|             ide.create_new_folder(directory_name) | ||||
|             ide.commit_and_push(directory_name) | ||||
|             ide.within_vscode_editor do | ||||
|               expect(page).to have_content('No changes found. Not able to commit.') | ||||
|             end | ||||
|           end | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Web IDE file templates' do | ||||
|       include Runtime::Fixtures | ||||
| 
 | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'First file using Web IDE' do | ||||
|       let(:project) do | ||||
|         Resource::Project.fabricate_via_api! do |project| | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Link to line in Web IDE' do | ||||
|       let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) } | ||||
|       let(:project) do | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Open Web IDE from Diff Tab' do | ||||
|       files = [ | ||||
|         { | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Review a merge request in Web IDE' do | ||||
|       let(:new_file) { 'awesome_new_file.txt' } | ||||
|       let(:original_text) { 'Text' } | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, except: { job: 'review-qa-*' }, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Git Server Hooks' do | ||||
|       let(:file_path) { File.join(Runtime::Path.fixtures_path, 'web_ide', 'README.md') } | ||||
| 
 | ||||
|  | @ -1,8 +1,12 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # TODO: remove this test when 'vscode_web_ide' feature flag is default enabled | ||||
| # TODO: remove this test when coverage is replaced or deemed irrelevant | ||||
| module QA | ||||
|   RSpec.describe 'Create', :skip_live_env, product_group: :editor do | ||||
|     before do | ||||
|       skip("Skipped but kept as reference. https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115741#note_1330720944") | ||||
|     end | ||||
| 
 | ||||
|     describe 'Upload a file in Web IDE' do | ||||
|       let(:file_path) { File.join(Runtime::Path.fixtures_path, 'web_ide', file_name) } | ||||
| 
 | ||||
|  | @ -2,11 +2,12 @@ | |||
| 
 | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| RSpec.describe Gitlab::AppLogger do | ||||
| RSpec.describe Gitlab::AppLogger, feature_category: :shared do | ||||
|   subject { described_class } | ||||
| 
 | ||||
|   it 'logs info to only the AppJsonLogger when unstructured logs are disabled' do | ||||
|     expect_any_instance_of(Gitlab::AppTextLogger).not_to receive(:info).and_call_original | ||||
|   specify { expect(described_class.primary_logger).to be Gitlab::AppJsonLogger } | ||||
| 
 | ||||
|   it 'logs to AppJsonLogger' do | ||||
|     expect_any_instance_of(Gitlab::AppJsonLogger).to receive(:info).and_call_original | ||||
| 
 | ||||
|     subject.info('Hello World!') | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue