gitlab_quality-test_tooling 1.11.0 → 1.17.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/Gemfile.lock +93 -68
- data/README.md +35 -2
- data/exe/flaky-test-issues +7 -2
- data/exe/knapsack-report-issues +54 -0
- data/exe/update-test-meta +70 -0
- data/lefthook.yml +13 -0
- data/lib/gitlab_quality/test_tooling/concerns/find_set_dri.rb +47 -0
- data/lib/gitlab_quality/test_tooling/gitlab_client/branches_client.rb +18 -0
- data/lib/gitlab_quality/test_tooling/gitlab_client/branches_dry_client.rb +15 -0
- data/lib/gitlab_quality/test_tooling/gitlab_client/commits_client.rb +20 -0
- data/lib/gitlab_quality/test_tooling/gitlab_client/commits_dry_client.rb +14 -0
- data/lib/gitlab_quality/test_tooling/gitlab_client/gitlab_client.rb +12 -13
- data/lib/gitlab_quality/test_tooling/gitlab_client/issues_client.rb +6 -6
- data/lib/gitlab_quality/test_tooling/gitlab_client/merge_requests_client.rb +18 -10
- data/lib/gitlab_quality/test_tooling/gitlab_client/merge_requests_dry_client.rb +4 -2
- data/lib/gitlab_quality/test_tooling/gitlab_client/repository_files_client.rb +23 -0
- data/lib/gitlab_quality/test_tooling/knapsack_reports/spec_run_time.rb +85 -0
- data/lib/gitlab_quality/test_tooling/knapsack_reports/spec_run_time_report.rb +60 -0
- data/lib/gitlab_quality/test_tooling/report/concerns/issue_reports.rb +41 -28
- data/lib/gitlab_quality/test_tooling/report/concerns/utils.rb +23 -1
- data/lib/gitlab_quality/test_tooling/report/flaky_test_issue.rb +89 -44
- data/lib/gitlab_quality/test_tooling/report/generate_test_session.rb +1 -4
- data/lib/gitlab_quality/test_tooling/report/knapsack_report_issue.rb +139 -0
- data/lib/gitlab_quality/test_tooling/report/relate_failure_issue.rb +6 -12
- data/lib/gitlab_quality/test_tooling/report/report_as_issue.rb +16 -5
- data/lib/gitlab_quality/test_tooling/report/slow_test_issue.rb +71 -80
- data/lib/gitlab_quality/test_tooling/runtime/env.rb +5 -1
- data/lib/gitlab_quality/test_tooling/slack/post_to_slack_dry.rb +14 -0
- data/lib/gitlab_quality/test_tooling/test_meta/processor/add_to_blocking_processor.rb +143 -0
- data/lib/gitlab_quality/test_tooling/test_meta/processor/add_to_quarantine_processor.rb +199 -0
- data/lib/gitlab_quality/test_tooling/test_meta/processor/meta_processor.rb +44 -0
- data/lib/gitlab_quality/test_tooling/test_meta/test_meta_updater.rb +313 -0
- data/lib/gitlab_quality/test_tooling/version.rb +1 -1
- metadata +40 -9
- data/lib/gitlab_quality/test_tooling/report/concerns/find_set_dri.rb +0 -49
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gitlab_quality-test_tooling
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GitLab Quality
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-01
|
|
11
|
+
date: 2024-03-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: climate_control
|
|
@@ -201,7 +201,7 @@ dependencies:
|
|
|
201
201
|
version: '6.1'
|
|
202
202
|
- - "<"
|
|
203
203
|
- !ruby/object:Gem::Version
|
|
204
|
-
version: '7.
|
|
204
|
+
version: '7.1'
|
|
205
205
|
type: :runtime
|
|
206
206
|
prerelease: false
|
|
207
207
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -211,7 +211,7 @@ dependencies:
|
|
|
211
211
|
version: '6.1'
|
|
212
212
|
- - "<"
|
|
213
213
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '7.
|
|
214
|
+
version: '7.1'
|
|
215
215
|
- !ruby/object:Gem::Dependency
|
|
216
216
|
name: amatch
|
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -342,12 +342,27 @@ dependencies:
|
|
|
342
342
|
- - "<"
|
|
343
343
|
- !ruby/object:Gem::Version
|
|
344
344
|
version: '3'
|
|
345
|
+
- !ruby/object:Gem::Dependency
|
|
346
|
+
name: rspec-parameterized
|
|
347
|
+
requirement: !ruby/object:Gem::Requirement
|
|
348
|
+
requirements:
|
|
349
|
+
- - "~>"
|
|
350
|
+
- !ruby/object:Gem::Version
|
|
351
|
+
version: 1.0.0
|
|
352
|
+
type: :runtime
|
|
353
|
+
prerelease: false
|
|
354
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
355
|
+
requirements:
|
|
356
|
+
- - "~>"
|
|
357
|
+
- !ruby/object:Gem::Version
|
|
358
|
+
version: 1.0.0
|
|
345
359
|
description: A collection of test-related tools.
|
|
346
360
|
email:
|
|
347
361
|
- quality@gitlab.com
|
|
348
362
|
executables:
|
|
349
363
|
- flaky-test-issues
|
|
350
364
|
- generate-test-session
|
|
365
|
+
- knapsack-report-issues
|
|
351
366
|
- post-to-slack
|
|
352
367
|
- prepare-stage-reports
|
|
353
368
|
- relate-failure-issue
|
|
@@ -355,6 +370,7 @@ executables:
|
|
|
355
370
|
- slow-test-issues
|
|
356
371
|
- slow-test-merge-request-report-note
|
|
357
372
|
- update-screenshot-paths
|
|
373
|
+
- update-test-meta
|
|
358
374
|
extensions: []
|
|
359
375
|
extra_rdoc_files: []
|
|
360
376
|
files:
|
|
@@ -374,6 +390,7 @@ files:
|
|
|
374
390
|
- Rakefile
|
|
375
391
|
- exe/flaky-test-issues
|
|
376
392
|
- exe/generate-test-session
|
|
393
|
+
- exe/knapsack-report-issues
|
|
377
394
|
- exe/post-to-slack
|
|
378
395
|
- exe/prepare-stage-reports
|
|
379
396
|
- exe/relate-failure-issue
|
|
@@ -381,17 +398,25 @@ files:
|
|
|
381
398
|
- exe/slow-test-issues
|
|
382
399
|
- exe/slow-test-merge-request-report-note
|
|
383
400
|
- exe/update-screenshot-paths
|
|
401
|
+
- exe/update-test-meta
|
|
384
402
|
- lefthook.yml
|
|
385
403
|
- lib/gitlab_quality/test_tooling.rb
|
|
404
|
+
- lib/gitlab_quality/test_tooling/concerns/find_set_dri.rb
|
|
386
405
|
- lib/gitlab_quality/test_tooling/failed_jobs_table.rb
|
|
406
|
+
- lib/gitlab_quality/test_tooling/gitlab_client/branches_client.rb
|
|
407
|
+
- lib/gitlab_quality/test_tooling/gitlab_client/branches_dry_client.rb
|
|
408
|
+
- lib/gitlab_quality/test_tooling/gitlab_client/commits_client.rb
|
|
409
|
+
- lib/gitlab_quality/test_tooling/gitlab_client/commits_dry_client.rb
|
|
387
410
|
- lib/gitlab_quality/test_tooling/gitlab_client/gitlab_client.rb
|
|
388
411
|
- lib/gitlab_quality/test_tooling/gitlab_client/issues_client.rb
|
|
389
412
|
- lib/gitlab_quality/test_tooling/gitlab_client/issues_dry_client.rb
|
|
390
413
|
- lib/gitlab_quality/test_tooling/gitlab_client/jobs_client.rb
|
|
391
414
|
- lib/gitlab_quality/test_tooling/gitlab_client/merge_requests_client.rb
|
|
392
415
|
- lib/gitlab_quality/test_tooling/gitlab_client/merge_requests_dry_client.rb
|
|
416
|
+
- lib/gitlab_quality/test_tooling/gitlab_client/repository_files_client.rb
|
|
417
|
+
- lib/gitlab_quality/test_tooling/knapsack_reports/spec_run_time.rb
|
|
418
|
+
- lib/gitlab_quality/test_tooling/knapsack_reports/spec_run_time_report.rb
|
|
393
419
|
- lib/gitlab_quality/test_tooling/labels_inference.rb
|
|
394
|
-
- lib/gitlab_quality/test_tooling/report/concerns/find_set_dri.rb
|
|
395
420
|
- lib/gitlab_quality/test_tooling/report/concerns/group_and_category_labels.rb
|
|
396
421
|
- lib/gitlab_quality/test_tooling/report/concerns/issue_reports.rb
|
|
397
422
|
- lib/gitlab_quality/test_tooling/report/concerns/results_reporter.rb
|
|
@@ -399,6 +424,7 @@ files:
|
|
|
399
424
|
- lib/gitlab_quality/test_tooling/report/flaky_test_issue.rb
|
|
400
425
|
- lib/gitlab_quality/test_tooling/report/generate_test_session.rb
|
|
401
426
|
- lib/gitlab_quality/test_tooling/report/issue_logger.rb
|
|
427
|
+
- lib/gitlab_quality/test_tooling/report/knapsack_report_issue.rb
|
|
402
428
|
- lib/gitlab_quality/test_tooling/report/merge_request_slow_tests_report.rb
|
|
403
429
|
- lib/gitlab_quality/test_tooling/report/prepare_stage_reports.rb
|
|
404
430
|
- lib/gitlab_quality/test_tooling/report/relate_failure_issue.rb
|
|
@@ -411,6 +437,7 @@ files:
|
|
|
411
437
|
- lib/gitlab_quality/test_tooling/runtime/env.rb
|
|
412
438
|
- lib/gitlab_quality/test_tooling/runtime/logger.rb
|
|
413
439
|
- lib/gitlab_quality/test_tooling/slack/post_to_slack.rb
|
|
440
|
+
- lib/gitlab_quality/test_tooling/slack/post_to_slack_dry.rb
|
|
414
441
|
- lib/gitlab_quality/test_tooling/summary_table.rb
|
|
415
442
|
- lib/gitlab_quality/test_tooling/support/http_request.rb
|
|
416
443
|
- lib/gitlab_quality/test_tooling/system_logs/finders/json_log_finder.rb
|
|
@@ -425,6 +452,10 @@ files:
|
|
|
425
452
|
- lib/gitlab_quality/test_tooling/system_logs/log_types/rails/graphql_log.rb
|
|
426
453
|
- lib/gitlab_quality/test_tooling/system_logs/shared_fields.rb
|
|
427
454
|
- lib/gitlab_quality/test_tooling/system_logs/system_logs_formatter.rb
|
|
455
|
+
- lib/gitlab_quality/test_tooling/test_meta/processor/add_to_blocking_processor.rb
|
|
456
|
+
- lib/gitlab_quality/test_tooling/test_meta/processor/add_to_quarantine_processor.rb
|
|
457
|
+
- lib/gitlab_quality/test_tooling/test_meta/processor/meta_processor.rb
|
|
458
|
+
- lib/gitlab_quality/test_tooling/test_meta/test_meta_updater.rb
|
|
428
459
|
- lib/gitlab_quality/test_tooling/test_metric/json_test_metric.rb
|
|
429
460
|
- lib/gitlab_quality/test_tooling/test_metrics/json_test_metric_collection.rb
|
|
430
461
|
- lib/gitlab_quality/test_tooling/test_result/base_test_result.rb
|
|
@@ -443,7 +474,7 @@ metadata:
|
|
|
443
474
|
homepage_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab_quality-test_tooling
|
|
444
475
|
source_code_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab_quality-test_tooling
|
|
445
476
|
changelog_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab_quality-test_tooling/-/releases
|
|
446
|
-
post_install_message:
|
|
477
|
+
post_install_message:
|
|
447
478
|
rdoc_options: []
|
|
448
479
|
require_paths:
|
|
449
480
|
- lib
|
|
@@ -458,8 +489,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
458
489
|
- !ruby/object:Gem::Version
|
|
459
490
|
version: '0'
|
|
460
491
|
requirements: []
|
|
461
|
-
rubygems_version: 3.
|
|
462
|
-
signing_key:
|
|
492
|
+
rubygems_version: 3.3.26
|
|
493
|
+
signing_key:
|
|
463
494
|
specification_version: 4
|
|
464
495
|
summary: A collection of test-related tools.
|
|
465
496
|
test_files: []
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'json'
|
|
4
|
-
|
|
5
|
-
module GitlabQuality
|
|
6
|
-
module TestTooling
|
|
7
|
-
module Report
|
|
8
|
-
module Concerns
|
|
9
|
-
module FindSetDri
|
|
10
|
-
def set_dri_via_group(product_group, test)
|
|
11
|
-
parse_json_with_sets
|
|
12
|
-
fetch_stage_sets(test)
|
|
13
|
-
|
|
14
|
-
return @sets.sample['username'] if @stage_sets.empty?
|
|
15
|
-
|
|
16
|
-
fetch_group_sets(product_group)
|
|
17
|
-
|
|
18
|
-
if @group_sets.empty?
|
|
19
|
-
@stage_sets.sample['username']
|
|
20
|
-
else
|
|
21
|
-
@group_sets.sample['username']
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
def parse_json_with_sets
|
|
28
|
-
response = Support::HttpRequest.make_http_request(
|
|
29
|
-
url: 'https://gitlab-org.gitlab.io/gitlab-roulette/roulette.json'
|
|
30
|
-
)
|
|
31
|
-
@sets = JSON.parse(response.body).select { |user| user['role'].include?('software-engineer-in-test') }
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def fetch_stage_sets(test)
|
|
35
|
-
@stage_sets = @sets.select do |user|
|
|
36
|
-
user['role'].include?(test.stage.split("_").map(&:capitalize).join(" "))
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def fetch_group_sets(product_group)
|
|
41
|
-
@group_sets = @stage_sets.select do |user|
|
|
42
|
-
user['role'].downcase.tr(' ', '_').include?(product_group)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|