datadog-ci 1.32.0 → 1.33.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 +10 -2
- data/lib/datadog/ci/configuration/components.rb +2 -0
- data/lib/datadog/ci/configuration/settings.rb +5 -0
- data/lib/datadog/ci/ext/settings.rb +1 -0
- data/lib/datadog/ci/source_code/static_dependencies_extractor.rb +0 -1
- data/lib/datadog/ci/test_tracing/component.rb +2 -1
- data/lib/datadog/ci/test_tracing/context.rb +3 -1
- data/lib/datadog/ci/utils/runtime_tags_overrides.rb +44 -0
- data/lib/datadog/ci/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6e5dd4e5fdf647baf9134e9fdcc5eb6d1215c48b08bf1905dd69e731a8ebe18e
|
|
4
|
+
data.tar.gz: 851eadff7367e69480490eea9fb7e5e074c2099008de2537c07efba2de9366bf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 22bedcab49da1df468ae63d217b160d7e3a976a5b722aaa012622564629d8760afc39165b47dc8be7454b406db8e073be46524d0de02fa2b6fd13a4e685713c8
|
|
7
|
+
data.tar.gz: 9affe9fe044871139755c3fbbb0b28146bc07c2b36ed79627ad0db67ee254764fbca12bebafc9a317224bd275f9c60e5a978a3c526b8a11c0a4a92150152f104
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [1.33.0] - 2026-06-19
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
* Allow overriding runtime tags ([#527][])
|
|
8
|
+
|
|
3
9
|
## [1.32.0] - 2026-06-08
|
|
4
10
|
|
|
5
11
|
### Changed
|
|
@@ -653,7 +659,8 @@ Currently test suite level visibility is not used by our instrumentation: it wil
|
|
|
653
659
|
|
|
654
660
|
- Ruby versions < 2.7 no longer supported ([#8][])
|
|
655
661
|
|
|
656
|
-
[Unreleased]: https://github.com/DataDog/datadog-ci-rb/compare/v1.
|
|
662
|
+
[Unreleased]: https://github.com/DataDog/datadog-ci-rb/compare/v1.33.0...main
|
|
663
|
+
[1.33.0]: https://github.com/DataDog/datadog-ci-rb/compare/v1.32.0...v1.33.0
|
|
657
664
|
[1.32.0]: https://github.com/DataDog/datadog-ci-rb/compare/v1.31.0...v1.32.0
|
|
658
665
|
[1.31.0]: https://github.com/DataDog/datadog-ci-rb/compare/v1.30.0...v1.31.0
|
|
659
666
|
[1.30.0]: https://github.com/DataDog/datadog-ci-rb/compare/v1.29.0...v1.30.0
|
|
@@ -925,4 +932,5 @@ Currently test suite level visibility is not used by our instrumentation: it wil
|
|
|
925
932
|
[#515]: https://github.com/DataDog/datadog-ci-rb/issues/515
|
|
926
933
|
[#516]: https://github.com/DataDog/datadog-ci-rb/issues/516
|
|
927
934
|
[#521]: https://github.com/DataDog/datadog-ci-rb/issues/521
|
|
928
|
-
[#522]: https://github.com/DataDog/datadog-ci-rb/issues/522
|
|
935
|
+
[#522]: https://github.com/DataDog/datadog-ci-rb/issues/522
|
|
936
|
+
[#527]: https://github.com/DataDog/datadog-ci-rb/issues/527
|
|
@@ -37,6 +37,7 @@ require_relative "../test_tracing/transport"
|
|
|
37
37
|
require_relative "../transport/adapters/telemetry_webmock_safe_adapter"
|
|
38
38
|
require_relative "../transport/api/builder"
|
|
39
39
|
require_relative "../utils/parsing"
|
|
40
|
+
require_relative "../utils/runtime_tags_overrides"
|
|
40
41
|
require_relative "../utils/test_run"
|
|
41
42
|
require_relative "../async_writer"
|
|
42
43
|
require_relative "../worker"
|
|
@@ -169,6 +170,7 @@ module Datadog
|
|
|
169
170
|
test_suite_level_visibility_enabled: !settings.ci.force_test_level_visibility,
|
|
170
171
|
logical_test_session_name: settings.ci.test_session_name,
|
|
171
172
|
known_tests_client: build_known_tests_client(settings, test_visibility_api),
|
|
173
|
+
runtime_tags_overrides: Utils::RuntimeTagsOverrides.parse(settings.ci.runtime_tags_overrides),
|
|
172
174
|
context_service_uri: settings.ci.test_visibility_drb_server_uri
|
|
173
175
|
)
|
|
174
176
|
|
|
@@ -213,6 +213,11 @@ module Datadog
|
|
|
213
213
|
o.default true
|
|
214
214
|
end
|
|
215
215
|
|
|
216
|
+
option :runtime_tags_overrides do |o|
|
|
217
|
+
o.type :string, nilable: true
|
|
218
|
+
o.env CI::Ext::Settings::ENV_RUNTIME_TAGS
|
|
219
|
+
end
|
|
220
|
+
|
|
216
221
|
define_method(:instrument) do |integration_name, options = {}, &block|
|
|
217
222
|
return unless enabled
|
|
218
223
|
|
|
@@ -32,6 +32,7 @@ module Datadog
|
|
|
32
32
|
ENV_AUTO_INSTRUMENTATION_PROVIDER = "DD_CIVISIBILITY_AUTO_INSTRUMENTATION_PROVIDER"
|
|
33
33
|
ENV_TIA_STATIC_DEPENDENCIES_TRACKING_ENABLED = "DD_TEST_OPTIMIZATION_TIA_STATIC_DEPS_COVERAGE_ENABLED"
|
|
34
34
|
ENV_CODE_COVERAGE_REPORT_UPLOAD_ENABLED = "DD_CIVISIBILITY_CODE_COVERAGE_REPORT_UPLOAD_ENABLED"
|
|
35
|
+
ENV_RUNTIME_TAGS = "DD_TEST_OPTIMIZATION_RUNTIME_TAGS"
|
|
35
36
|
|
|
36
37
|
# Source: https://docs.datadoghq.com/getting_started/site/
|
|
37
38
|
DD_SITE_ALLOWLIST = %w[
|
|
@@ -37,11 +37,12 @@ module Datadog
|
|
|
37
37
|
test_suite_level_visibility_enabled: false,
|
|
38
38
|
codeowners: Codeowners::Parser.new(Git::LocalRepository.root).parse,
|
|
39
39
|
logical_test_session_name: nil,
|
|
40
|
+
runtime_tags_overrides: {},
|
|
40
41
|
context_service_uri: nil
|
|
41
42
|
)
|
|
42
43
|
@test_suite_level_visibility_enabled = test_suite_level_visibility_enabled
|
|
43
44
|
|
|
44
|
-
@context = Context.new(test_tracing_component: self)
|
|
45
|
+
@context = Context.new(test_tracing_component: self, runtime_tags_overrides: runtime_tags_overrides)
|
|
45
46
|
|
|
46
47
|
@codeowners = codeowners
|
|
47
48
|
@logical_test_session_name = logical_test_session_name
|
|
@@ -30,8 +30,9 @@ module Datadog
|
|
|
30
30
|
class Context
|
|
31
31
|
attr_reader :total_tests_count, :tests_skipped_by_tia_count
|
|
32
32
|
|
|
33
|
-
def initialize(test_tracing_component:)
|
|
33
|
+
def initialize(test_tracing_component:, runtime_tags_overrides: {})
|
|
34
34
|
@test_tracing_component = test_tracing_component
|
|
35
|
+
@runtime_tags_overrides = runtime_tags_overrides
|
|
35
36
|
|
|
36
37
|
@fiber_local_context = Store::FiberLocal.new
|
|
37
38
|
@process_context = Store::Process.new
|
|
@@ -239,6 +240,7 @@ module Datadog
|
|
|
239
240
|
ci_span.set_default_tags
|
|
240
241
|
ci_span.set_environment_runtime_tags
|
|
241
242
|
|
|
243
|
+
ci_span.set_tags(@runtime_tags_overrides) unless @runtime_tags_overrides.empty?
|
|
242
244
|
ci_span.set_tags(tags)
|
|
243
245
|
ci_span.set_tags(@environment_tags)
|
|
244
246
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
require_relative "../ext/test"
|
|
6
|
+
|
|
7
|
+
module Datadog
|
|
8
|
+
module CI
|
|
9
|
+
module Utils
|
|
10
|
+
module RuntimeTagsOverrides
|
|
11
|
+
TAGS = [
|
|
12
|
+
Ext::Test::TAG_OS_PLATFORM,
|
|
13
|
+
Ext::Test::TAG_OS_ARCHITECTURE,
|
|
14
|
+
Ext::Test::TAG_OS_VERSION,
|
|
15
|
+
Ext::Test::TAG_RUNTIME_NAME,
|
|
16
|
+
Ext::Test::TAG_RUNTIME_VERSION
|
|
17
|
+
].freeze
|
|
18
|
+
|
|
19
|
+
def self.parse(value)
|
|
20
|
+
return {} if value.nil? || value.to_s.strip.empty?
|
|
21
|
+
|
|
22
|
+
parsed = JSON.parse(value.to_s)
|
|
23
|
+
unless parsed.is_a?(Hash)
|
|
24
|
+
Datadog.logger.warn("Invalid runtime tag overrides configuration: expected JSON object")
|
|
25
|
+
return {}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
parsed.each_with_object({}) do |(key, tag_value), tags|
|
|
29
|
+
next unless TAGS.include?(key)
|
|
30
|
+
next if tag_value.nil?
|
|
31
|
+
|
|
32
|
+
normalized_value = tag_value.to_s.strip
|
|
33
|
+
next if normalized_value.empty?
|
|
34
|
+
|
|
35
|
+
tags[key] = normalized_value
|
|
36
|
+
end
|
|
37
|
+
rescue JSON::ParserError => e
|
|
38
|
+
Datadog.logger.warn("Invalid runtime tag overrides configuration: #{e.message}")
|
|
39
|
+
{}
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/datadog/ci/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: datadog-ci
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.33.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Datadog, Inc.
|
|
@@ -319,6 +319,7 @@ files:
|
|
|
319
319
|
- lib/datadog/ci/utils/json.rb
|
|
320
320
|
- lib/datadog/ci/utils/parsing.rb
|
|
321
321
|
- lib/datadog/ci/utils/rum.rb
|
|
322
|
+
- lib/datadog/ci/utils/runtime_tags_overrides.rb
|
|
322
323
|
- lib/datadog/ci/utils/stateful.rb
|
|
323
324
|
- lib/datadog/ci/utils/telemetry.rb
|
|
324
325
|
- lib/datadog/ci/utils/test_run.rb
|