gitlab_quality-test_tooling 3.22.0 → 3.22.1
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 +5 -4
- data/lib/gitlab_quality/test_tooling/code_coverage/click_house/test_health_risk_aggregation.sql +14 -14
- data/lib/gitlab_quality/test_tooling/code_coverage/click_house/test_health_risk_aggregator.rb +3 -0
- data/lib/gitlab_quality/test_tooling/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 753fbf9038d32ba4c43b76dbeac70b9a7bec17cd58e62b92f1c6c6279c1105a6
|
|
4
|
+
data.tar.gz: 6d10b736a6a40453ccc70edce8aad4c360a50df4d27a662cde93d38fd107de59
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 54cd62d62cbcb29923e63ebafeccfa3911086a37220a59b16efe2d2b652587c598731360a827f79a27fe0a92f8e702c4943b3e03810c8e51ac1052d6a7bacba3
|
|
7
|
+
data.tar.gz: 2991e98253c031c1cf0d98e04178d09c53f4c331e1b23c244e567cfcb79552da6c104f91fb3ad42c23284f0654bb192367823e7159db2c06c7aaa5d387c3757d
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
gitlab_quality-test_tooling (3.22.
|
|
4
|
+
gitlab_quality-test_tooling (3.22.1)
|
|
5
5
|
activesupport (>= 7.0)
|
|
6
6
|
amatch (~> 0.4.1)
|
|
7
|
+
csv (~> 3.0)
|
|
7
8
|
fog-google (~> 1.25)
|
|
8
9
|
gitlab (>= 4.19, < 7.0)
|
|
9
10
|
http (~> 5.0)
|
|
@@ -398,8 +399,8 @@ GEM
|
|
|
398
399
|
diff-lcs (~> 1.3)
|
|
399
400
|
parser (>= 3.3.0)
|
|
400
401
|
uri (0.13.1)
|
|
401
|
-
webmock (3.
|
|
402
|
-
addressable (>= 2.
|
|
402
|
+
webmock (3.26.4)
|
|
403
|
+
addressable (>= 2.8.0)
|
|
403
404
|
crack (>= 0.3.2)
|
|
404
405
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
405
406
|
yard (0.9.37)
|
|
@@ -425,7 +426,7 @@ DEPENDENCIES
|
|
|
425
426
|
simplecov-cobertura (~> 2.1)
|
|
426
427
|
solargraph (~> 0.41)
|
|
427
428
|
timecop (~> 0.9.5)
|
|
428
|
-
webmock (= 3.
|
|
429
|
+
webmock (= 3.26.4)
|
|
429
430
|
|
|
430
431
|
BUNDLED WITH
|
|
431
432
|
2.7.2
|
data/lib/gitlab_quality/test_tooling/code_coverage/click_house/test_health_risk_aggregation.sql
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
-- Parameters use `{name}` braces, substituted as literal text by gsub in
|
|
10
10
|
-- TestHealthRiskAggregator#build_sql after validation. A typoed placeholder
|
|
11
11
|
-- silently survives gsub, so match the names exactly.
|
|
12
|
-
-- {snapshot_date}
|
|
13
|
-
-- {coverage_start}
|
|
14
|
-
-- {risk_window}
|
|
12
|
+
-- {snapshot_date} date stamp for this run
|
|
13
|
+
-- {coverage_start} day of the most recent full per-test capture
|
|
14
|
+
-- {risk_window} flaky and ownership lookback, default '30 DAY'
|
|
15
|
+
-- {quarantine_window} default-branch quarantine lookback, fixed at '3 DAY'
|
|
15
16
|
--
|
|
16
17
|
-- The INSERT is unconditional. Idempotency comes from the target table's
|
|
17
18
|
-- ReplacingMergeTree(version) engine keyed by the row tuple: re-runs and
|
|
@@ -26,17 +27,16 @@
|
|
|
26
27
|
INSERT INTO code_coverage.test_health_risk_per_group
|
|
27
28
|
WITH
|
|
28
29
|
quarantine_status AS (
|
|
29
|
-
--
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
HAVING is_quarantined
|
|
30
|
+
-- The same source and window the Quarantine score counts from, so both
|
|
31
|
+
-- agree on which specs are quarantined. The MV keeps default-branch
|
|
32
|
+
-- pipelines only; test_file_quarantine_summary also counts stable-branch
|
|
33
|
+
-- and backport pipelines, which keep a spec quarantined long after master
|
|
34
|
+
-- has fixed it.
|
|
35
|
+
SELECT DISTINCT
|
|
36
|
+
file_path AS test_file,
|
|
37
|
+
TRUE AS is_quarantined
|
|
38
|
+
FROM test_metrics.quarantined_tests_hourly_mv
|
|
39
|
+
WHERE hour_timestamp >= now() - INTERVAL {quarantine_window}
|
|
40
40
|
),
|
|
41
41
|
flaky_status AS (
|
|
42
42
|
SELECT
|
data/lib/gitlab_quality/test_tooling/code_coverage/click_house/test_health_risk_aggregator.rb
CHANGED
|
@@ -39,6 +39,8 @@ module GitlabQuality
|
|
|
39
39
|
# denominator built from sparse data.
|
|
40
40
|
DEFAULT_ANCHOR_LOOKBACK = '21 DAY'
|
|
41
41
|
DEFAULT_RISK_WINDOW = '30 DAY'
|
|
42
|
+
# Must match the Quarantine score's window in the runbooks Test Health views.
|
|
43
|
+
QUARANTINE_WINDOW = '3 DAY'
|
|
42
44
|
|
|
43
45
|
# `snapshot_date` is YYYY-MM-DD; intervals are `<integer> <unit>`
|
|
44
46
|
# (singular or plural).
|
|
@@ -126,6 +128,7 @@ module GitlabQuality
|
|
|
126
128
|
.gsub('{snapshot_date}', validate_date(snapshot_date))
|
|
127
129
|
.gsub('{coverage_start}', coverage_start)
|
|
128
130
|
.gsub('{risk_window}', validate_interval(risk_window))
|
|
131
|
+
.gsub('{quarantine_window}', QUARANTINE_WINDOW)
|
|
129
132
|
end
|
|
130
133
|
|
|
131
134
|
# DateTime/Time `to_s` includes the time portion and is rejected.
|
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: 3.22.
|
|
4
|
+
version: 3.22.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GitLab Quality
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: climate_control
|
|
@@ -212,14 +212,14 @@ dependencies:
|
|
|
212
212
|
requirements:
|
|
213
213
|
- - '='
|
|
214
214
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: 3.
|
|
215
|
+
version: 3.26.4
|
|
216
216
|
type: :development
|
|
217
217
|
prerelease: false
|
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
219
|
requirements:
|
|
220
220
|
- - '='
|
|
221
221
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: 3.
|
|
222
|
+
version: 3.26.4
|
|
223
223
|
- !ruby/object:Gem::Dependency
|
|
224
224
|
name: activesupport
|
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,6 +248,20 @@ dependencies:
|
|
|
248
248
|
- - "~>"
|
|
249
249
|
- !ruby/object:Gem::Version
|
|
250
250
|
version: 0.4.1
|
|
251
|
+
- !ruby/object:Gem::Dependency
|
|
252
|
+
name: csv
|
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
|
254
|
+
requirements:
|
|
255
|
+
- - "~>"
|
|
256
|
+
- !ruby/object:Gem::Version
|
|
257
|
+
version: '3.0'
|
|
258
|
+
type: :runtime
|
|
259
|
+
prerelease: false
|
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
261
|
+
requirements:
|
|
262
|
+
- - "~>"
|
|
263
|
+
- !ruby/object:Gem::Version
|
|
264
|
+
version: '3.0'
|
|
251
265
|
- !ruby/object:Gem::Dependency
|
|
252
266
|
name: fog-google
|
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|