gitlab-qa 7.24.4 → 7.25.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/rules.gitlab-ci.yml +19 -6
- data/.gitlab/issue_templates/Default.md +13 -0
- data/.gitlab/merge_request_templates/Default.md +46 -0
- data/.gitlab-ci.yml +115 -1331
- data/Dangerfile +1 -3
- data/docs/what_tests_can_be_run.md +15 -0
- data/gitlab-qa.gemspec +1 -1
- data/lib/gitlab/qa/component/gitlab.rb +35 -0
- data/lib/gitlab/qa/component/staging_ref.rb +1 -0
- data/lib/gitlab/qa/docker/engine.rb +4 -0
- data/lib/gitlab/qa/release.rb +1 -1
- data/lib/gitlab/qa/report/gitlab_issue_client.rb +12 -0
- data/lib/gitlab/qa/report/relate_failure_issue.rb +27 -5
- data/lib/gitlab/qa/runner.rb +10 -0
- data/lib/gitlab/qa/runtime/env.rb +13 -0
- data/lib/gitlab/qa/scenario/test/instance/staging_ref_geo.rb +27 -0
- data/lib/gitlab/qa/scenario/test/integration/registry_with_cdn.rb +42 -0
- data/lib/gitlab/qa/version.rb +1 -1
- data/lib/gitlab/qa.rb +2 -0
- data/scripts/generate-qa-jobs.rb +1741 -0
- data/support/data/license_usage_seed.rb +75 -0
- metadata +10 -5
- data/.gitlab/ci/danger.gitlab-ci.yml +0 -25
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# rubocop:disable Metrics/AbcSize
|
3
|
+
|
4
|
+
class LicenseUsageSeed
|
5
|
+
def self.seed!
|
6
|
+
admin_user = User.find_by(username: 'root')
|
7
|
+
group_count = seed_groups.count
|
8
|
+
user_count = seed_users.count
|
9
|
+
|
10
|
+
puts 'Start seeding license usage data...'
|
11
|
+
|
12
|
+
rand(5..20).times { create_group(admin_user) }
|
13
|
+
create_users_and_members
|
14
|
+
|
15
|
+
puts 'Creating License usage record...'
|
16
|
+
create_license_usage_record
|
17
|
+
|
18
|
+
puts "Created #{seed_users.count - user_count} users and #{seed_groups.count - group_count} groups."
|
19
|
+
puts 'License usage data seeding completed.'
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.create_user
|
23
|
+
name = "test-user#{SecureRandom.hex(8)}"
|
24
|
+
|
25
|
+
User.create!(
|
26
|
+
email: "#{name}@test.com",
|
27
|
+
password: 'password',
|
28
|
+
username: name,
|
29
|
+
name: "User #{name}",
|
30
|
+
confirmed_at: Time.current
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.create_group(user)
|
35
|
+
name = "test-group#{SecureRandom.hex(8)}"
|
36
|
+
group_params =
|
37
|
+
{
|
38
|
+
name: name,
|
39
|
+
path: name
|
40
|
+
}
|
41
|
+
::Groups::CreateService.new(user, group_params).execute
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.create_users_and_members
|
45
|
+
seed_groups.pluck(:id).each do |group_id|
|
46
|
+
3.times { create_member(create_user, group_id) }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.create_member(user, group_id)
|
51
|
+
roles = Gitlab::Access.values
|
52
|
+
|
53
|
+
GroupMember.create(user_id: user.id, access_level: roles.sample, source_id: group_id)
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.seed_users
|
57
|
+
User.where('username ~* ?', '^test-user')
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.seed_groups
|
61
|
+
Group.where('name ~* ?', '^test-group')
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.create_license_usage_record
|
65
|
+
# Force update daily billable users and historical license data
|
66
|
+
identifier = Analytics::UsageTrends::Measurement.identifiers[:billable_users]
|
67
|
+
::Analytics::UsageTrends::CounterJobWorker.new.perform(identifier, User.minimum(:id), User.maximum(:id), Time.zone.now)
|
68
|
+
|
69
|
+
HistoricalData.track!
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
LicenseUsageSeed.seed!
|
74
|
+
|
75
|
+
# rubocop:enable Metrics/AbcSize
|
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.25.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: 2022-
|
11
|
+
date: 2022-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: climate_control
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '2.
|
33
|
+
version: '2.11'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '2.
|
40
|
+
version: '2.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: gitlab-styles
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,8 +218,9 @@ files:
|
|
218
218
|
- ".dockerignore"
|
219
219
|
- ".gitignore"
|
220
220
|
- ".gitlab-ci.yml"
|
221
|
-
- ".gitlab/ci/danger.gitlab-ci.yml"
|
222
221
|
- ".gitlab/ci/rules.gitlab-ci.yml"
|
222
|
+
- ".gitlab/issue_templates/Default.md"
|
223
|
+
- ".gitlab/merge_request_templates/Default.md"
|
223
224
|
- ".gitlab/merge_request_templates/Release.md"
|
224
225
|
- ".rspec"
|
225
226
|
- ".rubocop.yml"
|
@@ -324,6 +325,7 @@ files:
|
|
324
325
|
- lib/gitlab/qa/scenario/test/instance/staging.rb
|
325
326
|
- lib/gitlab/qa/scenario/test/instance/staging_geo.rb
|
326
327
|
- lib/gitlab/qa/scenario/test/instance/staging_ref.rb
|
328
|
+
- lib/gitlab/qa/scenario/test/instance/staging_ref_geo.rb
|
327
329
|
- lib/gitlab/qa/scenario/test/integration/actioncable.rb
|
328
330
|
- lib/gitlab/qa/scenario/test/integration/client_ssl.rb
|
329
331
|
- lib/gitlab/qa/scenario/test/integration/elasticsearch.rb
|
@@ -343,6 +345,7 @@ files:
|
|
343
345
|
- lib/gitlab/qa/scenario/test/integration/praefect.rb
|
344
346
|
- lib/gitlab/qa/scenario/test/integration/registry.rb
|
345
347
|
- lib/gitlab/qa/scenario/test/integration/registry_tls.rb
|
348
|
+
- lib/gitlab/qa/scenario/test/integration/registry_with_cdn.rb
|
346
349
|
- lib/gitlab/qa/scenario/test/integration/saml.rb
|
347
350
|
- lib/gitlab/qa/scenario/test/integration/service_ping_disabled.rb
|
348
351
|
- lib/gitlab/qa/scenario/test/integration/smtp.rb
|
@@ -358,6 +361,8 @@ files:
|
|
358
361
|
- lib/gitlab/qa/support/invalid_response_error.rb
|
359
362
|
- lib/gitlab/qa/test_logger.rb
|
360
363
|
- lib/gitlab/qa/version.rb
|
364
|
+
- scripts/generate-qa-jobs.rb
|
365
|
+
- support/data/license_usage_seed.rb
|
361
366
|
- tls_certificates/authority/ca.crt
|
362
367
|
- tls_certificates/authority/ca.key
|
363
368
|
- tls_certificates/authority/ca.pem
|
@@ -1,25 +0,0 @@
|
|
1
|
-
danger-review:
|
2
|
-
image: ruby:3.0
|
3
|
-
stage: check
|
4
|
-
rules:
|
5
|
-
- if: '$CI_MERGE_REQUEST_IID'
|
6
|
-
needs: []
|
7
|
-
retry:
|
8
|
-
max: 2
|
9
|
-
when:
|
10
|
-
- unknown_failure
|
11
|
-
- api_failure
|
12
|
-
- runner_system_failure
|
13
|
-
- stuck_or_timeout_failure
|
14
|
-
before_script:
|
15
|
-
- bundle install
|
16
|
-
script:
|
17
|
-
- >
|
18
|
-
if [ -z "$DANGER_GITLAB_API_TOKEN" ]; then
|
19
|
-
# Force danger to skip CI source GitLab and fallback to "local only git repo".
|
20
|
-
unset GITLAB_CI
|
21
|
-
# We need the base SHA of the merge request diff to help danger determine the base commit for this shallow clone.
|
22
|
-
bundle exec danger dry_run --fail-on-errors=true --verbose --base='$CI_MERGE_REQUEST_DIFF_BASE_SHA' --head='${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA:-$CI_COMMIT_SHA}'
|
23
|
-
else
|
24
|
-
bundle exec danger --fail-on-errors=true --verbose
|
25
|
-
fi
|