Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-01-05 09:13:24 +00:00
parent 791054a0a5
commit 1db368abf9
15 changed files with 45 additions and 25 deletions

View file

@ -1 +1 @@
b5f5b5a9a3ee4ba8f9fb6678a35e400e1087ba04 ba88310205fe3a79a1f1eade7e5cbff65a904e4d

View file

@ -74,7 +74,7 @@ gem 'u2f', '~> 0.2.1'
gem 'validates_hostname', '~> 1.0.11' gem 'validates_hostname', '~> 1.0.11'
gem 'rubyzip', '~> 2.0.0', require: 'zip' gem 'rubyzip', '~> 2.0.0', require: 'zip'
# GitLab Pages letsencrypt support # GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0', '>= 2.0.6' gem 'acme-client', '~> 2.0', '>= 2.0.9'
# Browser detection # Browser detection
gem 'browser', '~> 4.2' gem 'browser', '~> 4.2'

View file

@ -9,7 +9,7 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
RedCloth (4.3.2) RedCloth (4.3.2)
acme-client (2.0.6) acme-client (2.0.9)
faraday (>= 0.17, < 2.0.0) faraday (>= 0.17, < 2.0.0)
actioncable (6.1.4.1) actioncable (6.1.4.1)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.1)
@ -1388,7 +1388,7 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
RedCloth (~> 4.3.2) RedCloth (~> 4.3.2)
acme-client (~> 2.0, >= 2.0.6) acme-client (~> 2.0, >= 2.0.9)
activerecord-explain-analyze (~> 0.1) activerecord-explain-analyze (~> 0.1)
acts-as-taggable-on (~> 8.1) acts-as-taggable-on (~> 8.1)
addressable (~> 2.8) addressable (~> 2.8)

View file

@ -143,6 +143,7 @@ class SearchController < ApplicationController
payload[:metadata]['meta.search.filters.confidential'] = params[:confidential] payload[:metadata]['meta.search.filters.confidential'] = params[:confidential]
payload[:metadata]['meta.search.filters.state'] = params[:state] payload[:metadata]['meta.search.filters.state'] = params[:state]
payload[:metadata]['meta.search.force_search_results'] = params[:force_search_results] payload[:metadata]['meta.search.force_search_results'] = params[:force_search_results]
payload[:metadata]['meta.search.project_ids'] = params[:project_ids]
if search_service.abuse_detected? if search_service.abuse_detected?
payload[:metadata]['abuse.confidence'] = Gitlab::Abuse.confidence(:certain) payload[:metadata]['abuse.confidence'] = Gitlab::Abuse.confidence(:certain)

View file

@ -27,8 +27,7 @@
= link_to deployment_path(deployment), class: 'build-link' do = link_to deployment_path(deployment), class: 'build-link' do
#{deployment.deployable.name} (##{deployment.deployable.id}) #{deployment.deployable.name} (##{deployment.deployable.id})
- else - else
.badge.badge-info.gl-cursor-help{ title: s_('Deployment|This deployment was created using the API') } = gl_badge_tag s_('Deployment|API'), { variant: :info }, { class: 'gl-cursor-help', data: { toggle: 'tooltip' }, title: s_('Deployment|This deployment was created using the API') }
= s_('Deployment|API')
.table-section.section-10{ role: 'gridcell' } .table-section.section-10{ role: 'gridcell' }
.table-mobile-header{ role: 'rowheader' }= _("Created") .table-mobile-header{ role: 'rowheader' }= _("Created")

View file

@ -0,0 +1,15 @@
# frozen_string_literal: true
class AddAsyncIndexCiJobArtifactsProjectIdFileType < Gitlab::Database::Migration[1.0]
disable_ddl_transaction!
INDEX_NAME = 'index_ci_job_artifacts_on_id_project_id_and_file_type'
def up
prepare_async_index :ci_job_artifacts, [:project_id, :file_type, :id], name: INDEX_NAME
end
def down
unprepare_async_index_by_name :ci_job_artifacts, INDEX_NAME
end
end

View file

@ -0,0 +1 @@
8019915a00f62c137ee48c860c888e9d43f7253a5ea1a684ba2abe8bbe8016df

View file

@ -689,7 +689,7 @@ Secondaries would regularly try to sync these files again via the "verification"
This can be confusing to troubleshoot, since the registry entries are moved through a logical loop by various background jobs. Also, `last_sync_failure` and `verification_failure` are empty after "sync succeeded" but before verification is retried. This can be confusing to troubleshoot, since the registry entries are moved through a logical loop by various background jobs. Also, `last_sync_failure` and `verification_failure` are empty after "sync succeeded" but before verification is retried.
If you see sync failures repeatedly and alternately increase, while successes decrease and vice versa, this is a problem of missing files on the primary site. You can confirm this by searching `geo.log` on secondary sites for `File is not checksummable` affecting the same files over and over. If you see sync failures repeatedly and alternately increase, while successes decrease and vice versa, this is likely to be caused by missing files on the primary site. You can confirm this by searching `geo.log` on secondary sites for `File is not checksummable` affecting the same files over and over.
After confirming this is the problem, the files on the primary site need to be fixed. Some possible causes: After confirming this is the problem, the files on the primary site need to be fixed. Some possible causes:

View file

@ -777,7 +777,7 @@ job1:
- echo - echo
rules: rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_PIPELINE_SOURCE == "scheduled" - if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_PIPELINE_SOURCE == "push" - if: $CI_PIPELINE_SOURCE == "push"
when: never when: never
``` ```

View file

@ -1626,7 +1626,7 @@ the section. The version information must:
- Be surrounded by blank lines. - Be surrounded by blank lines.
- Start with `>`. If there are multiple bullets, each line must start with `> -`. - Start with `>`. If there are multiple bullets, each line must start with `> -`.
- The string must include these words in this order (capitalization doesn't matter): - The string must include these words in this order (capitalization doesn't matter):
- `introduced`, `deprecated`, `changed`, `moved`, `recommended` (as in the - `introduced`, `enabled`, `deprecated`, `changed`, `moved`, `recommended` (as in the
[feature flag documentation](../feature_flags.md)), `removed`, or `renamed` [feature flag documentation](../feature_flags.md)), `removed`, or `renamed`
- `in` or `to` - `in` or `to`
- `GitLab` - `GitLab`

View file

@ -917,8 +917,10 @@ You may also find the [SAML Tracer](https://addons.mozilla.org/en-US/firefox/add
### Invalid audience ### Invalid audience
This error means that the IdP doesn't recognize GitLab as a valid sender and This error means that the IdP doesn't recognize GitLab as a valid sender and
receiver of SAML requests. Make sure to add the GitLab callback URL to the approved receiver of SAML requests. Make sure to:
audiences of the IdP server.
- Add the GitLab callback URL to the approved audiences of the IdP server.
- Avoid trailing whitespace in the `issuer` string.
### Missing claims, or `Email can't be blank` errors ### Missing claims, or `Email can't be blank` errors

View file

@ -165,16 +165,16 @@ your GitHub repositories are listed.
![GitHub importer page](img/import_projects_from_github_importer_v12_3.png) ![GitHub importer page](img/import_projects_from_github_importer_v12_3.png)
## Mirror a repository and share pipeline status ## Mirror a repository and share pipeline status **(PREMIUM)**
Depending on your GitLab tier, [repository mirroring](../repository/mirror/index.md) can be set up to keep Depending on your GitLab tier, [repository mirroring](../repository/mirror/index.md) can be set up to keep
your imported repository in sync with its GitHub copy. your imported repository in sync with its GitHub copy.
Additionally, you can configure GitLab to send pipeline status updates back GitHub with the Additionally, you can configure GitLab to send pipeline status updates back to GitHub with the
[GitHub Project Integration](../integrations/github.md). **(PREMIUM)** [GitHub Project Integration](../integrations/github.md).
If you import your project using [CI/CD for external repository](../../../ci/ci_cd_for_external_repos/index.md), then both If you import your project using [CI/CD for external repository](../../../ci/ci_cd_for_external_repos/index.md), then both
of the above are automatically configured. **(PREMIUM)** of the above are automatically configured.
NOTE: NOTE:
Mirroring does not sync any new or updated pull requests from your GitHub project. Mirroring does not sync any new or updated pull requests from your GitHub project.

View file

@ -28,7 +28,7 @@ See these documents to migrate to GitLab:
You can also import any Git repository through HTTP from the **New Project** page. Note that if the You can also import any Git repository through HTTP from the **New Project** page. Note that if the
repository is too large, the import can timeout. repository is too large, the import can timeout.
You can also [connect your external repository to get CI/CD benefits](../../../ci/ci_cd_for_external_repos/index.md). **(PREMIUM)** You can also [connect your external repository to get CI/CD benefits](../../../ci/ci_cd_for_external_repos/index.md).
## LFS authentication ## LFS authentication
@ -90,7 +90,7 @@ to migrate users.
## Project aliases **(PREMIUM SELF)** ## Project aliases **(PREMIUM SELF)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3264) in GitLab Premium 12.1. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3264) in GitLab 12.1.
GitLab repositories are usually accessed with a namespace and a project name. When migrating GitLab repositories are usually accessed with a namespace and a project name. When migrating
frequently accessed repositories to GitLab, however, you can use project aliases to access those frequently accessed repositories to GitLab, however, you can use project aliases to access those

View file

@ -184,9 +184,10 @@ NOTE:
On GitLab.com a custom mailbox is already configured with `contact-project+%{key}@incoming.gitlab.com` as the email address, you can still configure the On GitLab.com a custom mailbox is already configured with `contact-project+%{key}@incoming.gitlab.com` as the email address, you can still configure the
[custom suffix](#configuring-a-custom-email-address-suffix) in project settings. [custom suffix](#configuring-a-custom-email-address-suffix) in project settings.
Using the `service_desk_email` configuration, you can customize the mailbox Service Desk uses the [incoming email](../../administration/incoming_email.md)
used by Service Desk. This allows you to have a separate email address for configuration by default. However, by using the `service_desk_email` configuration,
Service Desk by also configuring a [custom suffix](#configuring-a-custom-email-address-suffix) you can customize the mailbox used by Service Desk. This allows you to have
a separate email address for Service Desk by also configuring a [custom suffix](#configuring-a-custom-email-address-suffix)
in project settings. in project settings.
The `address` must include the `+%{key}` placeholder within the 'user' The `address` must include the `+%{key}` placeholder within the 'user'
@ -194,10 +195,10 @@ portion of the address, before the `@`. This is used to identify the project
where the issue should be created. where the issue should be created.
NOTE: NOTE:
The `service_desk_email` and `incoming_email` configurations should When configuring a custom mailbox, the `service_desk_email` and `incoming_email`
always use separate mailboxes. This is important, because emails picked from configurations must always use separate mailboxes. This is important, because
`service_desk_email` mailbox are processed by a different worker and it would emails picked from `service_desk_email` mailbox are processed by a different
not recognize `incoming_email` emails. worker and it would not recognize `incoming_email` emails.
To configure a custom mailbox for Service Desk with IMAP, add the following snippets to your configuration file in full: To configure a custom mailbox for Service Desk with IMAP, add the following snippets to your configuration file in full:

View file

@ -396,9 +396,10 @@ RSpec.describe SearchController do
expect(payload[:metadata]['meta.search.force_search_results']).to eq('true') expect(payload[:metadata]['meta.search.force_search_results']).to eq('true')
expect(payload[:metadata]['meta.search.filters.confidential']).to eq('true') expect(payload[:metadata]['meta.search.filters.confidential']).to eq('true')
expect(payload[:metadata]['meta.search.filters.state']).to eq('true') expect(payload[:metadata]['meta.search.filters.state']).to eq('true')
expect(payload[:metadata]['meta.search.project_ids']).to eq(%w(456 789))
end end
get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', confidential: true, state: true, force_search_results: true } get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', project_ids: %w(456 789), confidential: true, state: true, force_search_results: true }
end end
it 'appends the default scope in meta.search.scope' do it 'appends the default scope in meta.search.scope' do