datadog-ci 1.21.0 → 1.21.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e7fac7df8bd20e5c52ea01bfe200854a7d2ad85454b60b9bad429d43527074b1
4
- data.tar.gz: 6763a5ac2a1f6c5dafbec6a1f3ed95f3eccfbd8e66b009b115dcae82ff6b62c8
3
+ metadata.gz: fea9fced002fe3713119893acd2ab78f7d3f2855dd3eaa3d30c87ed14cd18e37
4
+ data.tar.gz: b2bd39e198205855d322e31a17cf5d8ecded29edd2544963c3d5940f68856f45
5
5
  SHA512:
6
- metadata.gz: e1fefe3b31fff717f7df05fe2399459b2db086380c78cc7f27d7211cc082b804723d83cc0617c00c8851b8389205aa511d07ba09d67871de2bb1d38b67498b38
7
- data.tar.gz: 8eac96f33d23410db16c0199aa0b4bd28237b6f1e9eac087dde993db4a14c309017fe92592071e5c67718f7c2a7b2ce7e773b39cd7a643860a4898135381cb3f
6
+ metadata.gz: a2807fa13e49deccee138a6e59b3f5a7fb17c64ff0897519cf2b1af48c6724abce003cb726ff82a3b506804bd7f0bf342f1f18a1aeea755cd364ed32d63da0a6
7
+ data.tar.gz: 8c625ca146baeeb4901d8614430baf0efcea69e467327e9c8906ae989a23676a5792fef2a10e810606cab4012f2693e293847d00daad7c04c631ab3d0e95f56a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.21.1] - 2025-07-22
4
+
5
+ ### Fixed
6
+
7
+ * fix: RSpec's DocumentationFormatter might not be present at instrumentation time ([#384][])
8
+ * fix: do not crash when `Minitest.run` is called in a fork ([#383][])
9
+
3
10
  ## [1.21.0] - 2025-07-14
4
11
 
5
12
  ### Added
@@ -492,7 +499,8 @@ Currently test suite level visibility is not used by our instrumentation: it wil
492
499
 
493
500
  - Ruby versions < 2.7 no longer supported ([#8][])
494
501
 
495
- [Unreleased]: https://github.com/DataDog/datadog-ci-rb/compare/v1.21.0...main
502
+ [Unreleased]: https://github.com/DataDog/datadog-ci-rb/compare/v1.21.1...main
503
+ [1.21.1]: https://github.com/DataDog/datadog-ci-rb/compare/v1.21.0...v1.21.1
496
504
  [1.21.0]: https://github.com/DataDog/datadog-ci-rb/compare/v1.20.2...v1.21.0
497
505
  [1.20.2]: https://github.com/DataDog/datadog-ci-rb/compare/v1.20.1...v1.20.2
498
506
  [1.20.1]: https://github.com/DataDog/datadog-ci-rb/compare/v1.20.0...v1.20.1
@@ -698,4 +706,6 @@ Currently test suite level visibility is not used by our instrumentation: it wil
698
706
  [#355]: https://github.com/DataDog/datadog-ci-rb/issues/355
699
707
  [#359]: https://github.com/DataDog/datadog-ci-rb/issues/359
700
708
  [#366]: https://github.com/DataDog/datadog-ci-rb/issues/366
701
- [#370]: https://github.com/DataDog/datadog-ci-rb/issues/370
709
+ [#370]: https://github.com/DataDog/datadog-ci-rb/issues/370
710
+ [#383]: https://github.com/DataDog/datadog-ci-rb/issues/383
711
+ [#384]: https://github.com/DataDog/datadog-ci-rb/issues/384
@@ -24,10 +24,7 @@ module Datadog
24
24
  !defined?(::RSpec).nil? && !defined?(::RSpec::Core).nil? &&
25
25
  !defined?(::RSpec::Core::Example).nil? &&
26
26
  !defined?(::RSpec::Core::Runner).nil? &&
27
- !defined?(::RSpec::Core::ExampleGroup).nil? &&
28
- !defined?(::RSpec::Core::Formatters::DocumentationFormatter).nil? &&
29
- !defined?(::RSpec::Core::Formatters::BaseFormatter).nil? &&
30
- !defined?(::RSpec::Core::Formatters::BaseTextFormatter).nil?
27
+ !defined?(::RSpec::Core::ExampleGroup).nil?
31
28
  end
32
29
 
33
30
  def compatible?
@@ -21,7 +21,13 @@ module Datadog
21
21
  ::RSpec::Core::Runner.include(Runner)
22
22
  ::RSpec::Core::Example.include(Example)
23
23
  ::RSpec::Core::ExampleGroup.include(ExampleGroup)
24
- ::RSpec::Core::Formatters::DocumentationFormatter.include(DocumentationFormatter)
24
+
25
+ # only add DocumentationFormatter's patch if it's loaded at this point
26
+ if defined?(::RSpec::Core::Formatters::DocumentationFormatter) &&
27
+ defined?(::RSpec::Core::Formatters::BaseFormatter) &&
28
+ defined?(::RSpec::Core::Formatters::BaseTextFormatter)
29
+ ::RSpec::Core::Formatters::DocumentationFormatter.include(DocumentationFormatter)
30
+ end
25
31
  end
26
32
  end
27
33
  end
@@ -215,7 +215,11 @@ module Datadog
215
215
  end
216
216
 
217
217
  def client_process?
218
- forked? || @is_client_process
218
+ # We cannot assume here that every forked process is a client process
219
+ # there are examples of custom test runners that run tests in forks but don't have a test session
220
+ # started in the parent process.
221
+ # So we need to check if the process is forked and if the context service URI is not empty.
222
+ (forked? && !@context_service_uri.nil? && !@context_service_uri.empty?) || @is_client_process
219
223
  end
220
224
 
221
225
  private
@@ -446,6 +450,9 @@ module Datadog
446
450
  def start_drb_service
447
451
  return if @context_service_uri
448
452
  return if client_process?
453
+ # it doesn't make sense to start DRb in a fork - we are already running in a forked process
454
+ # and there is no parent process to communicate with
455
+ return if forked?
449
456
 
450
457
  @context_service = DRb.start_service("drbunix:", @context)
451
458
  @context_service_uri = @context_service.uri
@@ -5,7 +5,7 @@ module Datadog
5
5
  module VERSION
6
6
  MAJOR = 1
7
7
  MINOR = 21
8
- PATCH = 0
8
+ PATCH = 1
9
9
  PRE = nil
10
10
  BUILD = nil
11
11
  # PRE and BUILD above are modified for dev gems during gem build GHA workflow
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.21.0
4
+ version: 1.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.