Skip to content

Releases: DataDog/datadog-ci-rb

0.6.0

03 Jan 11:35
3688bc2
Compare
Choose a tag to compare

Experimental support for test suite level visibility

This release adds the long awaited test suite level visibility support for Ruby. Right now it is in experimental mode and disabled by default: please try it and share your feedback via GitHub issues or Datadog support!

To enable test suite level visibility in Ruby change your Datadog CI config and add the following setting:

Datadog.configure do |config|
  # ... your existing config...
  config.ci.experimental_test_suite_level_visibility_enabled = true
end

Added

  • Test suite level visibility instrumentation for RSpec (#86)
  • Test suite level visibility instrumentation for Cucumber (#90)
  • Test suite level visibility instrumentation for Minitest framework (#92)

Fixed

  • Do not instantiate TestVisibility::Recorder unless CI visibility is enabled (#89)

Read the full changeset and the release milestone.

0.5.1

11 Dec 10:45
b8c4124
Compare
Choose a tag to compare

This release fixes regression introduced for ddtrace gem users by Datadog::CI:
DataDog/dd-trace-rb#3314

Fixed

  • do not collect environment tags when CI is not enabled (#87)

Changed

  • Move private classes and modules deeper in module hierarchy (#85)
  • update appraisal dependencies (#84)

Read the full changeset and the release milestone.

0.5.0

06 Dec 15:37
f82c493
Compare
Choose a tag to compare

Test suite level visibility

This release includes experimental manual API for test suite level visibility in Ruby.

Currently test suite level visibility is not used by our instrumentation: it will be released in v0.6.

Added

  • Test suite level visibility: add test session public API (#72)
  • Test suite level visibility: test module support (#76)
  • Test suite level visibility: test suites support (#77)
  • add YARD documentation (#82)
  • support validation errors for CI spans (#78)

Changed

  • Validate DD_SITE variable (#79)
  • Document how to use WebMock with datadog-ci (#80)

Fixed

  • Datadog::CI.trace_test always starts a new trace (#74)
  • Skip tracing when CI mode disabled and manual API is used (#75)

Removed

  • Deprecate operation name setting, change service_name to service in public API (#81)

Read the full changeset and the release milestone.

0.4.1

22 Nov 10:26
96281ad
Compare
Choose a tag to compare

Fixed

  • disable 128-bit trace id generation in CI mode (#70)

Read the full changeset and the release milestone.

0.4.0

21 Nov 07:57
a1d2e4b
Compare
Choose a tag to compare

Notable changes

Manual API

This release includes manual tracing API. You can use it in order to instrument your tests like that:

Datadog::CI.start_test(
  "my test",
  tags: {
    "test.framework" => "my framework",
    "test.suite" => "my suite"
  },
  service_name: "service",
  operation_name: "test.test"
)

# your test code

test_span = Datadog::CI.active_test
test_span.passed!
test_span.finish

SSH credentials clean up

The library now correctly remove user credentials from URL for repository URLs using SSH protocol

Release notes

Added

  • Public API for manual test instrumentation (#64) (#61)

Changed

  • fix tracing instrumentation example in readme (#60)

Fixed

  • Remove user credentials from ssh URLs and from GITHUB_REPO_URL environment variable (#66)

Removed

  • Remove _dd.measured tag from spans (#65)

Read the full changeset and the release milestone.

0.3.0

25 Oct 11:23
eaa9ca8
Compare
Choose a tag to compare

Added

  • Add AWS CodePipeline support for automatic CI tags extraction (#54)
  • Support test visibility protocol via Datadog Agent with EVP proxy (#51)

Changed

  • Migrate to Net::HTTP adapter from Core module of ddtrace gem (#49)

Read the full changeset and the release milestone.

0.2.0

05 Oct 10:26
c227cc2
Compare
Choose a tag to compare

Configure agentless mode

If you are using cloud CI provider without access to the underlying worker nodes, such as GitHub Actions or CircleCI, configure the library to use the Agentless mode.

For this, set the following environment variables:

  • DD_CIVISIBILITY_AGENTLESS_ENABLED=true
  • DD_API_KEY=<your_api_key>

Additionally, configure which Datadog site you want to send your data to:

  • DD_SITE (default: datadoghq.com)

You can also enable agentless mode with Datadog.configure block:

Datadog.configure do |c|
  # … existing configuration …
  c.ci.agentless_mode_enabled = true
  # don't forget to set DD_API_KEY env variable!
end

Added

  • [CIAPP-2959] Agentless mode (#33)

Fixed

  • [CIAPP-4278] Fix an issue with emojis in commit message breaking LocalGit tags provider (#40)

Read the full changeset and the release milestone.

0.1.1

14 Sep 10:13
ef60285
Compare
Choose a tag to compare

Fixed

  • Fix circular dependencies warnings (#31)

Read the full changeset and the release milestone.

0.1.0

13 Sep 10:45
1efa0b8
Compare
Choose a tag to compare

Added

  • Add cucumber 8.0.0 support (#7)
  • Docs: contribution documentation (#14, #28)
  • Dev process: issue templates (#20)

Changed

  • Validate customer-supplied git tags (#15)

Fixed

  • Fix Datadog::CI::Environment to support the new CI specs (#11)

Removed

  • Ruby versions < 2.7 no longer supported (#8)

Read the release milestone.