gitlab-qa 7.5.0 → 7.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +60 -112
- data/bin/notify_upstream_commit +8 -1
- data/docs/what_tests_can_be_run.md +9 -0
- data/lib/gitlab/qa/report/generate_test_session.rb +4 -1
- data/lib/gitlab/qa/runtime/env.rb +28 -5
- data/lib/gitlab/qa/runtime/omnibus_configurations/object_storage_aws.rb +30 -0
- data/lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb +16 -16
- data/lib/gitlab/qa/scenario/test/integration/praefect.rb +1 -0
- data/lib/gitlab/qa/scenario/test/integration/registry.rb +44 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1e06262f75fd783ad520f9187ef99905ba0395b37c6c8b14c3f774568711f5f
|
4
|
+
data.tar.gz: 6af8e95ef6e1accb3c21d215c7431dba87277d0d20482a70e2218d2091d49ce8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48a9b41ef7f2d877f3056858d143ec93ba38f40776e3acede90e1349585d6abb3f36f2fd28e1b88e5c9b7b67f64142efe9687ce86570f174ca69b96c0046f40c
|
7
|
+
data.tar.gz: 82107ef081d53ed4b7e3d3ae7716d21be8189c7d3339a7998b91b912a43e1622d00e8e1b8f4c8433e4a395805af36379c920480e54be1cdf94999286a88a61b7
|
data/.gitlab-ci.yml
CHANGED
@@ -640,57 +640,16 @@ ee:group_saml-quarantine:
|
|
640
640
|
variables:
|
641
641
|
QA_SCENARIO: "Test::Integration::GroupSAML"
|
642
642
|
|
643
|
-
ce:
|
644
|
-
extends:
|
645
|
-
- .test
|
646
|
-
- .high-capacity
|
647
|
-
- .ce-qa
|
648
|
-
- .rspec-report-opts
|
649
|
-
allow_failure: true
|
650
|
-
variables:
|
651
|
-
QA_SCENARIO: "Test::Integration::Kubernetes"
|
652
|
-
|
653
|
-
ce:kubernetes-quarantine:
|
654
|
-
extends:
|
655
|
-
- .test
|
656
|
-
- .high-capacity
|
657
|
-
- .ce-qa
|
658
|
-
- .quarantine
|
659
|
-
- .rspec-report-opts
|
660
|
-
variables:
|
661
|
-
QA_SCENARIO: "Test::Integration::Kubernetes"
|
662
|
-
|
663
|
-
ee:kubernetes:
|
664
|
-
extends:
|
665
|
-
- .test
|
666
|
-
- .high-capacity
|
667
|
-
- .ee-qa
|
668
|
-
- .rspec-report-opts
|
669
|
-
allow_failure: true
|
670
|
-
variables:
|
671
|
-
QA_SCENARIO: "Test::Integration::Kubernetes"
|
672
|
-
|
673
|
-
ee:kubernetes-quarantine:
|
674
|
-
extends:
|
675
|
-
- .test
|
676
|
-
- .high-capacity
|
677
|
-
- .ee-qa
|
678
|
-
- .quarantine
|
679
|
-
- .rspec-report-opts
|
680
|
-
variables:
|
681
|
-
QA_SCENARIO: "Test::Integration::Kubernetes"
|
682
|
-
|
683
|
-
ce:ssh_tunnel:
|
643
|
+
ce:object_storage:
|
684
644
|
extends:
|
685
645
|
- .test
|
686
646
|
- .high-capacity
|
687
647
|
- .ce-qa
|
688
648
|
- .rspec-report-opts
|
689
|
-
allow_failure: true
|
690
649
|
variables:
|
691
|
-
|
650
|
+
GITLAB_QA_OPTS: "--omnibus-config object_storage"
|
692
651
|
|
693
|
-
ce:
|
652
|
+
ce:object_storage-quarantine:
|
694
653
|
extends:
|
695
654
|
- .test
|
696
655
|
- .high-capacity
|
@@ -698,19 +657,19 @@ ce:ssh_tunnel-quarantine:
|
|
698
657
|
- .quarantine
|
699
658
|
- .rspec-report-opts
|
700
659
|
variables:
|
701
|
-
|
660
|
+
GITLAB_QA_OPTS: "--omnibus-config object_storage"
|
702
661
|
|
703
|
-
ee:
|
662
|
+
ee:object_storage_aws:
|
704
663
|
extends:
|
705
664
|
- .test
|
706
665
|
- .high-capacity
|
707
666
|
- .ee-qa
|
708
667
|
- .rspec-report-opts
|
709
|
-
allow_failure: true
|
710
668
|
variables:
|
711
|
-
|
669
|
+
GITLAB_QA_OPTS: "--omnibus-config object_storage_aws"
|
670
|
+
QA_RSPEC_TAGS: "--tag object_storage"
|
712
671
|
|
713
|
-
ee:
|
672
|
+
ee:object_storage_aws-quarantine:
|
714
673
|
extends:
|
715
674
|
- .test
|
716
675
|
- .high-capacity
|
@@ -718,26 +677,8 @@ ee:ssh_tunnel-quarantine:
|
|
718
677
|
- .quarantine
|
719
678
|
- .rspec-report-opts
|
720
679
|
variables:
|
721
|
-
|
722
|
-
|
723
|
-
ce:object_storage:
|
724
|
-
extends:
|
725
|
-
- .test
|
726
|
-
- .high-capacity
|
727
|
-
- .ce-qa
|
728
|
-
- .rspec-report-opts
|
729
|
-
variables:
|
730
|
-
GITLAB_QA_OPTS: "--omnibus-config object_storage"
|
731
|
-
|
732
|
-
ce:object_storage-quarantine:
|
733
|
-
extends:
|
734
|
-
- .test
|
735
|
-
- .high-capacity
|
736
|
-
- .ce-qa
|
737
|
-
- .quarantine
|
738
|
-
- .rspec-report-opts
|
739
|
-
variables:
|
740
|
-
GITLAB_QA_OPTS: "--omnibus-config object_storage"
|
680
|
+
GITLAB_QA_OPTS: "--omnibus-config object_storage_aws"
|
681
|
+
QA_RSPEC_TAGS: "--tag quarantine --tag object_storage"
|
741
682
|
|
742
683
|
ee:object_storage:
|
743
684
|
extends:
|
@@ -1036,50 +977,23 @@ ee:jira-quarantine:
|
|
1036
977
|
variables:
|
1037
978
|
QA_SCENARIO: "Test::Integration::Jira"
|
1038
979
|
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
980
|
+
ce:large-setup:
|
981
|
+
extends:
|
982
|
+
- .test
|
983
|
+
- .high-capacity
|
984
|
+
- .ce-qa
|
985
|
+
- .rspec-report-opts
|
1044
986
|
variables:
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
before_script:
|
1056
|
-
- echo "Generating and publishing allure test report"
|
1057
|
-
script:
|
1058
|
-
- |
|
1059
|
-
allure-report-publisher upload gcs \
|
1060
|
-
--results-glob="gitlab-qa-run-*/**/allure-results/*" \
|
1061
|
-
--bucket="gitlab-qa-allure-reports" \
|
1062
|
-
--prefix="${ALLURE_JOB_NAME}/${TOP_UPSTREAM_SOURCE_REF:=$CI_COMMIT_REF_SLUG}" \
|
1063
|
-
--update-pr="comment" \
|
1064
|
-
--copy-latest \
|
1065
|
-
--ignore-missing-results \
|
1066
|
-
--color
|
1067
|
-
allow_failure: true
|
1068
|
-
rules:
|
1069
|
-
# Don't run report generation on release pipelines
|
1070
|
-
- if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
|
1071
|
-
changes: ["lib/**/version.rb"]
|
1072
|
-
when: never
|
1073
|
-
- if: '$CI_COMMIT_TAG'
|
1074
|
-
when: never
|
1075
|
-
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
|
1076
|
-
variables:
|
1077
|
-
ALLURE_JOB_NAME: gitlab-qa
|
1078
|
-
when: always
|
1079
|
-
- if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
|
1080
|
-
variables:
|
1081
|
-
ALLURE_JOB_NAME: package-and-qa
|
1082
|
-
when: always
|
987
|
+
QA_RSPEC_TAGS: "--tag can_use_large_setup"
|
988
|
+
|
989
|
+
ee:large-setup:
|
990
|
+
extends:
|
991
|
+
- .test
|
992
|
+
- .high-capacity
|
993
|
+
- .ee-qa
|
994
|
+
- .rspec-report-opts
|
995
|
+
variables:
|
996
|
+
QA_RSPEC_TAGS: "--tag can_use_large_setup"
|
1083
997
|
|
1084
998
|
# This job requires the `GITLAB_QA_ACCESS_TOKEN` and `GITLAB_QA_DEV_ACCESS_TOKEN`
|
1085
999
|
# variable to be passed when triggered.
|
@@ -1177,3 +1091,37 @@ notify_slack:
|
|
1177
1091
|
include:
|
1178
1092
|
- project: 'gitlab-org/quality/pipeline-common'
|
1179
1093
|
file: '/ci/gem-release.yml'
|
1094
|
+
- project: 'gitlab-org/quality/pipeline-common'
|
1095
|
+
file: '/ci/allure-report.yml'
|
1096
|
+
|
1097
|
+
generate-allure-report:
|
1098
|
+
extends: .generate-allure-report-base
|
1099
|
+
stage: report
|
1100
|
+
variables:
|
1101
|
+
STORAGE_CREDENTIALS: $QA_ALLURE_REPORT_GCS_CREDENTIALS
|
1102
|
+
GITLAB_AUTH_TOKEN: $GITLAB_QA_MR_ALLURE_REPORT_TOKEN
|
1103
|
+
ALLURE_RESULTS_GLOB: gitlab-qa-run-*/**/allure-results/*
|
1104
|
+
# Override allure variables for upstream triggers
|
1105
|
+
ALLURE_PROJECT_PATH: $TOP_UPSTREAM_SOURCE_PROJECT
|
1106
|
+
ALLURE_MERGE_REQUEST_IID: $TOP_UPSTREAM_MERGE_REQUEST_IID
|
1107
|
+
ALLURE_COMMIT_SHA: $TOP_UPSTREAM_SOURCE_SHA
|
1108
|
+
# Override default before script and don't push cache
|
1109
|
+
cache:
|
1110
|
+
policy: pull
|
1111
|
+
before_script:
|
1112
|
+
- echo "Generating and publishing allure test report"
|
1113
|
+
rules:
|
1114
|
+
# Don't run report generation on release pipelines
|
1115
|
+
- if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab-qa" && $RELEASE == null'
|
1116
|
+
changes: ["lib/**/version.rb"]
|
1117
|
+
when: never
|
1118
|
+
- if: '$CI_COMMIT_TAG'
|
1119
|
+
when: never
|
1120
|
+
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" || ($CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH)'
|
1121
|
+
variables:
|
1122
|
+
ALLURE_JOB_NAME: gitlab-qa
|
1123
|
+
when: always
|
1124
|
+
- if: '$TOP_UPSTREAM_SOURCE_PROJECT && $TOP_UPSTREAM_SOURCE_SHA'
|
1125
|
+
variables:
|
1126
|
+
ALLURE_JOB_NAME: package-and-qa
|
1127
|
+
when: always
|
data/bin/notify_upstream_commit
CHANGED
@@ -3,10 +3,17 @@
|
|
3
3
|
|
4
4
|
require 'gitlab'
|
5
5
|
|
6
|
+
# Default to "Multi-pipeline (from 'gitlab-org/gitlab-qa' 'notify_upstream_commit:*' jobs)" from current project
|
7
|
+
api_token = ENV.fetch('GITLAB_QA_PROJECT_ACCESS_TOKEN') do
|
8
|
+
puts "The $GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN variable is deprecated in favor of a dedicated project access token: $GITLAB_QA_PROJECT_ACCESS_TOKEN."
|
9
|
+
puts "See https://gitlab.com/groups/gitlab-org/quality/-/epics/17 for more details."
|
10
|
+
ENV['GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN']
|
11
|
+
end
|
12
|
+
|
6
13
|
# Configure credentials to be used with gitlab gem
|
7
14
|
Gitlab.configure do |config|
|
8
15
|
config.endpoint = 'https://gitlab.com/api/v4'
|
9
|
-
config.private_token =
|
16
|
+
config.private_token = api_token
|
10
17
|
end
|
11
18
|
|
12
19
|
class CommitComment
|
@@ -813,6 +813,15 @@ $ export EE_LICENSE=$(cat /path/to/gitlab_license)
|
|
813
813
|
$ gitlab-qa Test::Instance::Airgapped EE -- --tag smoke
|
814
814
|
```
|
815
815
|
|
816
|
+
### `Test::Instance::Image CE|EE|<full image address> --omnibus-config object_storage`
|
817
|
+
|
818
|
+
This orchestrated scenario runs tests from the test suite against a GitLab instance which has object storage configured instead of using local storage. The omnibus configuration `object_storage` ([configurator](configuring_omnibus.md)), uses Minio and `object_storage_aws` uses an AWS S3 account with credentials configured in the pipeline as CI Variables (available on 1Password). Requires:
|
819
|
+
|
820
|
+
* `AWS_S3_REGION` - Region where the bucket is created. To optimize latency, minimize costs, or address regulatory requirements, choose any AWS Region that is geographically close to you.
|
821
|
+
* `AWS_S3_KEY_ID` - Key ID for the user accessing the bucket.
|
822
|
+
* `AWS_S3_ACCESS_KEY` - Access Key for the user accessing the bucket.
|
823
|
+
* `AWS_S3_BUCKET_NAME` - The name of the bucket where objects are stored. After a bucket is created, the name of that bucket cannot be used by another AWS account in any AWS Region until the bucket is deleted.
|
824
|
+
|
816
825
|
### `Test::Instance::Geo EE|<full image address>:nightly|latest|any_tag http://geo-primary.gitlab http://geo-secondary.gitlab`
|
817
826
|
|
818
827
|
This scenario will run tests tagged `:geo` against a live Geo deployment, by spinning up a GitLab QA (`gitlab/gitlab-qa`)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'erb'
|
4
|
+
|
3
5
|
module Gitlab
|
4
6
|
module QA
|
5
7
|
module Report
|
@@ -189,11 +191,12 @@ module Gitlab
|
|
189
191
|
|
190
192
|
def generate_test_text(testcase, tests_with_same_testcase, passed)
|
191
193
|
text = tests_with_same_testcase.map(&:name).uniq.join(', ')
|
194
|
+
encoded_text = ERB::Util.url_encode(text)
|
192
195
|
|
193
196
|
if testcase && !passed
|
194
197
|
# Workaround for reducing system notes on testcase issues
|
195
198
|
# The first regex extracts the link to the issues list page from a link to a single issue show page by removing the issue id.
|
196
|
-
"[#{text}](#{testcase.match(%r{[\s\S]+\/[^\/\d]+})}?state=opened&search=#{
|
199
|
+
"[#{text}](#{testcase.match(%r{[\s\S]+\/[^\/\d]+})}?state=opened&search=#{encoded_text}) (testcase_id=#{testcase.match(/\d+/)})"
|
197
200
|
else
|
198
201
|
text
|
199
202
|
end
|
@@ -92,7 +92,12 @@ module Gitlab
|
|
92
92
|
'DEPLOY_VERSION' => :deploy_version,
|
93
93
|
'GITLAB_QA_USER_AGENT' => :gitlab_qa_user_agent,
|
94
94
|
'GEO_FAILOVER' => :geo_failover,
|
95
|
-
'GITLAB_INITIAL_ROOT_PASSWORD' => :initial_root_password
|
95
|
+
'GITLAB_INITIAL_ROOT_PASSWORD' => :initial_root_password,
|
96
|
+
'GITLAB_TLS_CERTIFICATE' => :gitlab_tls_certificate,
|
97
|
+
'AWS_S3_REGION' => :aws_s3_region,
|
98
|
+
'AWS_S3_KEY_ID' => :aws_s3_key_id,
|
99
|
+
'AWS_S3_ACCESS_KEY' => :aws_s3_access_key,
|
100
|
+
'AWS_S3_BUCKET_NAME' => :aws_s3_bucket_name
|
96
101
|
}.freeze
|
97
102
|
|
98
103
|
ENV_VARIABLES.each do |env_name, method_name|
|
@@ -126,10 +131,6 @@ module Gitlab
|
|
126
131
|
ENV['GITLAB_API_BASE'] || 'https://gitlab.com/api/v4'
|
127
132
|
end
|
128
133
|
|
129
|
-
def gitlab_bot_multi_project_pipeline_polling_token
|
130
|
-
ENV['GITLAB_BOT_MULTI_PROJECT_PIPELINE_POLLING_TOKEN']
|
131
|
-
end
|
132
|
-
|
133
134
|
def gitlab_ci_api_token
|
134
135
|
ENV['GITLAB_CI_API_TOKEN']
|
135
136
|
end
|
@@ -214,6 +215,22 @@ module Gitlab
|
|
214
215
|
ENV['ELASTIC_VERSION'] || '6.4.2'.freeze
|
215
216
|
end
|
216
217
|
|
218
|
+
def aws_s3_region
|
219
|
+
ENV['AWS_S3_REGION']
|
220
|
+
end
|
221
|
+
|
222
|
+
def aws_s3_key_id
|
223
|
+
ENV['AWS_S3_KEY_ID']
|
224
|
+
end
|
225
|
+
|
226
|
+
def aws_s3_access_key
|
227
|
+
ENV['AWS_S3_ACCESS_KEY']
|
228
|
+
end
|
229
|
+
|
230
|
+
def aws_s3_bucket_name
|
231
|
+
ENV['AWS_S3_BUCKET_NAME']
|
232
|
+
end
|
233
|
+
|
217
234
|
def variables
|
218
235
|
vars = {}
|
219
236
|
|
@@ -269,6 +286,12 @@ module Gitlab
|
|
269
286
|
end
|
270
287
|
end
|
271
288
|
|
289
|
+
def require_aws_s3_environment!
|
290
|
+
%w[AWS_S3_REGION AWS_S3_KEY_ID AWS_S3_ACCESS_KEY AWS_S3_BUCKET_NAME].each do |env_key|
|
291
|
+
raise ArgumentError, "Environment variable #{env_key} must be set to run AWS S3 object storage specs" unless ENV.key?(env_key)
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
272
295
|
def require_initial_password!
|
273
296
|
return unless ENV['GITLAB_INITIAL_ROOT_PASSWORD'].to_s.strip.empty?
|
274
297
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Runtime
|
6
|
+
module OmnibusConfigurations
|
7
|
+
class ObjectStorageAws < Default
|
8
|
+
def configuration
|
9
|
+
Runtime::Env.require_aws_s3_environment!
|
10
|
+
|
11
|
+
<<~OMNIBUS
|
12
|
+
gitlab_rails['object_store']['enabled'] = true
|
13
|
+
gitlab_rails['object_store']['proxy_download'] = true
|
14
|
+
gitlab_rails['object_store']['connection'] = { 'provider' => 'AWS', 'region' => '#{Runtime::Env.aws_s3_region}', 'aws_access_key_id' => '#{Runtime::Env.aws_s3_key_id}', 'aws_secret_access_key' => '#{Runtime::Env.aws_s3_access_key}' }
|
15
|
+
|
16
|
+
gitlab_rails['object_store']['objects']['artifacts']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
17
|
+
gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
18
|
+
gitlab_rails['object_store']['objects']['lfs']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
19
|
+
gitlab_rails['object_store']['objects']['uploads']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
20
|
+
gitlab_rails['object_store']['objects']['packages']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
21
|
+
gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
22
|
+
gitlab_rails['object_store']['objects']['pages']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
23
|
+
gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = '#{Runtime::Env.aws_s3_bucket_name}'
|
24
|
+
OMNIBUS
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -107,23 +107,23 @@ module Gitlab
|
|
107
107
|
praefect['database_password'] = 'SQL_PASSWORD';
|
108
108
|
praefect['database_dbname'] = 'praefect_production';
|
109
109
|
praefect['database_sslmode'] = 'disable';
|
110
|
-
praefect['
|
111
|
-
praefect['
|
112
|
-
praefect['failover_election_strategy'] = 'per_repository';
|
110
|
+
praefect['database_direct_host'] = '#{@database}.#{@network}';
|
111
|
+
praefect['database_direct_port'] = 5432;
|
113
112
|
praefect['virtual_storages'] = {
|
114
113
|
'default' => {
|
115
|
-
'
|
116
|
-
'
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
114
|
+
'nodes' => {
|
115
|
+
'#{@primary_node_name}' => {
|
116
|
+
'address' => 'tcp://#{@primary_node_name}.#{@network}:8075',
|
117
|
+
'token' => 'PRAEFECT_INTERNAL_TOKEN'
|
118
|
+
},
|
119
|
+
'#{@secondary_node_name}' => {
|
120
|
+
'address' => 'tcp://#{@secondary_node_name}.#{@network}:8075',
|
121
|
+
'token' => 'PRAEFECT_INTERNAL_TOKEN'
|
122
|
+
},
|
123
|
+
'#{@tertiary_node_name}' => {
|
124
|
+
'address' => 'tcp://#{@tertiary_node_name}.#{@network}:8075',
|
125
|
+
'token' => 'PRAEFECT_INTERNAL_TOKEN'
|
126
|
+
}
|
127
127
|
}
|
128
128
|
}
|
129
129
|
};
|
@@ -164,7 +164,7 @@ module Gitlab
|
|
164
164
|
'gitaly_token' => 'PRAEFECT_EXTERNAL_TOKEN'
|
165
165
|
}
|
166
166
|
});
|
167
|
-
gitaly['
|
167
|
+
gitaly['enable'] = false;
|
168
168
|
gitlab_shell['secret_token'] = 'GITLAB_SHELL_SECRET_TOKEN';
|
169
169
|
prometheus['scrape_configs'] = [
|
170
170
|
{
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Scenario
|
6
|
+
module Test
|
7
|
+
module Integration
|
8
|
+
class Registry < Scenario::Template
|
9
|
+
def perform(release, *rspec_args)
|
10
|
+
Component::Gitlab.perform do |gitlab|
|
11
|
+
gitlab.release = release
|
12
|
+
gitlab.network = 'test'
|
13
|
+
gitlab.name = 'gitlab'
|
14
|
+
gitlab.tls = true
|
15
|
+
|
16
|
+
gitlab.omnibus_configuration << <<~OMNIBUS
|
17
|
+
external_url 'https://#{gitlab.name}.#{gitlab.network}';
|
18
|
+
registry_external_url 'https://#{gitlab.name}.#{gitlab.network}:5050';
|
19
|
+
|
20
|
+
letsencrypt['enable'] = false;
|
21
|
+
|
22
|
+
nginx['redirect_http_to_https'] = true;
|
23
|
+
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.test.crt";
|
24
|
+
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.test.key";
|
25
|
+
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.test.crt";
|
26
|
+
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.test.key";
|
27
|
+
OMNIBUS
|
28
|
+
|
29
|
+
gitlab.instance do
|
30
|
+
Component::Specs.perform do |specs|
|
31
|
+
specs.suite = 'Test::Integration::Registry'
|
32
|
+
specs.release = gitlab.release
|
33
|
+
specs.network = gitlab.network
|
34
|
+
specs.args = [gitlab.address, *rspec_args]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/gitlab/qa/version.rb
CHANGED
data/lib/gitlab/qa.rb
CHANGED
@@ -14,6 +14,7 @@ module Gitlab
|
|
14
14
|
autoload :Default, 'gitlab/qa/runtime/omnibus_configurations/default'
|
15
15
|
autoload :Packages, 'gitlab/qa/runtime/omnibus_configurations/packages'
|
16
16
|
autoload :ObjectStorage, 'gitlab/qa/runtime/omnibus_configurations/object_storage'
|
17
|
+
autoload :ObjectStorageAws, 'gitlab/qa/runtime/omnibus_configurations/object_storage_aws'
|
17
18
|
autoload :LicenseMode, 'gitlab/qa/runtime/omnibus_configurations/license_mode'
|
18
19
|
end
|
19
20
|
end
|
@@ -66,6 +67,7 @@ module Gitlab
|
|
66
67
|
autoload :SSHTunnel, 'gitlab/qa/scenario/test/integration/ssh_tunnel'
|
67
68
|
autoload :MTLS, 'gitlab/qa/scenario/test/integration/mtls'
|
68
69
|
autoload :ClientSSL, 'gitlab/qa/scenario/test/integration/client_ssl'
|
70
|
+
autoload :Registry, 'gitlab/qa/scenario/test/integration/registry'
|
69
71
|
end
|
70
72
|
|
71
73
|
module Sanity
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-qa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab Quality
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -293,6 +293,7 @@ files:
|
|
293
293
|
- lib/gitlab/qa/runtime/omnibus_configurations/default.rb
|
294
294
|
- lib/gitlab/qa/runtime/omnibus_configurations/license_mode.rb
|
295
295
|
- lib/gitlab/qa/runtime/omnibus_configurations/object_storage.rb
|
296
|
+
- lib/gitlab/qa/runtime/omnibus_configurations/object_storage_aws.rb
|
296
297
|
- lib/gitlab/qa/runtime/omnibus_configurations/packages.rb
|
297
298
|
- lib/gitlab/qa/runtime/scenario.rb
|
298
299
|
- lib/gitlab/qa/runtime/token_finder.rb
|
@@ -328,6 +329,7 @@ files:
|
|
328
329
|
- lib/gitlab/qa/scenario/test/integration/mattermost.rb
|
329
330
|
- lib/gitlab/qa/scenario/test/integration/mtls.rb
|
330
331
|
- lib/gitlab/qa/scenario/test/integration/praefect.rb
|
332
|
+
- lib/gitlab/qa/scenario/test/integration/registry.rb
|
331
333
|
- lib/gitlab/qa/scenario/test/integration/saml.rb
|
332
334
|
- lib/gitlab/qa/scenario/test/integration/smtp.rb
|
333
335
|
- lib/gitlab/qa/scenario/test/integration/ssh_tunnel.rb
|