Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-09-28 03:11:11 +00:00
parent 7263b05461
commit 88db57927a
13 changed files with 49 additions and 45 deletions

View file

@ -88,6 +88,9 @@ export default {
return this.mr.preferredAutoMergeStrategy; return this.mr.preferredAutoMergeStrategy;
}, },
ciStatus() {
return this.isPostMerge ? this.mr?.mergePipeline?.details?.status?.text : this.mr.ciStatus;
},
}, },
}; };
</script> </script>
@ -97,7 +100,7 @@ export default {
:pipeline="pipeline" :pipeline="pipeline"
:pipeline-coverage-delta="mr.pipelineCoverageDelta" :pipeline-coverage-delta="mr.pipelineCoverageDelta"
:builds-with-coverage="mr.buildsWithCoverage" :builds-with-coverage="mr.buildsWithCoverage"
:ci-status="mr.ciStatus" :ci-status="ciStatus"
:has-ci="mr.hasCI" :has-ci="mr.hasCI"
:pipeline-must-succeed="mr.onlyAllowMergeIfPipelineSucceeds" :pipeline-must-succeed="mr.onlyAllowMergeIfPipelineSucceeds"
:source-branch="branch" :source-branch="branch"

View file

@ -23,6 +23,7 @@ table {
@include gl-text-gray-500; @include gl-text-gray-500;
} }
.md &:not(.code),
&.table { &.table {
margin-bottom: $gl-padding; margin-bottom: $gl-padding;

View file

@ -160,8 +160,6 @@
} }
table:not(.code) { table:not(.code) {
@extend .table;
@extend .table-bordered;
margin: 16px 0; margin: 16px 0;
color: $gl-text-color; color: $gl-text-color;
border: 0; border: 0;
@ -172,9 +170,11 @@
tbody { tbody {
background-color: $white; background-color: $white;
td { }
border-color: $gray-100;
} td,
th {
border: 1px solid $border-color;
} }
tr { tr {

View file

@ -49,6 +49,7 @@ exceptions:
- ECS - ECS
- EFS - EFS
- EKS - EKS
- ELB
- EOL - EOL
- EXIF - EXIF
- FAQ - FAQ
@ -98,6 +99,7 @@ exceptions:
- LESS - LESS
- LFS - LFS
- LRU - LRU
- LTM
- LTS - LTS
- MIME - MIME
- MIT - MIT
@ -119,6 +121,7 @@ exceptions:
- PEM - PEM
- PEP - PEP
- PGP - PGP
- PID
- PKCS - PKCS
- PHP - PHP
- PNG - PNG
@ -129,6 +132,7 @@ exceptions:
- RAM - RAM
- RBAC - RBAC
- RDP - RDP
- RDS
- REST - REST
- RFC - RFC
- RHEL - RHEL
@ -140,6 +144,7 @@ exceptions:
- RVM - RVM
- SAAS - SAAS
- SAML - SAML
- SAN
- SAST - SAST
- SATA - SATA
- SCIM - SCIM
@ -173,6 +178,7 @@ exceptions:
- TODO - TODO
- TOML - TOML
- TTL - TTL
- UID
- UDP - UDP
- UID - UID
- UNIX - UNIX

View file

@ -45,7 +45,7 @@ For more information, see the links shown on this page for each external provide
| Capability | SaaS | Self-Managed | | Capability | SaaS | Self-Managed |
|-------------------------------------------------|-----------------------------------------|------------------------------------| |-------------------------------------------------|-----------------------------------------|------------------------------------|
| **User Provisioning** | SCIM<br>JIT Provisioning | LDAP Sync | | **User Provisioning** | SCIM<br>Just-In-Time (JIT) Provisioning | LDAP Sync |
| **User Detail Updating** (not group management) | Not Available | LDAP Sync | | **User Detail Updating** (not group management) | Not Available | LDAP Sync |
| **Authentication** | SAML at top-level group (1 provider) | LDAP (multiple providers)<br>Generic OAuth2<br>SAML (only 1 permitted per unique provider)<br>Kerberos<br>JWT<br>Smartcard<br>OmniAuth Providers (only 1 permitted per unique provider) | | **Authentication** | SAML at top-level group (1 provider) | LDAP (multiple providers)<br>Generic OAuth2<br>SAML (only 1 permitted per unique provider)<br>Kerberos<br>JWT<br>Smartcard<br>OmniAuth Providers (only 1 permitted per unique provider) |
| **Provider-to-GitLab Role Sync** | SAML Group Sync | LDAP Group Sync | | **Provider-to-GitLab Role Sync** | SAML Group Sync | LDAP Group Sync |

View file

@ -217,7 +217,7 @@ use the `hard` option, because (from the man page):
> use the soft option only when client responsiveness is more important than data integrity > use the soft option only when client responsiveness is more important than data integrity
Other vendors make similar recommendations, including Other vendors make similar recommendations, including
[SAP](http://wiki.scn.sap.com/wiki/x/PARnFQ) and NetApp's [System Applications and Products in Data Processing (SAP)](http://wiki.scn.sap.com/wiki/x/PARnFQ) and NetApp's
[knowledge base](https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/What_are_the_differences_between_hard_mount_and_soft_mount), [knowledge base](https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Software/ONTAP_OS/What_are_the_differences_between_hard_mount_and_soft_mount),
they highlight that if the NFS client driver caches data, `soft` means there is no certainty if they highlight that if the NFS client driver caches data, `soft` means there is no certainty if
writes by GitLab are actually on disk. writes by GitLab are actually on disk.

View file

@ -847,7 +847,7 @@ Investigate further if:
- `reply_time` is not current. - `reply_time` is not current.
The `lsn` fields relate to which write-ahead-log segments have been replicated. The `lsn` fields relate to which write-ahead-log segments have been replicated.
Run the following on the leader to find out the current LSN: Run the following on the leader to find out the current Log Sequence Number (LSN):
```shell ```shell
echo 'SELECT pg_current_wal_lsn();' | gitlab-psql echo 'SELECT pg_current_wal_lsn();' | gitlab-psql
@ -1248,7 +1248,7 @@ To fix the problem, ensure the loopback interface is included in the CIDR addres
1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect. 1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
1. Check that [all the replicas are synchronized](#check-replication-status) 1. Check that [all the replicas are synchronized](#check-replication-status)
### Errors in Patroni logs: the requested start point is ahead of the WAL flush position ### Errors in Patroni logs: the requested start point is ahead of the Write Ahead Log (WAL) flush position
This error indicates that the database is not replicating: This error indicates that the database is not replicating:

View file

@ -69,10 +69,10 @@ The key needs to be readable by the GitLab system user (`git` by default).
The key needs to be readable by the GitLab system user (`git` by default). The key needs to be readable by the GitLab system user (`git` by default).
### How to convert S/MIME PKCS #12 / PFX format to PEM encoding ### How to convert S/MIME PKCS #12 format to PEM encoding
Typically S/MIME certificates are handled in binary PKCS #12 format (`.pfx` or `.p12` Typically S/MIME certificates are handled in binary Public Key Cryptography Standards (PKCS) #12 format
extensions), which contain the following in a single encrypted file: (`.pfx` or `.p12` extensions), which contain the following in a single encrypted file:
- Public certificate - Public certificate
- Intermediate certificates (if any) - Intermediate certificates (if any)

View file

@ -7,7 +7,7 @@ module Gitlab
# "connection" method. # "connection" method.
module ActiveRecordProxy module ActiveRecordProxy
def connection def connection
::Gitlab::Database::LoadBalancing.proxy ::Gitlab::Database::LoadBalancing.proxy || super
end end
end end
end end

View file

@ -1,5 +1,6 @@
import { mount } from '@vue/test-utils'; import { mount } from '@vue/test-utils';
import MockAdapter from 'axios-mock-adapter'; import MockAdapter from 'axios-mock-adapter';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import ArtifactsApp from '~/vue_merge_request_widget/components/artifacts_list_app.vue'; import ArtifactsApp from '~/vue_merge_request_widget/components/artifacts_list_app.vue';
import DeploymentList from '~/vue_merge_request_widget/components/deployment/deployment_list.vue'; import DeploymentList from '~/vue_merge_request_widget/components/deployment/deployment_list.vue';
@ -12,12 +13,14 @@ describe('MrWidgetPipelineContainer', () => {
let mock; let mock;
const factory = (props = {}) => { const factory = (props = {}) => {
wrapper = mount(MrWidgetPipelineContainer, { wrapper = extendedWrapper(
propsData: { mount(MrWidgetPipelineContainer, {
mr: { ...mockStore }, propsData: {
...props, mr: { ...mockStore },
}, ...props,
}); },
}),
);
}; };
beforeEach(() => { beforeEach(() => {
@ -30,6 +33,7 @@ describe('MrWidgetPipelineContainer', () => {
}); });
const findDeploymentList = () => wrapper.findComponent(DeploymentList); const findDeploymentList = () => wrapper.findComponent(DeploymentList);
const findCIErrorMessage = () => wrapper.findByTestId('ci-error-message');
describe('when pre merge', () => { describe('when pre merge', () => {
beforeEach(() => { beforeEach(() => {
@ -69,15 +73,21 @@ describe('MrWidgetPipelineContainer', () => {
beforeEach(() => { beforeEach(() => {
factory({ factory({
isPostMerge: true, isPostMerge: true,
mr: {
...mockStore,
pipeline: {},
ciStatus: undefined,
},
}); });
}); });
it('renders pipeline', () => { it('renders pipeline', () => {
expect(wrapper.find(MrWidgetPipeline).exists()).toBe(true); expect(wrapper.find(MrWidgetPipeline).exists()).toBe(true);
expect(findCIErrorMessage().exists()).toBe(false);
expect(wrapper.find(MrWidgetPipeline).props()).toMatchObject({ expect(wrapper.find(MrWidgetPipeline).props()).toMatchObject({
pipeline: mockStore.mergePipeline, pipeline: mockStore.mergePipeline,
pipelineCoverageDelta: mockStore.pipelineCoverageDelta, pipelineCoverageDelta: mockStore.pipelineCoverageDelta,
ciStatus: mockStore.ciStatus, ciStatus: mockStore.mergePipeline.details.status.text,
hasCi: mockStore.hasCI, hasCi: mockStore.hasCI,
sourceBranch: mockStore.targetBranch, sourceBranch: mockStore.targetBranch,
sourceBranchLink: mockStore.targetBranch, sourceBranchLink: mockStore.targetBranch,
@ -92,7 +102,6 @@ describe('MrWidgetPipelineContainer', () => {
targetBranch: 'Foo<script>alert("XSS")</script>', targetBranch: 'Foo<script>alert("XSS")</script>',
}, },
}); });
expect(wrapper.find(MrWidgetPipeline).props().sourceBranchLink).toBe('Foo'); expect(wrapper.find(MrWidgetPipeline).props().sourceBranchLink).toBe('Foo');
}); });

View file

@ -16,5 +16,12 @@ RSpec.describe Gitlab::Database::LoadBalancing::ActiveRecordProxy do
expect(dummy.new.connection).to eq(proxy) expect(dummy.new.connection).to eq(proxy)
end end
it 'returns a connection when no proxy is present' do
allow(Gitlab::Database::LoadBalancing).to receive(:proxy).and_return(nil)
expect(ActiveRecord::Base.connection)
.to eq(ActiveRecord::Base.retrieve_connection)
end
end end
end end

View file

@ -6,9 +6,6 @@
- "./ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb" - "./ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb"
- "./ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb" - "./ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb"
- "./ee/spec/features/projects/pipelines/pipeline_spec.rb" - "./ee/spec/features/projects/pipelines/pipeline_spec.rb"
- "./ee/spec/features/projects/settings/auto_rollback_spec.rb"
- "./ee/spec/features/projects/settings/pipeline_subscriptions_spec.rb"
- "./ee/spec/features/projects/settings/protected_environments_spec.rb"
- "./ee/spec/finders/ee/namespaces/projects_finder_spec.rb" - "./ee/spec/finders/ee/namespaces/projects_finder_spec.rb"
- "./ee/spec/finders/security/findings_finder_spec.rb" - "./ee/spec/finders/security/findings_finder_spec.rb"
- "./ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb" - "./ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb"
@ -47,38 +44,23 @@
- "./ee/spec/services/ee/merge_requests/refresh_service_spec.rb" - "./ee/spec/services/ee/merge_requests/refresh_service_spec.rb"
- "./ee/spec/workers/scan_security_report_secrets_worker_spec.rb" - "./ee/spec/workers/scan_security_report_secrets_worker_spec.rb"
- "./spec/controllers/admin/runners_controller_spec.rb" - "./spec/controllers/admin/runners_controller_spec.rb"
- "./spec/controllers/groups/runners_controller_spec.rb"
- "./spec/controllers/groups/settings/ci_cd_controller_spec.rb" - "./spec/controllers/groups/settings/ci_cd_controller_spec.rb"
- "./spec/controllers/projects/merge_requests_controller_spec.rb" - "./spec/controllers/projects/merge_requests_controller_spec.rb"
- "./spec/controllers/projects/runners_controller_spec.rb"
- "./spec/controllers/projects/settings/ci_cd_controller_spec.rb" - "./spec/controllers/projects/settings/ci_cd_controller_spec.rb"
- "./spec/features/admin/admin_runners_spec.rb" - "./spec/features/admin/admin_runners_spec.rb"
- "./spec/features/groups/settings/ci_cd_spec.rb"
- "./spec/features/ide/user_opens_merge_request_spec.rb" - "./spec/features/ide/user_opens_merge_request_spec.rb"
- "./spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb" - "./spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb"
- "./spec/features/merge_request/user_sees_merge_widget_spec.rb" - "./spec/features/merge_request/user_sees_merge_widget_spec.rb"
- "./spec/features/merge_request/user_sees_pipelines_from_forked_project_spec.rb"
- "./spec/features/merge_request/user_sees_pipelines_spec.rb"
- "./spec/features/project_group_variables_spec.rb"
- "./spec/features/project_variables_spec.rb"
- "./spec/features/projects/badges/list_spec.rb"
- "./spec/features/projects/infrastructure_registry_spec.rb" - "./spec/features/projects/infrastructure_registry_spec.rb"
- "./spec/features/projects/jobs_spec.rb" - "./spec/features/projects/jobs_spec.rb"
- "./spec/features/projects/pipelines/pipeline_spec.rb" - "./spec/features/projects/pipelines/pipeline_spec.rb"
- "./spec/features/projects/pipelines/pipelines_spec.rb" - "./spec/features/projects/pipelines/pipelines_spec.rb"
- "./spec/features/projects/settings/pipelines_settings_spec.rb"
- "./spec/features/security/project/internal_access_spec.rb"
- "./spec/features/security/project/private_access_spec.rb"
- "./spec/features/security/project/public_access_spec.rb"
- "./spec/features/triggers_spec.rb"
- "./spec/finders/ci/pipelines_for_merge_request_finder_spec.rb" - "./spec/finders/ci/pipelines_for_merge_request_finder_spec.rb"
- "./spec/finders/ci/runners_finder_spec.rb" - "./spec/finders/ci/runners_finder_spec.rb"
- "./spec/frontend/fixtures/runner.rb" - "./spec/frontend/fixtures/runner.rb"
- "./spec/graphql/mutations/ci/runner/delete_spec.rb" - "./spec/graphql/mutations/ci/runner/delete_spec.rb"
- "./spec/graphql/resolvers/ci/group_runners_resolver_spec.rb" - "./spec/graphql/resolvers/ci/group_runners_resolver_spec.rb"
- "./spec/graphql/resolvers/ci/job_token_scope_resolver_spec.rb"
- "./spec/graphql/resolvers/merge_request_pipelines_resolver_spec.rb" - "./spec/graphql/resolvers/merge_request_pipelines_resolver_spec.rb"
- "./spec/graphql/types/ci/job_token_scope_type_spec.rb"
- "./spec/lib/api/entities/package_spec.rb" - "./spec/lib/api/entities/package_spec.rb"
- "./spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb" - "./spec/lib/gitlab/background_migration/migrate_legacy_artifacts_spec.rb"
- "./spec/mailers/emails/pipelines_spec.rb" - "./spec/mailers/emails/pipelines_spec.rb"
@ -105,8 +87,6 @@
- "./spec/requests/api/commit_statuses_spec.rb" - "./spec/requests/api/commit_statuses_spec.rb"
- "./spec/requests/api/graphql/group_query_spec.rb" - "./spec/requests/api/graphql/group_query_spec.rb"
- "./spec/requests/api/graphql/merge_request/merge_request_spec.rb" - "./spec/requests/api/graphql/merge_request/merge_request_spec.rb"
- "./spec/requests/api/graphql/mutations/ci/job_token_scope/add_project_spec.rb"
- "./spec/requests/api/graphql/mutations/ci/job_token_scope/remove_project_spec.rb"
- "./spec/requests/api/graphql/mutations/merge_requests/create_spec.rb" - "./spec/requests/api/graphql/mutations/merge_requests/create_spec.rb"
- "./spec/requests/api/graphql/packages/composer_spec.rb" - "./spec/requests/api/graphql/packages/composer_spec.rb"
- "./spec/requests/api/graphql/packages/conan_spec.rb" - "./spec/requests/api/graphql/packages/conan_spec.rb"
@ -132,8 +112,6 @@
- "./spec/services/merge_requests/refresh_service_spec.rb" - "./spec/services/merge_requests/refresh_service_spec.rb"
- "./spec/support/shared_examples/ci/pipeline_email_shared_examples.rb" - "./spec/support/shared_examples/ci/pipeline_email_shared_examples.rb"
- "./spec/support/shared_examples/features/packages_shared_examples.rb" - "./spec/support/shared_examples/features/packages_shared_examples.rb"
- "./spec/support/shared_examples/features/search_settings_shared_examples.rb"
- "./spec/support/shared_examples/features/variable_list_shared_examples.rb"
- "./spec/support/shared_examples/models/concerns/limitable_shared_examples.rb" - "./spec/support/shared_examples/models/concerns/limitable_shared_examples.rb"
- "./spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb" - "./spec/support/shared_examples/requests/api/graphql/packages/group_and_project_packages_list_shared_examples.rb"
- "./spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb" - "./spec/support/shared_examples/requests/api/graphql/packages/package_details_shared_examples.rb"

View file

@ -46,7 +46,7 @@ module Database
if schemas.include?(:gitlab_ci) && schemas.include?(:gitlab_main) if schemas.include?(:gitlab_ci) && schemas.include?(:gitlab_main)
Thread.current[:has_cross_join_exception] = true Thread.current[:has_cross_join_exception] = true
raise CrossJoinAcrossUnsupportedTablesError, raise CrossJoinAcrossUnsupportedTablesError,
"Unsupported cross-join across '#{tables.join(", ")}' modifying '#{schemas.to_a.join(", ")}' discovered " \ "Unsupported cross-join across '#{tables.join(", ")}' querying '#{schemas.to_a.join(", ")}' discovered " \
"when executing query '#{sql}'. Please refer to https://docs.gitlab.com/ee/development/database/multiple_databases.html#removing-joins-between-ci_-and-non-ci_-tables for details on how to resolve this exception." "when executing query '#{sql}'. Please refer to https://docs.gitlab.com/ee/development/database/multiple_databases.html#removing-joins-between-ci_-and-non-ci_-tables for details on how to resolve this exception."
end end
end end