Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
17d162d008
commit
3c7efb067c
|
|
@ -30,21 +30,6 @@ Lint/SymbolConversion:
|
|||
- 'ee/spec/services/security/token_revocation_service_spec.rb'
|
||||
- 'ee/spec/support/helpers/subscription_portal_helpers.rb'
|
||||
- 'ee/spec/workers/deployments/approval_worker_spec.rb'
|
||||
- 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb'
|
||||
- 'lib/gitlab/data_builder/repository.rb'
|
||||
- 'lib/gitlab/database/reindexing/grafana_notifier.rb'
|
||||
- 'lib/gitlab/gitaly_client.rb'
|
||||
- 'lib/gitlab/grape_logging/loggers/queue_duration_logger.rb'
|
||||
- 'lib/gitlab/harbor/client.rb'
|
||||
- 'lib/gitlab/prometheus_client.rb'
|
||||
- 'lib/gitlab/zentao/client.rb'
|
||||
- 'lib/version_check.rb'
|
||||
- 'qa/qa/resource/merge_request.rb'
|
||||
- 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_from_push_notification_spec.rb'
|
||||
- 'qa/qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb'
|
||||
- 'qa/qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb'
|
||||
- 'qa/spec/resource/events/project_spec.rb'
|
||||
- 'qa/spec/specs/allure_report_spec.rb'
|
||||
- 'spec/controllers/jira_connect/branches_controller_spec.rb'
|
||||
- 'spec/factories/ci/reports/codequality_degradations.rb'
|
||||
- 'spec/factories/evidences.rb'
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ export default {
|
|||
<form class="feature-flags-form">
|
||||
<fieldset>
|
||||
<div class="gl-display-flex gl-flex-wrap gl-mx-n5">
|
||||
<div class="gl-mb-5 gl-px-5 gl-w-full col-md-4">
|
||||
<div class="gl-mb-5 gl-px-5 gl-w-full md:gl-basis-1/3">
|
||||
<label for="feature-flag-name" class="gl-font-weight-bold"
|
||||
>{{ s__('FeatureFlags|Name') }} *</label
|
||||
>
|
||||
|
|
@ -168,7 +168,7 @@ export default {
|
|||
</div>
|
||||
|
||||
<div class="gl-display-flex gl-flex-wrap gl-mx-n5">
|
||||
<div class="gl-mb-5 gl-px-5 gl-w-full col-md-4">
|
||||
<div class="gl-mb-5 gl-px-5 gl-w-full md:gl-basis-1/3">
|
||||
<label for="feature-flag-description" class="gl-font-weight-bold">
|
||||
{{ s__('FeatureFlags|Description') }}
|
||||
</label>
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ GitLab supports two authentication methods:
|
|||
|
||||
### Authentication against a local database with X.509 certificates
|
||||
|
||||
WARNING:
|
||||
Smart card authentication against local databases is an experimental feature and may change or be removed completely in future releases.
|
||||
DETAILS:
|
||||
**Status:** Experiment
|
||||
|
||||
Smart cards with X.509 certificates can be used to authenticate with GitLab.
|
||||
|
||||
|
|
@ -53,12 +53,12 @@ Certificate:
|
|||
|
||||
### Authentication against a local database with X.509 certificates and SAN extension
|
||||
|
||||
DETAILS:
|
||||
**Status:** Experiment
|
||||
|
||||
Smart cards with X.509 certificates using SAN extensions can be used to authenticate
|
||||
with GitLab.
|
||||
|
||||
NOTE:
|
||||
Smart card authentication against local databases is an experimental feature and may change or be removed completely in future releases.
|
||||
|
||||
To use a smart card with an X.509 certificate to authenticate against a local
|
||||
database with GitLab:
|
||||
|
||||
|
|
@ -92,8 +92,8 @@ Certificate:
|
|||
|
||||
### Authentication against an LDAP server
|
||||
|
||||
NOTE:
|
||||
Smart card authentication against an LDAP server is an experimental feature and may change or be removed completely in future releases.
|
||||
DETAILS:
|
||||
**Status:** Experiment
|
||||
|
||||
GitLab implements a standard way of certificate matching following
|
||||
[RFC4523](https://www.rfc-editor.org/rfc/rfc4523). It uses the
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ If something unexpected happens during the migration, it is safe to start over.
|
|||
|
||||
1. Plan for downtime. The downtime is dependent on the size of the `gitlabhq_production` database.
|
||||
|
||||
- We dump `gitlabhq_production` and restore it into a new `gitlabhq_production_ci` database. Database sizes below 100 GB should be done within 30 minutes.
|
||||
- We dump `gitlabhq_production` and restore it into a new `gitlabhq_production_ci` database. Database sizes below 50 GB should be done within 30 minutes. Larger databases need more time. For example, a 100 GB database needs 1-2 hours to be copied to the new database.
|
||||
- We advise to also plan some time for smaller tasks like modifying the configuration.
|
||||
|
||||
1. Create the new `gitlabhq_production_ci` database:
|
||||
|
|
|
|||
|
|
@ -112,6 +112,41 @@ Seeding data for Administrator
|
|||
|
||||
Where `:file` is the file path. (This path reflects relative `.rb`, `.yml`, or `.json` files located in `ee/db/seeds/data_seeder`, or absolute paths to seed files.)
|
||||
|
||||
## Linux package Setup
|
||||
|
||||
WARNING:
|
||||
While it is possible to use the Data Seeder with an Linux package installation, **use caution** if you do this when the instance is being used in a production setting.
|
||||
|
||||
1. Change the working directory to the GitLab installation:
|
||||
|
||||
```shell
|
||||
cd /opt/gitlab/embedded/service/gitlab-rails
|
||||
```
|
||||
|
||||
1. Install test resources:
|
||||
|
||||
```shell
|
||||
. scripts/data_seeder/test_resources.sh
|
||||
```
|
||||
|
||||
1. Globalize gems:
|
||||
|
||||
```shell
|
||||
/opt/gitlab/embedded/bin/chpst -e /opt/gitlab/etc/gitlab-rails/env /opt/gitlab/embedded/bin/bundle exec ruby scripts/data_seeder/globalize_gems.rb
|
||||
```
|
||||
|
||||
1. Install bundle:
|
||||
|
||||
```shell
|
||||
/opt/gitlab/embedded/bin/chpst -e /opt/gitlab/etc/gitlab-rails/env /opt/gitlab/embedded/bin/bundle
|
||||
```
|
||||
|
||||
1. Seed the data:
|
||||
|
||||
```shell
|
||||
gitlab-rake "ee:gitlab:seed:data_seeder[beautiful_data.rb]"
|
||||
```
|
||||
|
||||
## Develop
|
||||
|
||||
The Data Seeder uses FactoryBot definitions from `spec/factories` which ...
|
||||
|
|
@ -121,7 +156,7 @@ The Data Seeder uses FactoryBot definitions from `spec/factories` which ...
|
|||
1. Are easy to maintain
|
||||
1. Do not rely on an API that may change in the future
|
||||
1. Are always up-to-date
|
||||
1. Execute on the lowest-level (`ActiveRecord`) possible to create data as quickly as possible
|
||||
1. Executes on the lowest-level possible ([ORM](https://guides.rubyonrails.org/active_record_basics.html#active-record-as-an-orm-framework)) to create data as quickly as possible
|
||||
|
||||
> From the [FactoryBot README](https://github.com/thoughtbot/factory_bot#readme_) : `factory_bot` is a fixtures replacement with a straightforward definition syntax, support for multiple build
|
||||
> strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class, including factory
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ Use CI/CD pipelines to automatically build, test, and deploy your code.
|
|||
| <i class="fa fa-youtube-play youtube" aria-hidden="true"></i> [Understand CI/CD rules](https://www.youtube.com/watch?v=QjQc-zeL16Q) (8m 56s) | Learn more about how to use CI/CD rules. | |
|
||||
| [Use Auto DevOps to deploy an application](../topics/autodevops/cloud_deployments/auto_devops_with_gke.md) | Deploy an application to Google Kubernetes Engine (GKE). | |
|
||||
| [Using Buildah in a rootless container with GitLab Runner Operator on OpenShift](../ci/docker/buildah_rootless_tutorial.md) | Learn how to set up GitLab Runner Operator on OpenShift to build Docker images with Buildah in a rootless container | |
|
||||
| [Set up CI/CD steps](setup_steps/index.md) | Learn how to set up the steps component and configure a CI/CD pipeline to use the step in a job. | |
|
||||
|
||||
## Configure GitLab Runner
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ module Gitlab
|
|||
# Uses the access token created via `access_token_create_response` as the auth token.
|
||||
post(
|
||||
url: url('/auth'),
|
||||
headers: { 'Authorization': "Bearer #{access_token}" },
|
||||
headers: { Authorization: "Bearer #{access_token}" },
|
||||
body: {
|
||||
username: user.username,
|
||||
token: otp_code
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ module Gitlab
|
|||
ref: "refs/heads/master"
|
||||
}
|
||||
],
|
||||
"refs": ["refs/heads/master"]
|
||||
refs: ["refs/heads/master"]
|
||||
}.freeze
|
||||
|
||||
# Produce a hash of post-receive data
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ module Gitlab
|
|||
def annotate(payload)
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": "Bearer #{@api_key}"
|
||||
Authorization: "Bearer #{@api_key}"
|
||||
}
|
||||
|
||||
success = Gitlab::HTTP.post(
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ module Gitlab
|
|||
# grpc creates multiple subchannels to all targets retrurned by the resolver. Requests are distributed to
|
||||
# those subchannels in a round-robin fashion.
|
||||
# More about client-side load-balancing: https://gitlab.com/groups/gitlab-org/-/epics/8971#note_1207008162
|
||||
"loadBalancingConfig": [{ "round_robin": {} }],
|
||||
loadBalancingConfig: [{ round_robin: {} }],
|
||||
# Enable retries for read-only RPCs. With this setting the client to will resend requests that fail with
|
||||
# the following conditions:
|
||||
# 1. An `UNAVAILABLE` status code was received.
|
||||
|
|
@ -73,108 +73,108 @@ module Gitlab
|
|||
# This allows the client to handle momentary service interruptions without user-facing errors. gRPC's
|
||||
# automatic 'transparent retries' may also be sent.
|
||||
# For more information please visit https://github.com/grpc/proposal/blob/master/A6-client-retries.md
|
||||
'methodConfig': [
|
||||
methodConfig: [
|
||||
{
|
||||
# Gitaly sets an `op_type` `MethodOption` on RPCs to note if it mutates a repository. We cannot
|
||||
# programatically detect read-only RPCs, i.e. those safe to retry, because Ruby's protobuf
|
||||
# implementation does not provide access to `MethodOptions`. That feature is being tracked under
|
||||
# https://github.com/protocolbuffers/protobuf/issues/1198. When that is complete we can replace this
|
||||
# table.
|
||||
'name': [
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'GetBlob' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'GetBlobs' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'GetLFSPointers' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'GetAllLFSPointers' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'ListAllBlobs' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'ListAllLFSPointers' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'ListBlobs' },
|
||||
{ 'service': 'gitaly.BlobService', 'method': 'ListLFSPointers' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CheckObjectsExist' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CommitIsAncestor' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CommitLanguages' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CommitStats' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CommitsByMessage' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CountCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'CountDivergingCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'FilterShasWithSignatures' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'FindAllCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'FindCommit' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'FindCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'GetCommitMessages' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'GetCommitSignatures' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'GetTreeEntries' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'LastCommitForPath' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListAllCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListCommits' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListCommitsByOid' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListCommitsByRefName' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListFiles' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'ListLastCommitsForTree' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'RawBlame' },
|
||||
{ 'service': 'gitaly.CommitService', 'method': 'TreeEntry' },
|
||||
{ 'service': 'gitaly.ConflictsService', 'method': 'ListConflictFiles' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'CommitDelta' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'CommitDiff' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'DiffStats' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'FindChangedPaths' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'GetPatchID' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'RawDiff' },
|
||||
{ 'service': 'gitaly.DiffService', 'method': 'RawPatch' },
|
||||
{ 'service': 'gitaly.ObjectPoolService', 'method': 'GetObjectPool' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindAllBranches' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindAllRemoteBranches' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindAllTags' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindBranch' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindDefaultBranchName' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindLocalBranches' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindRefsByOID' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'FindTag' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'GetTagMessages' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'GetTagSignatures' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'ListBranchNamesContainingCommit' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'ListRefs' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'ListTagNamesContainingCommit' },
|
||||
{ 'service': 'gitaly.RefService', 'method': 'RefExists' },
|
||||
{ 'service': 'gitaly.RemoteService', 'method': 'FindRemoteRepository' },
|
||||
{ 'service': 'gitaly.RemoteService', 'method': 'FindRemoteRootRef' },
|
||||
{ 'service': 'gitaly.RemoteService', 'method': 'UpdateRemoteMirror' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'BackupCustomHooks' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'BackupRepository' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'CalculateChecksum' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'CreateBundle' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'Fsck' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'FindLicense' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'FindMergeBase' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'FullPath' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'HasLocalBranches' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetArchive' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetConfig' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetCustomHooks' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetFileAttributes' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetInfoAttributes' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetObject' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetObjectDirectorySize' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetRawChanges' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'GetSnapshot' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'ObjectSize' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'ObjectFormat' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'RepositoryExists' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'RepositoryInfo' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'RepositorySize' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'SearchFilesByContent' },
|
||||
{ 'service': 'gitaly.RepositoryService', 'method': 'SearchFilesByName' },
|
||||
{ 'service': 'gitaly.ServerService', 'method': 'ClockSynced' },
|
||||
{ 'service': 'gitaly.ServerService', 'method': 'DiskStatistics' },
|
||||
{ 'service': 'gitaly.ServerService', 'method': 'ReadinessCheck' },
|
||||
{ 'service': 'gitaly.ServerService', 'method': 'ServerInfo' },
|
||||
{ 'service': 'grpc.health.v1.Health', 'method': 'Check' }
|
||||
name: [
|
||||
{ service: 'gitaly.BlobService', method: 'GetBlob' },
|
||||
{ service: 'gitaly.BlobService', method: 'GetBlobs' },
|
||||
{ service: 'gitaly.BlobService', method: 'GetLFSPointers' },
|
||||
{ service: 'gitaly.BlobService', method: 'GetAllLFSPointers' },
|
||||
{ service: 'gitaly.BlobService', method: 'ListAllBlobs' },
|
||||
{ service: 'gitaly.BlobService', method: 'ListAllLFSPointers' },
|
||||
{ service: 'gitaly.BlobService', method: 'ListBlobs' },
|
||||
{ service: 'gitaly.BlobService', method: 'ListLFSPointers' },
|
||||
{ service: 'gitaly.CommitService', method: 'CheckObjectsExist' },
|
||||
{ service: 'gitaly.CommitService', method: 'CommitIsAncestor' },
|
||||
{ service: 'gitaly.CommitService', method: 'CommitLanguages' },
|
||||
{ service: 'gitaly.CommitService', method: 'CommitStats' },
|
||||
{ service: 'gitaly.CommitService', method: 'CommitsByMessage' },
|
||||
{ service: 'gitaly.CommitService', method: 'CountCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'CountDivergingCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'FilterShasWithSignatures' },
|
||||
{ service: 'gitaly.CommitService', method: 'FindAllCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'FindCommit' },
|
||||
{ service: 'gitaly.CommitService', method: 'FindCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'GetCommitMessages' },
|
||||
{ service: 'gitaly.CommitService', method: 'GetCommitSignatures' },
|
||||
{ service: 'gitaly.CommitService', method: 'GetTreeEntries' },
|
||||
{ service: 'gitaly.CommitService', method: 'LastCommitForPath' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListAllCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListCommits' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListCommitsByOid' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListCommitsByRefName' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListFiles' },
|
||||
{ service: 'gitaly.CommitService', method: 'ListLastCommitsForTree' },
|
||||
{ service: 'gitaly.CommitService', method: 'RawBlame' },
|
||||
{ service: 'gitaly.CommitService', method: 'TreeEntry' },
|
||||
{ service: 'gitaly.ConflictsService', method: 'ListConflictFiles' },
|
||||
{ service: 'gitaly.DiffService', method: 'CommitDelta' },
|
||||
{ service: 'gitaly.DiffService', method: 'CommitDiff' },
|
||||
{ service: 'gitaly.DiffService', method: 'DiffStats' },
|
||||
{ service: 'gitaly.DiffService', method: 'FindChangedPaths' },
|
||||
{ service: 'gitaly.DiffService', method: 'GetPatchID' },
|
||||
{ service: 'gitaly.DiffService', method: 'RawDiff' },
|
||||
{ service: 'gitaly.DiffService', method: 'RawPatch' },
|
||||
{ service: 'gitaly.ObjectPoolService', method: 'GetObjectPool' },
|
||||
{ service: 'gitaly.RefService', method: 'FindAllBranches' },
|
||||
{ service: 'gitaly.RefService', method: 'FindAllRemoteBranches' },
|
||||
{ service: 'gitaly.RefService', method: 'FindAllTags' },
|
||||
{ service: 'gitaly.RefService', method: 'FindBranch' },
|
||||
{ service: 'gitaly.RefService', method: 'FindDefaultBranchName' },
|
||||
{ service: 'gitaly.RefService', method: 'FindLocalBranches' },
|
||||
{ service: 'gitaly.RefService', method: 'FindRefsByOID' },
|
||||
{ service: 'gitaly.RefService', method: 'FindTag' },
|
||||
{ service: 'gitaly.RefService', method: 'GetTagMessages' },
|
||||
{ service: 'gitaly.RefService', method: 'GetTagSignatures' },
|
||||
{ service: 'gitaly.RefService', method: 'ListBranchNamesContainingCommit' },
|
||||
{ service: 'gitaly.RefService', method: 'ListRefs' },
|
||||
{ service: 'gitaly.RefService', method: 'ListTagNamesContainingCommit' },
|
||||
{ service: 'gitaly.RefService', method: 'RefExists' },
|
||||
{ service: 'gitaly.RemoteService', method: 'FindRemoteRepository' },
|
||||
{ service: 'gitaly.RemoteService', method: 'FindRemoteRootRef' },
|
||||
{ service: 'gitaly.RemoteService', method: 'UpdateRemoteMirror' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'BackupCustomHooks' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'BackupRepository' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'CalculateChecksum' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'CreateBundle' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'Fsck' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'FindLicense' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'FindMergeBase' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'FullPath' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'HasLocalBranches' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetArchive' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetConfig' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetCustomHooks' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetFileAttributes' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetInfoAttributes' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetObject' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetObjectDirectorySize' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetRawChanges' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'GetSnapshot' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'ObjectSize' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'ObjectFormat' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'RepositoryExists' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'RepositoryInfo' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'RepositorySize' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'SearchFilesByContent' },
|
||||
{ service: 'gitaly.RepositoryService', method: 'SearchFilesByName' },
|
||||
{ service: 'gitaly.ServerService', method: 'ClockSynced' },
|
||||
{ service: 'gitaly.ServerService', method: 'DiskStatistics' },
|
||||
{ service: 'gitaly.ServerService', method: 'ReadinessCheck' },
|
||||
{ service: 'gitaly.ServerService', method: 'ServerInfo' },
|
||||
{ service: 'grpc.health.v1.Health', method: 'Check' }
|
||||
],
|
||||
'retryPolicy': {
|
||||
'maxAttempts': 4, # Initial request, plus up to three retries.
|
||||
'initialBackoff': '0.4s',
|
||||
'maxBackoff': '1.4s',
|
||||
'backoffMultiplier': 2, # Maximum retry duration is 2400ms.
|
||||
'retryableStatusCodes': ['UNAVAILABLE']
|
||||
retryPolicy: {
|
||||
maxAttempts: 4, # Initial request, plus up to three retries.
|
||||
initialBackoff: '0.4s',
|
||||
maxBackoff: '1.4s',
|
||||
backoffMultiplier: 2, # Maximum retry duration is 2400ms.
|
||||
retryableStatusCodes: ['UNAVAILABLE']
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ module Gitlab
|
|||
|
||||
return {} unless duration_s
|
||||
|
||||
{ 'queue_duration_s': duration_s }
|
||||
{ queue_duration_s: duration_s }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def check_project_availability
|
||||
options = { headers: headers.merge!('Accept': 'application/json') }
|
||||
options = { headers: headers.merge!(Accept: 'application/json') }
|
||||
response = Gitlab::HTTP.head(url("projects?project_name=#{integration.project_name}"), options)
|
||||
|
||||
{ success: response.success? }
|
||||
|
|
@ -65,7 +65,7 @@ module Gitlab
|
|||
auth = Base64.strict_encode64("#{integration.username}:#{integration.password}")
|
||||
{
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': "Basic #{auth}"
|
||||
Authorization: "Basic #{auth}"
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def series(*matches, start_time: 8.hours.ago, end_time: Time.now)
|
||||
json_api_get('series', 'match': matches, start: start_time.to_f, end: end_time.to_f)
|
||||
json_api_get('series', match: matches, start: start_time.to_f, end: end_time.to_f)
|
||||
end
|
||||
|
||||
def self.compute_step(start_time, end_time)
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ module Gitlab
|
|||
def headers
|
||||
{
|
||||
'Content-Type': 'application/json',
|
||||
'Token': integration.api_token
|
||||
Token: integration.api_token
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -16,21 +16,21 @@ RSpec.describe QA::Resource::Events::Project do
|
|||
let(:all_events) do
|
||||
[
|
||||
{
|
||||
"action_name": "pushed",
|
||||
"push_data": {
|
||||
"commit_title": "foo commit"
|
||||
action_name: "pushed",
|
||||
push_data: {
|
||||
commit_title: "foo commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_name": "pushed",
|
||||
"push_data": {
|
||||
"ref": "master"
|
||||
action_name: "pushed",
|
||||
push_data: {
|
||||
ref: "master"
|
||||
}
|
||||
},
|
||||
{
|
||||
"action_name": "pushed",
|
||||
"push_data": {
|
||||
"ref": "another-branch"
|
||||
action_name: "pushed",
|
||||
push_data: {
|
||||
ref: "another-branch"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue