datadog-ci 0.4.1 → 0.5.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/CHANGELOG.md +42 -1
- data/README.md +26 -3
- data/lib/datadog/ci/concurrent_span.rb +59 -0
- data/lib/datadog/ci/configuration/components.rb +33 -3
- data/lib/datadog/ci/configuration/settings.rb +7 -1
- data/lib/datadog/ci/context/global.rb +80 -0
- data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +12 -1
- data/lib/datadog/ci/contrib/cucumber/formatter.rb +3 -4
- data/lib/datadog/ci/contrib/minitest/configuration/settings.rb +10 -1
- data/lib/datadog/ci/contrib/minitest/hooks.rb +3 -4
- data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +10 -1
- data/lib/datadog/ci/contrib/rspec/example.rb +3 -4
- data/lib/datadog/ci/contrib/settings.rb +2 -0
- data/lib/datadog/ci/ext/app_types.rb +5 -0
- data/lib/datadog/ci/ext/settings.rb +11 -0
- data/lib/datadog/ci/ext/test.rb +12 -1
- data/lib/datadog/ci/null_span.rb +63 -0
- data/lib/datadog/ci/recorder.rb +207 -35
- data/lib/datadog/ci/span.rb +13 -3
- data/lib/datadog/ci/test.rb +0 -1
- data/lib/datadog/ci/test_module.rb +23 -0
- data/lib/datadog/ci/test_session.rb +36 -0
- data/lib/datadog/ci/test_suite.rb +25 -0
- data/lib/datadog/ci/test_visibility/serializers/base.rb +100 -12
- data/lib/datadog/ci/test_visibility/serializers/factories/test_suite_level.rb +37 -0
- data/lib/datadog/ci/test_visibility/serializers/span.rb +2 -16
- data/lib/datadog/ci/test_visibility/serializers/test_module.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_session.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_suite.rb +46 -0
- data/lib/datadog/ci/test_visibility/serializers/test_v1.rb +3 -17
- data/lib/datadog/ci/test_visibility/serializers/test_v2.rb +38 -0
- data/lib/datadog/ci/test_visibility/transport.rb +4 -4
- data/lib/datadog/ci/utils/test_run.rb +15 -0
- data/lib/datadog/ci/version.rb +2 -2
- data/lib/datadog/ci.rb +214 -32
- data/sig/datadog/ci/concurrent_span.rbs +23 -0
- data/sig/datadog/ci/configuration/components.rbs +2 -0
- data/sig/datadog/ci/context/global.rbs +37 -0
- data/sig/datadog/ci/ext/app_types.rbs +6 -1
- data/sig/datadog/ci/ext/settings.rbs +3 -0
- data/sig/datadog/ci/ext/test.rbs +15 -0
- data/sig/datadog/ci/null_span.rbs +37 -0
- data/sig/datadog/ci/recorder.rbs +54 -1
- data/sig/datadog/ci/span.rbs +4 -0
- data/sig/datadog/ci/test_module.rbs +6 -0
- data/sig/datadog/ci/test_session.rbs +9 -0
- data/sig/datadog/ci/test_suite.rbs +6 -0
- data/sig/datadog/ci/test_visibility/serializers/base.rbs +26 -5
- data/sig/datadog/ci/test_visibility/serializers/factories/test_suite_level.rbs +13 -0
- data/sig/datadog/ci/test_visibility/serializers/test_module.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_session.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_suite.rbs +26 -0
- data/sig/datadog/ci/test_visibility/serializers/test_v1.rbs +1 -1
- data/sig/datadog/ci/test_visibility/serializers/test_v2.rbs +25 -0
- data/sig/datadog/ci/test_visibility/transport.rbs +3 -3
- data/sig/datadog/ci/utils/test_run.rbs +11 -0
- data/sig/datadog/ci.rbs +18 -2
- metadata +26 -2
@@ -7,18 +7,28 @@ module Datadog
|
|
7
7
|
MINIMUM_DURATION_NANO: 0
|
8
8
|
MAXIMUM_DURATION_NANO: 9223372036854775807
|
9
9
|
|
10
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
11
|
+
REQUIRED_FIELDS: Array[String]
|
12
|
+
|
10
13
|
@content_fields_count: Integer
|
11
14
|
@start: Integer
|
12
15
|
@duration: Integer
|
16
|
+
@meta: Hash[untyped, untyped]
|
17
|
+
@errors: Hash[String, Set[String]]
|
18
|
+
@validated: bool
|
13
19
|
|
14
20
|
attr_reader trace: Datadog::Tracing::TraceSegment
|
15
21
|
attr_reader span: Datadog::Tracing::Span
|
22
|
+
attr_reader meta: Hash[untyped, untyped]
|
16
23
|
|
17
24
|
def initialize: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> void
|
18
25
|
|
19
26
|
def to_msgpack: (?untyped? packer) -> untyped
|
20
27
|
|
21
28
|
def valid?: () -> bool
|
29
|
+
def validate!: () -> void
|
30
|
+
def validation_errors: () -> Hash[String, Set[String]]
|
31
|
+
|
22
32
|
def content_fields: () -> ::Array[String | Hash[String, String]]
|
23
33
|
def content_map_size: () -> Integer
|
24
34
|
|
@@ -30,6 +40,12 @@ module Datadog
|
|
30
40
|
|
31
41
|
def parent_id: () -> String
|
32
42
|
|
43
|
+
def test_session_id: () -> Integer?
|
44
|
+
|
45
|
+
def test_module_id: () -> Integer?
|
46
|
+
|
47
|
+
def test_suite_id: () -> Integer?
|
48
|
+
|
33
49
|
def type: () -> nil
|
34
50
|
|
35
51
|
def version: () -> 1
|
@@ -46,8 +62,6 @@ module Datadog
|
|
46
62
|
|
47
63
|
def duration: () -> Integer
|
48
64
|
|
49
|
-
def meta: () -> Hash[String, untyped]
|
50
|
-
|
51
65
|
def metrics: () -> Hash[String, untyped]
|
52
66
|
|
53
67
|
def error: () -> Integer
|
@@ -56,15 +70,22 @@ module Datadog
|
|
56
70
|
|
57
71
|
private
|
58
72
|
|
59
|
-
def
|
60
|
-
def
|
61
|
-
def
|
73
|
+
def validate_start_time!: () -> void
|
74
|
+
def validate_duration!: () -> void
|
75
|
+
def validate_required_fields!: () -> void
|
76
|
+
def validate_required!: (String field) -> void
|
77
|
+
def validate_greater_than_or_equal!: (String field, Integer value) -> void
|
78
|
+
def validate_less_than_or_equal!: (String field, Integer value) -> void
|
79
|
+
def add_error: (String field, String message) -> void
|
80
|
+
|
62
81
|
def required_fields: () -> Array[String]
|
63
82
|
|
64
83
|
def write_field: (untyped packer, String field_name, ?String? method) -> untyped
|
65
84
|
def time_nano: (Time time) -> Integer
|
66
85
|
def duration_nano: (Float duration) -> Integer
|
67
86
|
|
87
|
+
def to_integer: (String? value) -> Integer?
|
88
|
+
|
68
89
|
def content_fields_count: () -> Integer
|
69
90
|
end
|
70
91
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
module Factories
|
6
|
+
module TestSuiteLevel
|
7
|
+
def self?.serializer: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> Datadog::CI::TestVisibility::Serializers::Base
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestModule < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestSession < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestSuite < Base
|
6
|
+
CONTENT_FIELDS: Array[String | Hash[String, String]]
|
7
|
+
CONTENT_MAP_SIZE: Integer
|
8
|
+
REQUIRED_FIELDS: Array[String]
|
9
|
+
|
10
|
+
def content_fields: () -> Array[String | Hash[String, String]]
|
11
|
+
def content_map_size: () -> Integer
|
12
|
+
|
13
|
+
def type: () -> ::String
|
14
|
+
|
15
|
+
def name: () -> ::String
|
16
|
+
|
17
|
+
def resource: () -> ::String
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def required_fields: () -> Array[String]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Datadog
|
2
|
+
module CI
|
3
|
+
module TestVisibility
|
4
|
+
module Serializers
|
5
|
+
class TestV2 < TestV1
|
6
|
+
CONTENT_FIELDS: ::Array[String | ::Hash[::String, String]]
|
7
|
+
|
8
|
+
CONTENT_MAP_SIZE: Integer
|
9
|
+
|
10
|
+
REQUIRED_FIELDS: ::Array[String]
|
11
|
+
|
12
|
+
def content_fields: () -> ::Array[String | ::Hash[::String, String]]
|
13
|
+
|
14
|
+
def content_map_size: () -> Integer
|
15
|
+
|
16
|
+
def version: () -> 2
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def required_fields: () -> Array[String]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -4,19 +4,19 @@ module Datadog
|
|
4
4
|
class Transport
|
5
5
|
DEFAULT_MAX_PAYLOAD_SIZE: Integer
|
6
6
|
|
7
|
-
attr_reader serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel)
|
7
|
+
attr_reader serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel)
|
8
8
|
attr_reader dd_env: String?
|
9
9
|
attr_reader api: Datadog::CI::Transport::Api::Base
|
10
10
|
attr_reader max_payload_size: Integer
|
11
11
|
|
12
12
|
@dd_env: String?
|
13
|
-
@serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel)
|
13
|
+
@serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel)
|
14
14
|
@max_payload_size: Integer
|
15
15
|
|
16
16
|
def initialize: (
|
17
17
|
api: Datadog::CI::Transport::Api::Base,
|
18
18
|
?dd_env: ::String?,
|
19
|
-
?serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel),
|
19
|
+
?serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel),
|
20
20
|
?max_payload_size: Integer
|
21
21
|
) -> void
|
22
22
|
|
data/sig/datadog/ci.rbs
CHANGED
@@ -1,17 +1,33 @@
|
|
1
1
|
module Datadog
|
2
2
|
module CI
|
3
|
-
def self.trace_test: (String
|
3
|
+
def self.trace_test: (String test_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span test) -> untyped } -> untyped
|
4
4
|
|
5
|
-
def self.start_test: (String
|
5
|
+
def self.start_test: (String test_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
6
|
+
|
7
|
+
def self.start_test_session: (?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
8
|
+
|
9
|
+
def self.start_test_module: (String test_module_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
10
|
+
|
11
|
+
def self.start_test_suite: (String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
|
6
12
|
|
7
13
|
def self.trace: (String span_type, String span_name, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
|
8
14
|
|
15
|
+
def self.active_test_session: () -> Datadog::CI::TestSession?
|
16
|
+
|
17
|
+
def self.active_test_module: () -> Datadog::CI::TestModule?
|
18
|
+
|
9
19
|
def self.active_test: () -> Datadog::CI::Test?
|
10
20
|
|
11
21
|
def self.active_span: (String span_type) -> Datadog::CI::Span?
|
12
22
|
|
13
23
|
def self.deactivate_test: (Datadog::CI::Test test) -> void
|
14
24
|
|
25
|
+
def self.deactivate_test_session: () -> void
|
26
|
+
|
27
|
+
def self.deactivate_test_module: () -> void
|
28
|
+
|
29
|
+
def self.deactivate_test_suite: (String test_suite_name) -> void
|
30
|
+
|
15
31
|
def self.components: () -> Datadog::CI::Configuration::Components
|
16
32
|
|
17
33
|
def self.recorder: () -> Datadog::CI::Recorder
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datadog-ci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -42,8 +42,10 @@ files:
|
|
42
42
|
- NOTICE
|
43
43
|
- README.md
|
44
44
|
- lib/datadog/ci.rb
|
45
|
+
- lib/datadog/ci/concurrent_span.rb
|
45
46
|
- lib/datadog/ci/configuration/components.rb
|
46
47
|
- lib/datadog/ci/configuration/settings.rb
|
48
|
+
- lib/datadog/ci/context/global.rb
|
47
49
|
- lib/datadog/ci/context/local.rb
|
48
50
|
- lib/datadog/ci/contrib/cucumber/configuration/settings.rb
|
49
51
|
- lib/datadog/ci/contrib/cucumber/ext.rb
|
@@ -89,14 +91,23 @@ files:
|
|
89
91
|
- lib/datadog/ci/ext/test.rb
|
90
92
|
- lib/datadog/ci/ext/transport.rb
|
91
93
|
- lib/datadog/ci/extensions.rb
|
94
|
+
- lib/datadog/ci/null_span.rb
|
92
95
|
- lib/datadog/ci/recorder.rb
|
93
96
|
- lib/datadog/ci/span.rb
|
94
97
|
- lib/datadog/ci/test.rb
|
98
|
+
- lib/datadog/ci/test_module.rb
|
99
|
+
- lib/datadog/ci/test_session.rb
|
100
|
+
- lib/datadog/ci/test_suite.rb
|
95
101
|
- lib/datadog/ci/test_visibility/flush.rb
|
96
102
|
- lib/datadog/ci/test_visibility/serializers/base.rb
|
97
103
|
- lib/datadog/ci/test_visibility/serializers/factories/test_level.rb
|
104
|
+
- lib/datadog/ci/test_visibility/serializers/factories/test_suite_level.rb
|
98
105
|
- lib/datadog/ci/test_visibility/serializers/span.rb
|
106
|
+
- lib/datadog/ci/test_visibility/serializers/test_module.rb
|
107
|
+
- lib/datadog/ci/test_visibility/serializers/test_session.rb
|
108
|
+
- lib/datadog/ci/test_visibility/serializers/test_suite.rb
|
99
109
|
- lib/datadog/ci/test_visibility/serializers/test_v1.rb
|
110
|
+
- lib/datadog/ci/test_visibility/serializers/test_v2.rb
|
100
111
|
- lib/datadog/ci/test_visibility/transport.rb
|
101
112
|
- lib/datadog/ci/transport/api/base.rb
|
102
113
|
- lib/datadog/ci/transport/api/builder.rb
|
@@ -105,11 +116,14 @@ files:
|
|
105
116
|
- lib/datadog/ci/transport/gzip.rb
|
106
117
|
- lib/datadog/ci/transport/http.rb
|
107
118
|
- lib/datadog/ci/utils/git.rb
|
119
|
+
- lib/datadog/ci/utils/test_run.rb
|
108
120
|
- lib/datadog/ci/utils/url.rb
|
109
121
|
- lib/datadog/ci/version.rb
|
110
122
|
- sig/datadog/ci.rbs
|
123
|
+
- sig/datadog/ci/concurrent_span.rbs
|
111
124
|
- sig/datadog/ci/configuration/components.rbs
|
112
125
|
- sig/datadog/ci/configuration/settings.rbs
|
126
|
+
- sig/datadog/ci/context/global.rbs
|
113
127
|
- sig/datadog/ci/context/local.rbs
|
114
128
|
- sig/datadog/ci/contrib/cucumber/configuration/settings.rbs
|
115
129
|
- sig/datadog/ci/contrib/cucumber/ext.rbs
|
@@ -155,14 +169,23 @@ files:
|
|
155
169
|
- sig/datadog/ci/ext/test.rbs
|
156
170
|
- sig/datadog/ci/ext/transport.rbs
|
157
171
|
- sig/datadog/ci/extensions.rbs
|
172
|
+
- sig/datadog/ci/null_span.rbs
|
158
173
|
- sig/datadog/ci/recorder.rbs
|
159
174
|
- sig/datadog/ci/span.rbs
|
160
175
|
- sig/datadog/ci/test.rbs
|
176
|
+
- sig/datadog/ci/test_module.rbs
|
177
|
+
- sig/datadog/ci/test_session.rbs
|
178
|
+
- sig/datadog/ci/test_suite.rbs
|
161
179
|
- sig/datadog/ci/test_visibility/flush.rbs
|
162
180
|
- sig/datadog/ci/test_visibility/serializers/base.rbs
|
163
181
|
- sig/datadog/ci/test_visibility/serializers/factories/test_level.rbs
|
182
|
+
- sig/datadog/ci/test_visibility/serializers/factories/test_suite_level.rbs
|
164
183
|
- sig/datadog/ci/test_visibility/serializers/span.rbs
|
184
|
+
- sig/datadog/ci/test_visibility/serializers/test_module.rbs
|
185
|
+
- sig/datadog/ci/test_visibility/serializers/test_session.rbs
|
186
|
+
- sig/datadog/ci/test_visibility/serializers/test_suite.rbs
|
165
187
|
- sig/datadog/ci/test_visibility/serializers/test_v1.rbs
|
188
|
+
- sig/datadog/ci/test_visibility/serializers/test_v2.rbs
|
166
189
|
- sig/datadog/ci/test_visibility/transport.rbs
|
167
190
|
- sig/datadog/ci/transport/api/base.rbs
|
168
191
|
- sig/datadog/ci/transport/api/builder.rbs
|
@@ -171,6 +194,7 @@ files:
|
|
171
194
|
- sig/datadog/ci/transport/gzip.rbs
|
172
195
|
- sig/datadog/ci/transport/http.rbs
|
173
196
|
- sig/datadog/ci/utils/git.rbs
|
197
|
+
- sig/datadog/ci/utils/test_run.rbs
|
174
198
|
- sig/datadog/ci/utils/url.rbs
|
175
199
|
- sig/datadog/ci/version.rbs
|
176
200
|
homepage: https://github.com/DataDog/datadog-ci-rb
|