gitlab-qa 7.24.4 → 7.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.24.4
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-03-14 00:00:00.000000000 Z
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.10'
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.10'
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