datadog-ci 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -2
  3. data/README.md +21 -2
  4. data/lib/datadog/ci/codeowners/matcher.rb +102 -0
  5. data/lib/datadog/ci/codeowners/parser.rb +42 -0
  6. data/lib/datadog/ci/codeowners/rule.rb +33 -0
  7. data/lib/datadog/ci/concurrent_span.rb +2 -1
  8. data/lib/datadog/ci/configuration/components.rb +59 -57
  9. data/lib/datadog/ci/configuration/settings.rb +21 -0
  10. data/lib/datadog/ci/contrib/cucumber/configuration/settings.rb +4 -1
  11. data/lib/datadog/ci/contrib/cucumber/formatter.rb +69 -38
  12. data/lib/datadog/ci/contrib/cucumber/instrumentation.rb +2 -1
  13. data/lib/datadog/ci/contrib/minitest/configuration/settings.rb +4 -1
  14. data/lib/datadog/ci/contrib/minitest/helpers.rb +2 -1
  15. data/lib/datadog/ci/contrib/minitest/hooks.rb +9 -22
  16. data/lib/datadog/ci/contrib/minitest/patcher.rb +9 -6
  17. data/lib/datadog/ci/contrib/minitest/reporter.rb +50 -0
  18. data/lib/datadog/ci/contrib/minitest/runnable.rb +1 -1
  19. data/lib/datadog/ci/contrib/minitest/runner.rb +41 -0
  20. data/lib/datadog/ci/contrib/rspec/configuration/settings.rb +4 -1
  21. data/lib/datadog/ci/contrib/rspec/example.rb +55 -14
  22. data/lib/datadog/ci/contrib/rspec/example_group.rb +12 -7
  23. data/lib/datadog/ci/contrib/rspec/patcher.rb +10 -1
  24. data/lib/datadog/ci/contrib/rspec/runner.rb +7 -8
  25. data/lib/datadog/ci/ext/app_types.rb +2 -0
  26. data/lib/datadog/ci/ext/environment/providers/local_git.rb +8 -29
  27. data/lib/datadog/ci/ext/settings.rb +2 -0
  28. data/lib/datadog/ci/ext/test.rb +29 -7
  29. data/lib/datadog/ci/ext/transport.rb +19 -1
  30. data/lib/datadog/ci/itr/runner.rb +67 -0
  31. data/lib/datadog/ci/span.rb +51 -2
  32. data/lib/datadog/ci/test.rb +67 -2
  33. data/lib/datadog/ci/test_module.rb +1 -1
  34. data/lib/datadog/ci/test_session.rb +10 -2
  35. data/lib/datadog/ci/test_suite.rb +53 -2
  36. data/lib/datadog/ci/test_visibility/context/local.rb +3 -9
  37. data/lib/datadog/ci/test_visibility/null_recorder.rb +2 -22
  38. data/lib/datadog/ci/test_visibility/recorder.rb +46 -20
  39. data/lib/datadog/ci/test_visibility/serializers/base.rb +6 -5
  40. data/lib/datadog/ci/test_visibility/serializers/span.rb +1 -1
  41. data/lib/datadog/ci/test_visibility/serializers/test_module.rb +1 -1
  42. data/lib/datadog/ci/test_visibility/serializers/test_session.rb +1 -1
  43. data/lib/datadog/ci/test_visibility/serializers/test_suite.rb +1 -1
  44. data/lib/datadog/ci/test_visibility/serializers/test_v1.rb +1 -1
  45. data/lib/datadog/ci/test_visibility/transport.rb +1 -5
  46. data/lib/datadog/ci/transport/api/agentless.rb +63 -0
  47. data/lib/datadog/ci/transport/api/base.rb +10 -14
  48. data/lib/datadog/ci/transport/api/builder.rb +25 -22
  49. data/lib/datadog/ci/transport/api/evp_proxy.rb +47 -7
  50. data/lib/datadog/ci/transport/http.rb +7 -1
  51. data/lib/datadog/ci/transport/remote_settings_api.rb +96 -0
  52. data/lib/datadog/ci/utils/configuration.rb +15 -0
  53. data/lib/datadog/ci/utils/git.rb +70 -0
  54. data/lib/datadog/ci/version.rb +1 -1
  55. data/lib/datadog/ci.rb +40 -56
  56. metadata +12 -90
  57. data/lib/datadog/ci/contrib/minitest/plugin.rb +0 -73
  58. data/lib/datadog/ci/null_span.rb +0 -63
  59. data/lib/datadog/ci/transport/api/ci_test_cycle.rb +0 -30
  60. data/sig/datadog/ci/concurrent_span.rbs +0 -23
  61. data/sig/datadog/ci/configuration/components.rbs +0 -21
  62. data/sig/datadog/ci/configuration/extensions.rbs +0 -9
  63. data/sig/datadog/ci/configuration/settings.rbs +0 -16
  64. data/sig/datadog/ci/contrib/cucumber/configuration/settings.rbs +0 -12
  65. data/sig/datadog/ci/contrib/cucumber/ext.rbs +0 -21
  66. data/sig/datadog/ci/contrib/cucumber/formatter.rbs +0 -48
  67. data/sig/datadog/ci/contrib/cucumber/instrumentation.rbs +0 -16
  68. data/sig/datadog/ci/contrib/cucumber/integration.rbs +0 -26
  69. data/sig/datadog/ci/contrib/cucumber/patcher.rbs +0 -15
  70. data/sig/datadog/ci/contrib/integration.rbs +0 -44
  71. data/sig/datadog/ci/contrib/minitest/configuration/settings.rbs +0 -12
  72. data/sig/datadog/ci/contrib/minitest/ext.rbs +0 -19
  73. data/sig/datadog/ci/contrib/minitest/helpers.rbs +0 -13
  74. data/sig/datadog/ci/contrib/minitest/hooks.rbs +0 -27
  75. data/sig/datadog/ci/contrib/minitest/integration.rbs +0 -26
  76. data/sig/datadog/ci/contrib/minitest/patcher.rbs +0 -15
  77. data/sig/datadog/ci/contrib/minitest/plugin.rbs +0 -31
  78. data/sig/datadog/ci/contrib/minitest/runnable.rbs +0 -24
  79. data/sig/datadog/ci/contrib/rspec/configuration/settings.rbs +0 -12
  80. data/sig/datadog/ci/contrib/rspec/example.rbs +0 -20
  81. data/sig/datadog/ci/contrib/rspec/example_group.rbs +0 -21
  82. data/sig/datadog/ci/contrib/rspec/ext.rbs +0 -17
  83. data/sig/datadog/ci/contrib/rspec/integration.rbs +0 -26
  84. data/sig/datadog/ci/contrib/rspec/patcher.rbs +0 -15
  85. data/sig/datadog/ci/contrib/rspec/runner.rbs +0 -21
  86. data/sig/datadog/ci/contrib/settings.rbs +0 -25
  87. data/sig/datadog/ci/ext/app_types.rbs +0 -14
  88. data/sig/datadog/ci/ext/environment/extractor.rbs +0 -25
  89. data/sig/datadog/ci/ext/environment/providers/appveyor.rbs +0 -48
  90. data/sig/datadog/ci/ext/environment/providers/aws_code_pipeline.rbs +0 -19
  91. data/sig/datadog/ci/ext/environment/providers/azure.rbs +0 -56
  92. data/sig/datadog/ci/ext/environment/providers/base.rbs +0 -71
  93. data/sig/datadog/ci/ext/environment/providers/bitbucket.rbs +0 -37
  94. data/sig/datadog/ci/ext/environment/providers/bitrise.rbs +0 -41
  95. data/sig/datadog/ci/ext/environment/providers/buddy.rbs +0 -37
  96. data/sig/datadog/ci/ext/environment/providers/buildkite.rbs +0 -45
  97. data/sig/datadog/ci/ext/environment/providers/circleci.rbs +0 -41
  98. data/sig/datadog/ci/ext/environment/providers/codefresh.rbs +0 -25
  99. data/sig/datadog/ci/ext/environment/providers/github_actions.rbs +0 -42
  100. data/sig/datadog/ci/ext/environment/providers/gitlab.rbs +0 -57
  101. data/sig/datadog/ci/ext/environment/providers/jenkins.rbs +0 -35
  102. data/sig/datadog/ci/ext/environment/providers/local_git.rbs +0 -66
  103. data/sig/datadog/ci/ext/environment/providers/teamcity.rbs +0 -17
  104. data/sig/datadog/ci/ext/environment/providers/travis.rbs +0 -35
  105. data/sig/datadog/ci/ext/environment/providers/user_defined_tags.rbs +0 -33
  106. data/sig/datadog/ci/ext/environment/providers.rbs +0 -13
  107. data/sig/datadog/ci/ext/environment.rbs +0 -44
  108. data/sig/datadog/ci/ext/git.rbs +0 -53
  109. data/sig/datadog/ci/ext/settings.rbs +0 -14
  110. data/sig/datadog/ci/ext/test.rbs +0 -60
  111. data/sig/datadog/ci/ext/transport.rbs +0 -29
  112. data/sig/datadog/ci/null_span.rbs +0 -37
  113. data/sig/datadog/ci/span.rbs +0 -47
  114. data/sig/datadog/ci/test.rbs +0 -12
  115. data/sig/datadog/ci/test_module.rbs +0 -6
  116. data/sig/datadog/ci/test_session.rbs +0 -9
  117. data/sig/datadog/ci/test_suite.rbs +0 -6
  118. data/sig/datadog/ci/test_visibility/context/global.rbs +0 -39
  119. data/sig/datadog/ci/test_visibility/context/local.rbs +0 -23
  120. data/sig/datadog/ci/test_visibility/flush.rbs +0 -17
  121. data/sig/datadog/ci/test_visibility/null_recorder.rbs +0 -45
  122. data/sig/datadog/ci/test_visibility/recorder.rbs +0 -85
  123. data/sig/datadog/ci/test_visibility/serializers/base.rbs +0 -94
  124. data/sig/datadog/ci/test_visibility/serializers/factories/test_level.rbs +0 -13
  125. data/sig/datadog/ci/test_visibility/serializers/factories/test_suite_level.rbs +0 -13
  126. data/sig/datadog/ci/test_visibility/serializers/span.rbs +0 -18
  127. data/sig/datadog/ci/test_visibility/serializers/test_module.rbs +0 -26
  128. data/sig/datadog/ci/test_visibility/serializers/test_session.rbs +0 -26
  129. data/sig/datadog/ci/test_visibility/serializers/test_suite.rbs +0 -26
  130. data/sig/datadog/ci/test_visibility/serializers/test_v1.rbs +0 -23
  131. data/sig/datadog/ci/test_visibility/serializers/test_v2.rbs +0 -25
  132. data/sig/datadog/ci/test_visibility/transport.rbs +0 -35
  133. data/sig/datadog/ci/transport/api/base.rbs +0 -21
  134. data/sig/datadog/ci/transport/api/builder.rbs +0 -12
  135. data/sig/datadog/ci/transport/api/ci_test_cycle.rbs +0 -21
  136. data/sig/datadog/ci/transport/api/evp_proxy.rbs +0 -19
  137. data/sig/datadog/ci/transport/gzip.rbs +0 -9
  138. data/sig/datadog/ci/transport/http.rbs +0 -36
  139. data/sig/datadog/ci/utils/git.rbs +0 -11
  140. data/sig/datadog/ci/utils/test_run.rbs +0 -11
  141. data/sig/datadog/ci/utils/url.rbs +0 -9
  142. data/sig/datadog/ci/version.rbs +0 -16
  143. data/sig/datadog/ci.rbs +0 -37
@@ -1,44 +0,0 @@
1
- module Datadog
2
- module CI
3
- module Ext
4
- # Defines constants for CI tags
5
- module Environment
6
- TAG_JOB_NAME: String
7
-
8
- TAG_JOB_URL: String
9
-
10
- TAG_PIPELINE_ID: String
11
-
12
- TAG_PIPELINE_NAME: String
13
-
14
- TAG_PIPELINE_NUMBER: String
15
-
16
- TAG_PIPELINE_URL: String
17
-
18
- TAG_PROVIDER_NAME: String
19
-
20
- TAG_STAGE_NAME: String
21
-
22
- TAG_WORKSPACE_PATH: String
23
-
24
- TAG_NODE_LABELS: String
25
-
26
- TAG_NODE_NAME: String
27
-
28
- TAG_CI_ENV_VARS: String
29
-
30
- HEX_NUMBER_REGEXP: Regexp
31
-
32
- PROVIDERS: ::Array[Array[String | Symbol]]
33
-
34
- def self?.tags: (untyped env) -> Hash[String, String]
35
-
36
- def self?.ensure_post_conditions: (Hash[String, String] tags) -> void
37
-
38
- def self?.validate_repository_url: (String? repo_url) -> void
39
-
40
- def self?.validate_git_sha: (String? git_sha) -> void
41
- end
42
- end
43
- end
44
- end
@@ -1,53 +0,0 @@
1
- module Datadog
2
- module CI
3
- module Ext
4
- module Git
5
- SHA_LENGTH: 40
6
-
7
- TAG_BRANCH: "git.branch"
8
-
9
- TAG_REPOSITORY_URL: "git.repository_url"
10
-
11
- TAG_TAG: "git.tag"
12
-
13
- TAG_COMMIT_AUTHOR_DATE: "git.commit.author.date"
14
-
15
- TAG_COMMIT_AUTHOR_EMAIL: "git.commit.author.email"
16
-
17
- TAG_COMMIT_AUTHOR_NAME: "git.commit.author.name"
18
-
19
- TAG_COMMIT_COMMITTER_DATE: "git.commit.committer.date"
20
-
21
- TAG_COMMIT_COMMITTER_EMAIL: "git.commit.committer.email"
22
-
23
- TAG_COMMIT_COMMITTER_NAME: "git.commit.committer.name"
24
-
25
- TAG_COMMIT_MESSAGE: "git.commit.message"
26
-
27
- TAG_COMMIT_SHA: "git.commit.sha"
28
-
29
- ENV_REPOSITORY_URL: "DD_GIT_REPOSITORY_URL"
30
-
31
- ENV_COMMIT_SHA: "DD_GIT_COMMIT_SHA"
32
-
33
- ENV_BRANCH: "DD_GIT_BRANCH"
34
-
35
- ENV_TAG: "DD_GIT_TAG"
36
-
37
- ENV_COMMIT_MESSAGE: "DD_GIT_COMMIT_MESSAGE"
38
-
39
- ENV_COMMIT_AUTHOR_NAME: "DD_GIT_COMMIT_AUTHOR_NAME"
40
-
41
- ENV_COMMIT_AUTHOR_EMAIL: "DD_GIT_COMMIT_AUTHOR_EMAIL"
42
-
43
- ENV_COMMIT_AUTHOR_DATE: "DD_GIT_COMMIT_AUTHOR_DATE"
44
-
45
- ENV_COMMIT_COMMITTER_NAME: "DD_GIT_COMMIT_COMMITTER_NAME"
46
-
47
- ENV_COMMIT_COMMITTER_EMAIL: "DD_GIT_COMMIT_COMMITTER_EMAIL"
48
-
49
- ENV_COMMIT_COMMITTER_DATE: "DD_GIT_COMMIT_COMMITTER_DATE"
50
- end
51
- end
52
- end
53
- end
@@ -1,14 +0,0 @@
1
- module Datadog
2
- module CI
3
- module Ext
4
- module Settings
5
- ENV_MODE_ENABLED: String
6
- ENV_AGENTLESS_MODE_ENABLED: String
7
- ENV_AGENTLESS_URL: String
8
- ENV_EXPERIMENTAL_TEST_SUITE_LEVEL_VISIBILITY_ENABLED: String
9
-
10
- DD_SITE_ALLOWLIST: Array[String]
11
- end
12
- end
13
- end
14
- end
@@ -1,60 +0,0 @@
1
- module Datadog
2
- module CI
3
- module Ext
4
- module Test
5
- CONTEXT_ORIGIN: String
6
-
7
- TAG_ARGUMENTS: String
8
-
9
- TAG_FRAMEWORK: String
10
-
11
- TAG_FRAMEWORK_VERSION: String
12
-
13
- TAG_NAME: String
14
-
15
- TAG_SKIP_REASON: String
16
-
17
- TAG_STATUS: String
18
-
19
- TAG_SUITE: String
20
-
21
- TAG_MODULE: String
22
-
23
- TAG_TRAITS: String
24
-
25
- TAG_TYPE: String
26
-
27
- TAG_COMMAND: String
28
-
29
- TAG_TEST_SESSION_ID: String
30
-
31
- TAG_TEST_MODULE_ID: String
32
-
33
- TAG_TEST_SUITE_ID: String
34
-
35
- TEST_TYPE: String
36
-
37
- SPECIAL_TAGS: Array[String]
38
-
39
- INHERITABLE_TAGS: Array[String]
40
-
41
- TAG_OS_ARCHITECTURE: String
42
-
43
- TAG_OS_PLATFORM: String
44
-
45
- TAG_RUNTIME_NAME: String
46
-
47
- TAG_RUNTIME_VERSION: String
48
- TAG_SPAN_KIND: String
49
-
50
- module Status
51
- PASS: String
52
-
53
- FAIL: String
54
-
55
- SKIP: String
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,29 +0,0 @@
1
- module Datadog
2
- module CI
3
- module Ext
4
- module Transport
5
- DEFAULT_DD_SITE: "datadoghq.com"
6
-
7
- HEADER_DD_API_KEY: "DD-API-KEY"
8
-
9
- HEADER_CONTENT_TYPE: "Content-Type"
10
-
11
- HEADER_CONTENT_ENCODING: "Content-Encoding"
12
-
13
- HEADER_EVP_SUBDOMAIN: "X-Datadog-EVP-Subdomain"
14
-
15
- HEADER_CONTAINER_ID: "Datadog-Container-ID"
16
-
17
- EVP_PROXY_PATH_PREFIX: "/evp_proxy/v2/"
18
-
19
- TEST_VISIBILITY_INTAKE_HOST_PREFIX: "citestcycle-intake"
20
-
21
- TEST_VISIBILITY_INTAKE_PATH: "/api/v2/citestcycle"
22
-
23
- CONTENT_TYPE_MESSAGEPACK: "application/msgpack"
24
-
25
- CONTENT_ENCODING_GZIP: "gzip"
26
- end
27
- end
28
- end
29
- end
@@ -1,37 +0,0 @@
1
- module Datadog
2
- module CI
3
- class NullSpan < Span
4
- def initialize: () -> void
5
-
6
- def id: () -> nil
7
-
8
- def name: () -> nil
9
-
10
- def service: () -> nil
11
-
12
- def span_type: () -> nil
13
-
14
- def passed!: () -> nil
15
-
16
- def failed!: (?exception: untyped?) -> nil
17
-
18
- def skipped!: (?exception: untyped?, ?reason: untyped?) -> nil
19
-
20
- def get_tag: (untyped key) -> nil
21
-
22
- def set_tag: (untyped key, untyped value) -> nil
23
-
24
- def set_metric: (untyped key, untyped value) -> nil
25
-
26
- def finish: () -> nil
27
-
28
- def set_tags: (untyped tags) -> nil
29
-
30
- def set_environment_runtime_tags: () -> nil
31
-
32
- def set_default_tags: () -> nil
33
-
34
- def to_s: () -> untyped
35
- end
36
- end
37
- end
@@ -1,47 +0,0 @@
1
- module Datadog
2
- module CI
3
- class Span
4
- @tracer_span: Datadog::Tracing::SpanOperation
5
-
6
- attr_reader tracer_span: Datadog::Tracing::SpanOperation
7
-
8
- def initialize: (Datadog::Tracing::SpanOperation tracer_span) -> void
9
-
10
- def id: () -> Integer
11
-
12
- def name: () -> String
13
-
14
- def service: () -> String
15
-
16
- def undefined?: () -> bool
17
-
18
- def passed?: () -> bool
19
-
20
- def failed?: () -> bool
21
-
22
- def skipped?: () -> bool
23
-
24
- def passed!: () -> void
25
-
26
- def failed!: (?exception: untyped?) -> void
27
-
28
- def skipped!: (?exception: untyped?, ?reason: String?) -> void
29
-
30
- def get_tag: (String key) -> untyped?
31
-
32
- def set_tag: (String key, untyped? value) -> void
33
-
34
- def set_metric: (String key, untyped value) -> void
35
-
36
- def set_tags: (Hash[untyped, untyped] tags) -> void
37
-
38
- def finish: () -> void
39
-
40
- def span_type: () -> String
41
-
42
- def set_environment_runtime_tags: () -> void
43
-
44
- def set_default_tags: () -> void
45
- end
46
- end
47
- end
@@ -1,12 +0,0 @@
1
- module Datadog
2
- module CI
3
- class Test < Span
4
- def finish: () -> void
5
- def test_suite: () -> Datadog::CI::TestSuite?
6
- def test_suite_id: () -> String?
7
- def test_suite_name: () -> String?
8
- def test_module_id: () -> String?
9
- def test_session_id: () -> String?
10
- end
11
- end
12
- end
@@ -1,6 +0,0 @@
1
- module Datadog
2
- module CI
3
- class TestModule < ConcurrentSpan
4
- end
5
- end
6
- end
@@ -1,9 +0,0 @@
1
- module Datadog
2
- module CI
3
- class TestSession < ConcurrentSpan
4
- @inheritable_tags: Hash[untyped, untyped]
5
-
6
- def inheritable_tags: () -> Hash[untyped, untyped]
7
- end
8
- end
9
- end
@@ -1,6 +0,0 @@
1
- module Datadog
2
- module CI
3
- class TestSuite < ConcurrentSpan
4
- end
5
- end
6
- end
@@ -1,39 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Context
5
- class Global
6
- @mutex: Thread::Mutex
7
-
8
- @test_session: Datadog::CI::TestSession?
9
- @test_module: Datadog::CI::TestModule?
10
- @test_suites: Hash[String, Datadog::CI::TestSuite]
11
-
12
- def initialize: () -> void
13
-
14
- def fetch_or_activate_test_suite: (String test_suite_name) {() -> Datadog::CI::TestSuite} -> Datadog::CI::TestSuite
15
-
16
- def fetch_or_activate_test_module: () {() -> Datadog::CI::TestModule} -> Datadog::CI::TestModule
17
-
18
- def fetch_or_activate_test_session: () {() -> Datadog::CI::TestSession} -> Datadog::CI::TestSession
19
-
20
- def active_test_session: () -> Datadog::CI::TestSession?
21
-
22
- def active_test_suite: (String test_suite_name) -> Datadog::CI::TestSuite?
23
-
24
- def service: () -> String?
25
-
26
- def inheritable_session_tags: () -> Hash[untyped, untyped]
27
-
28
- def active_test_module: () -> Datadog::CI::TestModule?
29
-
30
- def deactivate_test_session!: () -> void
31
-
32
- def deactivate_test_module!: () -> void
33
-
34
- def deactivate_test_suite!: (String test_suite_name) -> void
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,23 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Context
5
- class Local
6
- @key: Symbol
7
-
8
- def initialize: () -> void
9
-
10
- def activate_test!: (Datadog::CI::Test test) ?{ () -> untyped } -> void
11
-
12
- def deactivate_test!: (Datadog::CI::Test test) -> void
13
-
14
- def active_test: () -> Datadog::CI::Test?
15
-
16
- private
17
-
18
- def active_test=: (Datadog::CI::Test? test) -> untyped
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Flush
5
- module Tagging
6
- def get_trace: (Datadog::Tracing::TraceOperation trace_op) -> untyped
7
- end
8
- class Finished < Tracing::Flush::Finished
9
- prepend Tagging
10
- end
11
- class Partial < Tracing::Flush::Partial
12
- prepend Tagging
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,45 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- class NullRecorder
5
- @null_span: Datadog::CI::NullSpan
6
-
7
- def initialize: (?untyped args) -> void
8
-
9
- def trace_test: (String span_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
10
-
11
- def trace: (String span_type, String span_name, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
12
-
13
- def start_test_session: (?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
14
-
15
- def start_test_module: (String test_module_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
16
-
17
- def start_test_suite: (String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
18
-
19
- def active_test_session: () -> Datadog::CI::TestSession?
20
-
21
- def active_test_module: () -> Datadog::CI::TestModule?
22
-
23
- def active_test_suite: (String test_suite_name) -> Datadog::CI::TestSuite?
24
-
25
- def active_test: () -> Datadog::CI::Test?
26
-
27
- def active_span: () -> Datadog::CI::Span?
28
-
29
- def deactivate_test: (Datadog::CI::Test test) -> void
30
-
31
- def deactivate_test_session: () -> void
32
-
33
- def deactivate_test_module: () -> void
34
-
35
- def deactivate_test_suite: (String test_suite_name) -> void
36
-
37
- private
38
-
39
- def null_span: () -> Datadog::CI::Span
40
-
41
- def skip_tracing: (?untyped block) -> untyped
42
- end
43
- end
44
- end
45
- end
@@ -1,85 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- class Recorder
5
- @test_suite_level_visibility_enabled: bool
6
-
7
- @environment_tags: Hash[String, String]
8
- @local_context: Datadog::CI::TestVisibility::Context::Local
9
- @global_context: Datadog::CI::TestVisibility::Context::Global
10
-
11
- @null_span: Datadog::CI::NullSpan
12
-
13
- attr_reader environment_tags: Hash[String, String]
14
- attr_reader test_suite_level_visibility_enabled: bool
15
-
16
- def initialize: (?test_suite_level_visibility_enabled: bool) -> void
17
-
18
- def trace_test: (String span_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
19
-
20
- def trace: (String span_type, String span_name, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
21
-
22
- def start_test_session: (?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
23
-
24
- def start_test_module: (String test_module_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
25
-
26
- def start_test_suite: (String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) -> Datadog::CI::Span
27
-
28
- def active_test_session: () -> Datadog::CI::TestSession?
29
-
30
- def active_test_module: () -> Datadog::CI::TestModule?
31
-
32
- def active_test_suite: (String test_suite_name) -> Datadog::CI::TestSuite?
33
-
34
- def active_test: () -> Datadog::CI::Test?
35
-
36
- def active_span: () -> Datadog::CI::Span?
37
-
38
- def deactivate_test: (Datadog::CI::Test test) -> void
39
-
40
- def deactivate_test_session: () -> void
41
-
42
- def deactivate_test_module: () -> void
43
-
44
- def deactivate_test_suite: (String test_suite_name) -> void
45
-
46
- private
47
-
48
- def create_datadog_span: (String span_name, ?span_options: Hash[untyped, untyped], ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Span span) -> untyped } -> untyped
49
-
50
- def set_trace_origin: (Datadog::Tracing::TraceOperation trace) -> untyped
51
-
52
- def build_test: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::Test
53
-
54
- def build_test_session: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestSession
55
-
56
- def build_test_module: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestModule
57
-
58
- def build_test_suite: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::TestSuite
59
-
60
- def build_span: (Datadog::Tracing::SpanOperation tracer_span, Hash[untyped, untyped] tags) -> Datadog::CI::Span
61
-
62
- def build_span_options: (String? service_name, String span_type, ?Hash[Symbol, untyped] other_options) -> Hash[Symbol, untyped]
63
-
64
- def set_initial_tags: (Datadog::CI::Span ci_span, Hash[untyped, untyped] tags) -> void
65
-
66
- # the type (Datadog::CI::TestSession | Datadog::Tracing::SpanOperation) screams of wrong/mising abstraction
67
- def set_session_context: (Hash[untyped, untyped] tags, ?Datadog::CI::TestSession | Datadog::Tracing::SpanOperation? test_session) -> void
68
-
69
- def set_suite_context: (Hash[untyped, untyped] tags, ?span: Datadog::Tracing::SpanOperation, ?name: String) -> void
70
-
71
- def set_module_context: (Hash[untyped, untyped] tags, ?Datadog::CI::TestModule | Datadog::Tracing::SpanOperation? test_module) -> void
72
-
73
- def null_span: () -> Datadog::CI::Span
74
-
75
- def skip_tracing: (?untyped block) -> untyped
76
-
77
- def start_datadog_tracer_span: (String span_name, Hash[untyped, untyped] span_options) ?{ (untyped) -> untyped } -> untyped
78
-
79
- def set_inherited_globals: (Hash[untyped, untyped] tags) -> void
80
-
81
- def validate_test_suite_level_visibility_correctness: (Datadog::CI::Test test) -> void
82
- end
83
- end
84
- end
85
- end
@@ -1,94 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Serializers
5
- class Base
6
- MINIMUM_TIMESTAMP_NANO: 946684800000000000
7
- MINIMUM_DURATION_NANO: 0
8
- MAXIMUM_DURATION_NANO: 9223372036854775807
9
-
10
- CONTENT_FIELDS: Array[String | Hash[String, String]]
11
- REQUIRED_FIELDS: Array[String]
12
-
13
- @content_fields_count: Integer
14
- @start: Integer
15
- @duration: Integer
16
- @meta: Hash[untyped, untyped]
17
- @errors: Hash[String, Set[String]]
18
- @validated: bool
19
-
20
- attr_reader trace: Datadog::Tracing::TraceSegment
21
- attr_reader span: Datadog::Tracing::Span
22
- attr_reader meta: Hash[untyped, untyped]
23
-
24
- def initialize: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> void
25
-
26
- def to_msgpack: (?untyped? packer) -> untyped
27
-
28
- def valid?: () -> bool
29
- def validate!: () -> void
30
- def validation_errors: () -> Hash[String, Set[String]]
31
-
32
- def content_fields: () -> ::Array[String | Hash[String, String]]
33
- def content_map_size: () -> Integer
34
-
35
- def runtime_id: () -> String
36
-
37
- def trace_id: () -> String
38
-
39
- def span_id: () -> String
40
-
41
- def parent_id: () -> String
42
-
43
- def test_session_id: () -> Integer?
44
-
45
- def test_module_id: () -> Integer?
46
-
47
- def test_suite_id: () -> Integer?
48
-
49
- def type: () -> nil
50
-
51
- def version: () -> 1
52
-
53
- def span_type: () -> String
54
-
55
- def name: () -> String
56
-
57
- def resource: () -> String
58
-
59
- def service: () -> String
60
-
61
- def start: () -> Integer
62
-
63
- def duration: () -> Integer
64
-
65
- def metrics: () -> Hash[String, untyped]
66
-
67
- def error: () -> Integer
68
-
69
- def self.calculate_content_map_size: (Array[String | Hash[String, String]] fields_list) -> Integer
70
-
71
- private
72
-
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
-
81
- def required_fields: () -> Array[String]
82
-
83
- def write_field: (untyped packer, String field_name, ?String? method) -> untyped
84
- def time_nano: (Time time) -> Integer
85
- def duration_nano: (Float duration) -> Integer
86
-
87
- def to_integer: (String? value) -> Integer?
88
-
89
- def content_fields_count: () -> Integer
90
- end
91
- end
92
- end
93
- end
94
- end
@@ -1,13 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Serializers
5
- module Factories
6
- module TestLevel
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
@@ -1,13 +0,0 @@
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
@@ -1,18 +0,0 @@
1
- module Datadog
2
- module CI
3
- module TestVisibility
4
- module Serializers
5
- class Span < Base
6
- CONTENT_FIELDS: Array[String | Hash[String, String]]
7
- CONTENT_MAP_SIZE: Integer
8
- REQUIRED_FIELDS: Array[String]
9
-
10
- def required_fields: () -> Array[String]
11
- def content_fields: () -> Array[String | Hash[String, String]]
12
- def content_map_size: () -> Integer
13
- def type: () -> "span"
14
- end
15
- end
16
- end
17
- end
18
- end