gitlab-qa 7.14.0 → 7.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +25 -0
- data/docs/run_qa_against_gdk.md +11 -1
- data/docs/what_tests_can_be_run.md +1 -0
- data/lib/gitlab/qa/report/results_in_issues.rb +6 -2
- data/lib/gitlab/qa/runtime/env.rb +2 -1
- data/lib/gitlab/qa/scenario/test/integration/service_ping_disabled.rb +33 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe746c675e46af459fc920bfcf752441411cca5f573e35ddf7fb06571e27c972
|
4
|
+
data.tar.gz: f6e619f95e5ff3d8f249aaea2e7ca674dcc22624cf9d94b1ef43aeed9d470417
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b54bdc2eb26373a0a1d4bf096bf6e1adb6ad72b2fc1d439a1bddf417ecdc3deb7cc39d58b91cd89f8b748cf4e02b8ca809af6539a5faf40f638f18554fb70ea0
|
7
|
+
data.tar.gz: 10cbfcbc452a16a47718458c75121967c216c01b492c33da80f42e56d97d478844b719f2121f38816707f4110b0ee81743a5e026228e2bab8573e7755b2d7822
|
data/.gitlab-ci.yml
CHANGED
@@ -66,6 +66,7 @@ rspec:
|
|
66
66
|
|
67
67
|
.test:
|
68
68
|
stage: test
|
69
|
+
timeout: 1 hour 30 minutes
|
69
70
|
services:
|
70
71
|
- docker:20.10.5-dind
|
71
72
|
tags:
|
@@ -527,6 +528,26 @@ ee:mattermost-quarantine:
|
|
527
528
|
variables:
|
528
529
|
QA_SCENARIO: "Test::Integration::Mattermost"
|
529
530
|
|
531
|
+
ce:service_ping_disabled:
|
532
|
+
extends:
|
533
|
+
- .rules:ce-never-when-triggered-by-feature-flag-definition-change
|
534
|
+
- .test
|
535
|
+
- .high-capacity
|
536
|
+
- .ce-variables
|
537
|
+
- .rspec-report-opts
|
538
|
+
variables:
|
539
|
+
QA_SCENARIO: "Test::Integration::ServicePingDisabled"
|
540
|
+
|
541
|
+
ee:service_ping_disabled:
|
542
|
+
extends:
|
543
|
+
- .rules:ee-never-when-triggered-by-feature-flag-definition-change
|
544
|
+
- .test
|
545
|
+
- .high-capacity
|
546
|
+
- .ee-variables
|
547
|
+
- .rspec-report-opts
|
548
|
+
variables:
|
549
|
+
QA_SCENARIO: "Test::Integration::ServicePingDisabled"
|
550
|
+
|
530
551
|
# Disabling geo jobs temporarily due to https://gitlab.com/gitlab-org/gitlab/-/issues/273063
|
531
552
|
# ee:geo:
|
532
553
|
# extends:
|
@@ -1066,6 +1087,7 @@ ce:gitaly-cluster:
|
|
1066
1087
|
- .rspec-report-opts
|
1067
1088
|
variables:
|
1068
1089
|
QA_SCENARIO: "Test::Integration::GitalyCluster"
|
1090
|
+
QA_LOG_PATH: "tmp/gitaly_cluster.log"
|
1069
1091
|
|
1070
1092
|
ce:gitaly-cluster-quarantine:
|
1071
1093
|
extends:
|
@@ -1077,6 +1099,7 @@ ce:gitaly-cluster-quarantine:
|
|
1077
1099
|
- .rspec-report-opts
|
1078
1100
|
variables:
|
1079
1101
|
QA_SCENARIO: "Test::Integration::GitalyCluster"
|
1102
|
+
QA_LOG_PATH: "tmp/gitaly_cluster.log"
|
1080
1103
|
|
1081
1104
|
ee:gitaly-cluster:
|
1082
1105
|
extends:
|
@@ -1087,6 +1110,7 @@ ee:gitaly-cluster:
|
|
1087
1110
|
- .rspec-report-opts
|
1088
1111
|
variables:
|
1089
1112
|
QA_SCENARIO: "Test::Integration::GitalyCluster"
|
1113
|
+
QA_LOG_PATH: "tmp/gitaly_cluster.log"
|
1090
1114
|
|
1091
1115
|
ee:gitaly-cluster-quarantine:
|
1092
1116
|
extends:
|
@@ -1098,6 +1122,7 @@ ee:gitaly-cluster-quarantine:
|
|
1098
1122
|
- .rspec-report-opts
|
1099
1123
|
variables:
|
1100
1124
|
QA_SCENARIO: "Test::Integration::GitalyCluster"
|
1125
|
+
QA_LOG_PATH: "tmp/gitaly_cluster.log"
|
1101
1126
|
|
1102
1127
|
ce:mtls:
|
1103
1128
|
extends:
|
data/docs/run_qa_against_gdk.md
CHANGED
@@ -49,6 +49,16 @@ make a few changes to your `gdk/gitlab/config/gitlab.yml` file.
|
|
49
49
|
**Note:** The hostname of the URL provided to `gitlab-qa` must match the hostname configured for GDK.
|
50
50
|
If they do not match, a test will be signed out when it visits a page directly because the hostname of the URL visited will be different from the hostname that was used when signing in.
|
51
51
|
|
52
|
+
**Note:** When you log into your GDK instance of GitLab for the first time, the root password requires a change.
|
53
|
+
GitLab QA expects the default initial password to be used in tests; see all default values listed in
|
54
|
+
[Supported GitLab environment variables](what_tests_can_be_run.md#supported-gitlab-environment-variables).
|
55
|
+
If you have changed your root password, you must set the `GITLAB_INITIAL_ROOT_PASSWORD` environment
|
56
|
+
variable.
|
57
|
+
|
58
|
+
```
|
59
|
+
export GITLAB_INITIAL_ROOT_PASSWORD="<GDK root password>"
|
60
|
+
```
|
61
|
+
|
52
62
|
### Running EE tests
|
53
63
|
|
54
64
|
When running EE tests you'll need to have a license available. GitLab engineers can [request a license](https://about.gitlab.com/handbook/developer-onboarding/#working-on-gitlab-ee).
|
@@ -101,7 +111,7 @@ your DNS and point to the IP/port of `dnsdock` application.
|
|
101
111
|
|
102
112
|
### Docker on macOS caveats
|
103
113
|
|
104
|
-
When using OS X Docker, you need to go to Preferences > Advanced and allocate at least **5.0 GB**,
|
114
|
+
When using OS X Docker, you need to go to Preferences > Resources > Advanced and allocate at least **5.0 GB**,
|
105
115
|
otherwise some steps may fail to execute the `chrome-webdriver`.
|
106
116
|
|
107
117
|
When using docker-machine, see [this StackOverflow link for increasing memory](https://stackoverflow.com/questions/32834082/how-to-increase-docker-machine-memory-mac/36982696#36982696).
|
@@ -62,6 +62,7 @@ All environment variables used by GitLab QA should be defined in [`lib/gitlab/qa
|
|
62
62
|
| `QA_ARTIFACTS_DIR` |`/tmp/gitlab-qa`| Path to a directory where artifacts (logs and screenshots) for failing tests will be saved. | No|
|
63
63
|
| `DOCKER_HOST` |`http://localhost`| Docker host to run tests against. | No|
|
64
64
|
| `WEBDRIVER_HEADLESS` |- | When running locally, set to `false` to allow Chrome tests to be visible - watch your tests being run. | No|
|
65
|
+
| `CHROME_DISABLE_DEV_SHM` | `false` | Set to `true` to disable `/dev/shm` usage in Chrome on Linux. | No|
|
65
66
|
| `QA_ADDITIONAL_REPOSITORY_STORAGE` |- | The name of additional, non-default storage to be used with tests tagged `repository_storage`, run via the `Test::Instance::RepositoryStorage` scenario. Note: Admin access is required to change repository storage. | No|
|
66
67
|
| `QA_PRAEFECT_REPOSITORY_STORAGE` |- | The name of repository storage using Praefect. Note: Admin access is required to change repository storage. | No|
|
67
68
|
| `QA_COOKIES` |- | Optionally set to "cookie1=value;cookie2=value" in order to add a cookie to every request. This can be used to set the canary cookie by setting it to "gitlab_canary=true". | No|
|
@@ -35,7 +35,7 @@ module Gitlab
|
|
35
35
|
issue = find_linked_results_issue_by_iid(testcase, test)
|
36
36
|
|
37
37
|
if issue
|
38
|
-
issue = update_issue_title(issue, test, 'issue') if issue
|
38
|
+
issue = update_issue_title(issue, test, 'issue') if issue_title_needs_updating?(issue, test)
|
39
39
|
else
|
40
40
|
puts "No valid issue link found"
|
41
41
|
issue = find_or_create_results_issue(test)
|
@@ -51,7 +51,7 @@ module Gitlab
|
|
51
51
|
testcase = find_testcase_by_iid(test)
|
52
52
|
|
53
53
|
if testcase
|
54
|
-
testcase = update_issue_title(testcase, test, 'test_case') if testcase
|
54
|
+
testcase = update_issue_title(testcase, test, 'test_case') if issue_title_needs_updating?(testcase, test)
|
55
55
|
else
|
56
56
|
testcase = find_issue(test, 'test_case')
|
57
57
|
end
|
@@ -67,6 +67,10 @@ module Gitlab
|
|
67
67
|
find_issue_by_iid(iid, 'test_case')
|
68
68
|
end
|
69
69
|
|
70
|
+
def issue_title_needs_updating?(issue, test)
|
71
|
+
issue.title.strip != title_from_test(test) && !%w[canary production preprod release].include?(pipeline)
|
72
|
+
end
|
73
|
+
|
70
74
|
def find_linked_results_issue_by_iid(testcase, test)
|
71
75
|
iid = issue_iid_from_testcase(testcase)
|
72
76
|
|
@@ -123,7 +123,8 @@ module Gitlab
|
|
123
123
|
'GOOGLE_JSON_KEY' => :google_json_key,
|
124
124
|
'GCS_BUCKET_NAME' => :gcs_bucket_name,
|
125
125
|
'SMOKE_ONLY' => :smoke_only,
|
126
|
-
'NO_ADMIN' => :no_admin
|
126
|
+
'NO_ADMIN' => :no_admin,
|
127
|
+
'CHROME_DISABLE_DEV_SHM' => :chrome_disable_dev_shm
|
127
128
|
}.freeze
|
128
129
|
|
129
130
|
ENV_VARIABLES.each do |env_name, method_name|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module QA
|
5
|
+
module Scenario
|
6
|
+
module Test
|
7
|
+
module Integration
|
8
|
+
class ServicePingDisabled < Scenario::Template
|
9
|
+
def perform(release, *rspec_args)
|
10
|
+
Component::Gitlab.perform do |gitlab|
|
11
|
+
gitlab.release = release
|
12
|
+
gitlab.network = 'test'
|
13
|
+
|
14
|
+
gitlab.omnibus_configuration << <<~OMNIBUS
|
15
|
+
gitlab_rails['usage_ping_enabled'] = false;
|
16
|
+
OMNIBUS
|
17
|
+
|
18
|
+
gitlab.instance do
|
19
|
+
Component::Specs.perform do |specs|
|
20
|
+
specs.suite = 'Test::Integration::ServicePingDisabled'
|
21
|
+
specs.release = gitlab.release
|
22
|
+
specs.network = gitlab.network
|
23
|
+
specs.args = [gitlab.address, *rspec_args]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/gitlab/qa/version.rb
CHANGED
data/lib/gitlab/qa.rb
CHANGED
@@ -72,6 +72,7 @@ module Gitlab
|
|
72
72
|
autoload :ClientSSL, 'gitlab/qa/scenario/test/integration/client_ssl'
|
73
73
|
autoload :Registry, 'gitlab/qa/scenario/test/integration/registry'
|
74
74
|
autoload :RegistryTLS, 'gitlab/qa/scenario/test/integration/registry_tls'
|
75
|
+
autoload :ServicePingDisabled, 'gitlab/qa/scenario/test/integration/service_ping_disabled'
|
75
76
|
end
|
76
77
|
|
77
78
|
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.15.0
|
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-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -309,6 +309,7 @@ files:
|
|
309
309
|
- lib/gitlab/qa/scenario/test/integration/registry.rb
|
310
310
|
- lib/gitlab/qa/scenario/test/integration/registry_tls.rb
|
311
311
|
- lib/gitlab/qa/scenario/test/integration/saml.rb
|
312
|
+
- lib/gitlab/qa/scenario/test/integration/service_ping_disabled.rb
|
312
313
|
- lib/gitlab/qa/scenario/test/integration/smtp.rb
|
313
314
|
- lib/gitlab/qa/scenario/test/integration/ssh_tunnel.rb
|
314
315
|
- lib/gitlab/qa/scenario/test/omnibus/image.rb
|