gitlab-qa 10.4.1 → 10.6.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/changelog_config.yml +13 -0
- data/.gitlab/merge_request_templates/Release.md +9 -36
- data/Dangerfile +1 -5
- data/Gemfile.lock +4 -4
- data/README.md +1 -2
- data/docs/running_against_remote_grid.md +39 -2
- data/gitlab-qa.gemspec +1 -1
- data/lib/gitlab/qa/component/gitaly_cluster.rb +0 -1
- data/lib/gitlab/qa/component/selenoid.rb +8 -3
- data/lib/gitlab/qa/runtime/env.rb +21 -1
- data/lib/gitlab/qa/scenario/test/instance/airgapped.rb +0 -2
- data/lib/gitlab/qa/scenario/test/integration/gitaly_cluster.rb +0 -2
- data/lib/gitlab/qa/scenario/test/integration/mtls.rb +0 -1
- data/lib/gitlab/qa/scenario/test/integration/praefect.rb +0 -2
- data/lib/gitlab/qa/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d20bcf2165a475147754d654e35715f0715552ea01dfcf866ed7d133f5ae9097
|
|
4
|
+
data.tar.gz: 99e4ff3dc864f8a2afee3dcdcc11ac07ffc9dfd6d344ef140356c3c5131d837b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d73658a3b283fb9616dd4b12469467d6851f194685350b6d07f78116f34c8db647bb5bc7226ec0a5d5e4f1f14864de94665774b0ff74ab0ea31b54a26828f82
|
|
7
|
+
data.tar.gz: e31e45cfe7a154567ac8bf5ba08522f930236d7710eda01018c9d23d607f02adcd4584455f4f59d10eb00834eae23f65b87603c8144e602f8bd569248b89c051
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Settings for generating changelogs using the GitLab API. See
|
|
3
|
+
# https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data for
|
|
4
|
+
# more information.
|
|
5
|
+
categories:
|
|
6
|
+
added: Added
|
|
7
|
+
fixed: Fixed
|
|
8
|
+
changed: Changed
|
|
9
|
+
deprecated: Deprecated
|
|
10
|
+
removed: Removed
|
|
11
|
+
security: Security
|
|
12
|
+
performance: Performance
|
|
13
|
+
other: Other
|
|
@@ -1,40 +1,13 @@
|
|
|
1
|
-
<!-- Replace
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!-- Replace `<PREVIOUS_VERSION>` with the previous version number here, `<COMMIT_UPDATING_VERSION>` with the latest
|
|
2
|
+
commit from this merge request, and `<NEW_VERSION>` with the upcoming version number. -->
|
|
3
|
+
## Diff
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
https://gitlab.com/gitlab-org/gitlab-qa/-/compare/v<PREVIOUS_VERSION>...<COMMIT_UPDATING_VERSION>
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Checklist
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
- [ ] Diff link is up-to-date.
|
|
10
|
+
- [ ] Check the release notes: https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-qa/repository/changelog?version=<NEW_VERSION>
|
|
11
|
+
- [ ] Based on the diff and the release notes, `version.rb` is updated, according to [SemVer](https://semver.org).
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
### Fixes
|
|
15
|
-
|
|
16
|
-
- !bbb <Title of the bbb MR>.
|
|
17
|
-
|
|
18
|
-
### Doc changes
|
|
19
|
-
|
|
20
|
-
- !ccc <Title of the ccc MR>.
|
|
21
|
-
|
|
22
|
-
### Other changes (CI, backstage)
|
|
23
|
-
|
|
24
|
-
- !ddd <Title of the ddd MR>.
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
- Checklist before merging:
|
|
28
|
-
- [ ] Diff link is up-to-date.
|
|
29
|
-
- [ ] Based on the diff, `lib/gitlab/qa/version.rb` is updated, according to [SemVer](https://semver.org).
|
|
30
|
-
- [ ] Release notes are accurate.
|
|
31
|
-
|
|
32
|
-
- Checklist after merging:
|
|
33
|
-
- [ ] [Update the release notes for the newly created tag](docs/release_process.md#how-to).
|
|
34
|
-
|
|
35
|
-
- Checklist after gitlab-qa version has been released by the post merge pipeline:
|
|
36
|
-
- [ ] In the pipeline-common project, [update the GITLAB_QA_VERSION](https://gitlab.com/gitlab-org/quality/pipeline-common/-/blob/master/ci/base.gitlab-ci.yml) and [create a release](https://gitlab.com/gitlab-org/quality/pipeline-common#release-process).
|
|
37
|
-
- [ ] In the GitLab project, update the ref for pipeline-common in [qa-common](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/ci/qa-common/main.gitlab-ci.yml) and [review-apps](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/ci/review-apps/qa.gitlab-ci.yml).
|
|
38
|
-
- [ ] Unless already done by [renovate-gitlab-bot](https://gitlab.com/dashboard/merge_requests?scope=all&state=opened&author_username=gitlab-dependency-update-bot&label_name[]=Quality), or if you need it sooner, in the GitLab project, [update the gitlab-qa gem version](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/Gemfile) and [`Gemfile.lock`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/Gemfile.lock) (for an example, see: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117054).
|
|
39
|
-
|
|
40
|
-
/label ~Quality ~"type::maintenance" ~"maintenance::dependency"
|
|
13
|
+
/label ~Quality ~"type::maintenance" ~"maintenance::dependency" ~Quality
|
data/Dangerfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
gitlab-qa (10.
|
|
4
|
+
gitlab-qa (10.6.0)
|
|
5
5
|
activesupport (~> 6.1)
|
|
6
|
-
gitlab (~> 4.
|
|
6
|
+
gitlab (~> 4.19)
|
|
7
7
|
http (~> 5.0)
|
|
8
8
|
nokogiri (~> 1.10)
|
|
9
9
|
parallel (>= 1, < 2)
|
|
@@ -91,8 +91,8 @@ GEM
|
|
|
91
91
|
git (1.12.0)
|
|
92
92
|
addressable (~> 2.8)
|
|
93
93
|
rchardet (~> 1.8)
|
|
94
|
-
gitlab (4.
|
|
95
|
-
httparty (~> 0.
|
|
94
|
+
gitlab (4.19.0)
|
|
95
|
+
httparty (~> 0.20)
|
|
96
96
|
terminal-table (>= 1.5.1)
|
|
97
97
|
gitlab-dangerfiles (2.11.0)
|
|
98
98
|
danger (>= 8.4.5)
|
data/README.md
CHANGED
|
@@ -96,8 +96,7 @@ of tests.
|
|
|
96
96
|
## How do we use it
|
|
97
97
|
|
|
98
98
|
Currently, we execute the test suite against GitLab Docker images created by
|
|
99
|
-
Omnibus nightly via a
|
|
100
|
-
project.
|
|
99
|
+
Omnibus nightly via a [`gitlab-org/gitlab` nightly schedule pipeline](https://gitlab.com/gitlab-org/gitlab/-/pipeline_schedules).
|
|
101
100
|
|
|
102
101
|
We also execute the test suite nightly against our [staging environment](https://staging.gitlab.com)
|
|
103
102
|
via a pipeline in the [staging project](https://gitlab.com/gitlab-org/quality/staging).
|
|
@@ -8,19 +8,56 @@ I.e, if you have a Selenium server set up at http://localhost:4444 or if you hav
|
|
|
8
8
|
|
|
9
9
|
| Variable | Description | Default | Example(s) |
|
|
10
10
|
|---------------------------|----------------------------------------------------------------|----------|--------------------------------|
|
|
11
|
-
| QA_BROWSER | Browser to run against | "chrome" | "chrome" "
|
|
12
|
-
| QA_BROWSER_VERSION | Version of browser to run against | "
|
|
11
|
+
| QA_BROWSER | Browser to run against | "chrome" | "chrome" "edge" |
|
|
12
|
+
| QA_BROWSER_VERSION | Version of browser to run against | "111.0" | "latest" "111.0" "mobile-111.0"|
|
|
13
13
|
| QA_REMOTE_GRID_PROTOCOL | Protocol to use | "http" | "http" "https" |
|
|
14
14
|
| QA_REMOTE_GRID | Remote grid to run tests against | | "localhost:3000" "provider:80" "selenoid:4444" |
|
|
15
15
|
| QA_LAYOUT | Used with Selenoid. Tells test nav to expect collapsed menus. "phone" expects collapsed top and left nav bars, "tablet" expects collapsed left nav bar only. | | "phone", "tablet" |
|
|
16
16
|
| SELENOID_DIRECTORY | Used with Selenoid. Directory to save videos to | "<host_artifacts_dir>/selenoid" | |
|
|
17
17
|
| USE_SELENOID | Used with Selenoid. Sets up selenoid containers. | false | false, true |
|
|
18
18
|
| QA_RECORD_VIDEO | Used with Selenoid. Triggers video recording. | false | false, true |
|
|
19
|
+
| QA_BROWSER_IMAGE | Used with Selenoid. Sets the browser image to use for video recording. | "selenoid/chrome" | "selenoid/chrome", "registry.gitlab.com/gitlab-org/gitlab-qa/selenoid-chrome-gitlab" |
|
|
20
|
+
| QA_VIDEO_RECORDER_IMAGE | Used with Selenoid. Sets the video recorder image to use for video recording. | "presidenten/selenoid-manual-video-recorder" | "presidenten/selenoid-manual-video-recorder" |
|
|
21
|
+
| QA_VIDEO_RECORDER_VERSION | Used with Selenoid. Sets the video recorder image version to use for video recording. | "latest" | "latest" |
|
|
22
|
+
| QA_RECORD_VIDEO | Used with Selenoid. Triggers video recording. | false | false, true |
|
|
19
23
|
| QA_REMOTE_GRID_USERNAME | Used with Sauce Labs. Username to specify in the remote grid. "USERNAME@provider:80" | | "gitlab-sl" |
|
|
20
24
|
| QA_REMOTE_GRID_ACCESS_KEY | Used with Sauce Labs. Key/Token paired with `QA_REMOTE_GRID_USERNAME` | | |
|
|
21
25
|
| QA_REMOTE_TUNNEL_ID | Used with Sauce Labs. Name of the remote tunnel to use | "gitlab-sl_tunnel_id" | |
|
|
22
26
|
| QA_REMOTE_MOBILE_DEVICE_NAME | Used with Sauce Labs. Name of mobile device to test against. `QA_BROWSER` must be set to `safari` for iOS devices and `chrome` for Android devices. | | "iPhone 12 Simulator" |
|
|
23
27
|
|
|
28
|
+
## Testing with Selenoid
|
|
29
|
+
|
|
30
|
+
Running directly against an environment like staging is not recommended because test videos can expose credentials. Therefore, it is best practice to not run against live environments.
|
|
31
|
+
|
|
32
|
+
Available browsers are defined in [browsers.json](https://gitlab.com/gitlab-org/gitlab-qa/-/blob/master/fixtures/selenoid/browsers.json)
|
|
33
|
+
|
|
34
|
+
Failure videos are available as job artifacts in the selenoid directory.
|
|
35
|
+
|
|
36
|
+
### Add failure video recording to a pipeline for a non-live environment
|
|
37
|
+
|
|
38
|
+
Set these environment variables:
|
|
39
|
+
|
|
40
|
+
USE_SELENOID=true
|
|
41
|
+
QA_RECORD_VIDEO=true
|
|
42
|
+
QA_REMOTE_GRID="selenoid:4444"
|
|
43
|
+
|
|
44
|
+
#### To test with an Edge browser instead of Chrome
|
|
45
|
+
|
|
46
|
+
Include these environment variables:
|
|
47
|
+
|
|
48
|
+
QA_BROWSER="edge"
|
|
49
|
+
QA_BROWSER_IMAGE="selenoid/edge"
|
|
50
|
+
|
|
51
|
+
#### To test with a Chrome mobile device browser
|
|
52
|
+
|
|
53
|
+
Include these environment variables:
|
|
54
|
+
|
|
55
|
+
QA_LAYOUT="phone"
|
|
56
|
+
QA_BROWSER_IMAGE="registry.gitlab.com/gitlab-org/gitlab-qa/selenoid-chrome-gitlab"
|
|
57
|
+
QA_BROWSER_VERSION=mobile-111.0
|
|
58
|
+
|
|
59
|
+
For now we only have version 111.0 available for chrome mobile browser testing.
|
|
60
|
+
|
|
24
61
|
## Testing with Sauce Labs
|
|
25
62
|
|
|
26
63
|
Running directly against an environment like staging is not recommended because test logs expose credentials. Therefore, it is best practice and the default to use a tunnel.
|
data/gitlab-qa.gemspec
CHANGED
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.add_development_dependency 'webmock', '3.7.0'
|
|
35
35
|
|
|
36
36
|
spec.add_runtime_dependency 'activesupport', '~> 6.1'
|
|
37
|
-
spec.add_runtime_dependency 'gitlab', '~> 4.
|
|
37
|
+
spec.add_runtime_dependency 'gitlab', '~> 4.19'
|
|
38
38
|
spec.add_runtime_dependency 'http', '~> 5.0'
|
|
39
39
|
spec.add_runtime_dependency 'nokogiri', '~> 1.10'
|
|
40
40
|
spec.add_runtime_dependency 'parallel', '>= 1', '< 2'
|
|
@@ -27,7 +27,12 @@ module Gitlab
|
|
|
27
27
|
|
|
28
28
|
def start
|
|
29
29
|
pull_images
|
|
30
|
-
docker.run(image: image, tag: tag, args:
|
|
30
|
+
docker.run(image: image, tag: tag, args:
|
|
31
|
+
['-video-recorder-image',
|
|
32
|
+
QA::Runtime::Env.video_recorder_image,
|
|
33
|
+
'-container-network',
|
|
34
|
+
network]
|
|
35
|
+
) do |command|
|
|
31
36
|
set_command_args(command)
|
|
32
37
|
set_volumes(command)
|
|
33
38
|
end
|
|
@@ -55,8 +60,8 @@ module Gitlab
|
|
|
55
60
|
end
|
|
56
61
|
|
|
57
62
|
def pull_images
|
|
58
|
-
docker.pull(image:
|
|
59
|
-
docker.pull(image:
|
|
63
|
+
docker.pull(image: QA::Runtime::Env.browser_image, tag: Runtime::Env.browser_version)
|
|
64
|
+
docker.pull(image: QA::Runtime::Env.video_recorder_image, tag: QA::Runtime::Env.video_recorder_version)
|
|
60
65
|
end
|
|
61
66
|
|
|
62
67
|
# Set custom run command arguments
|
|
@@ -25,6 +25,9 @@ module Gitlab
|
|
|
25
25
|
'QA_BROWSER_VERSION' => :browser_version,
|
|
26
26
|
'QA_RECORD_VIDEO' => :record_video,
|
|
27
27
|
'QA_LAYOUT' => :layout,
|
|
28
|
+
'QA_VIDEO_RECORDER_IMAGE' => :video_recorder_image,
|
|
29
|
+
'QA_VIDEO_RECORDER_VERSION' => :video_recorder_version,
|
|
30
|
+
'QA_BROWSER_IMAGE' => :browser_image,
|
|
28
31
|
'QA_ADDITIONAL_REPOSITORY_STORAGE' => :qa_additional_repository_storage,
|
|
29
32
|
'QA_PRAEFECT_REPOSITORY_STORAGE' => :qa_praefect_repository_storage,
|
|
30
33
|
'QA_GITALY_NON_CLUSTER_STORAGE' => :qa_gitaly_non_cluster_storage,
|
|
@@ -154,7 +157,8 @@ module Gitlab
|
|
|
154
157
|
'RELEASE_REGISTRY_USERNAME' => :release_registry_username,
|
|
155
158
|
'RELEASE_REGISTRY_PASSWORD' => :release_registry_password,
|
|
156
159
|
'SELENOID_DIRECTORY' => :selenoid_directory,
|
|
157
|
-
'USE_SELENOID' => :use_selenoid
|
|
160
|
+
'USE_SELENOID' => :use_selenoid,
|
|
161
|
+
'SCHEDULE_TYPE' => :schedule_type
|
|
158
162
|
}.freeze
|
|
159
163
|
|
|
160
164
|
ENV_VARIABLES.each do |env_name, method_name|
|
|
@@ -367,6 +371,22 @@ module Gitlab
|
|
|
367
371
|
env_var_value_if_defined('QA_LAYOUT')&.match?(/tablet|phone/i)
|
|
368
372
|
end
|
|
369
373
|
|
|
374
|
+
def video_recorder_image
|
|
375
|
+
env_var_value_if_defined('QA_VIDEO_RECORDER_IMAGE') || 'presidenten/selenoid-manual-video-recorder'
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
def video_recorder_version
|
|
379
|
+
env_var_value_if_defined('QA_VIDEO_RECORDER_VERSION') || 'latest'
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
def browser_image
|
|
383
|
+
env_var_value_if_defined('QA_BROWSER_IMAGE') || 'selenoid/chrome'
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
def browser_version
|
|
387
|
+
env_var_value_if_defined('QA_BROWSER_VERSION') || '111.0'
|
|
388
|
+
end
|
|
389
|
+
|
|
370
390
|
def qa_run_type
|
|
371
391
|
return env_var_value_if_defined('QA_RUN_TYPE') if env_var_value_valid?('QA_RUN_TYPE')
|
|
372
392
|
|
data/lib/gitlab/qa/version.rb
CHANGED
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: 10.
|
|
4
|
+
version: 10.6.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: 2023-05-
|
|
11
|
+
date: 2023-05-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: climate_control
|
|
@@ -198,14 +198,14 @@ dependencies:
|
|
|
198
198
|
requirements:
|
|
199
199
|
- - "~>"
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: 4.
|
|
201
|
+
version: '4.19'
|
|
202
202
|
type: :runtime
|
|
203
203
|
prerelease: false
|
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
205
|
requirements:
|
|
206
206
|
- - "~>"
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: 4.
|
|
208
|
+
version: '4.19'
|
|
209
209
|
- !ruby/object:Gem::Dependency
|
|
210
210
|
name: http
|
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -320,6 +320,7 @@ files:
|
|
|
320
320
|
- ".dockerignore"
|
|
321
321
|
- ".gitignore"
|
|
322
322
|
- ".gitlab-ci.yml"
|
|
323
|
+
- ".gitlab/changelog_config.yml"
|
|
323
324
|
- ".gitlab/issue_templates/Default.md"
|
|
324
325
|
- ".gitlab/merge_request_templates/Default.md"
|
|
325
326
|
- ".gitlab/merge_request_templates/Release.md"
|