Skip to content

Releases: DataDog/datadog-ci-rb

1.7.0

25 Sep 09:02
570d019
Compare
Choose a tag to compare

Highlights

The highlight of this release is the automatic total code coverage reporting when simplecov is configured for your test run.
Also, we have now better support for GitHub Actions jobs triggered by pull_request event, and test suites now have source location and codeowners.

Added

  • Report total lines coverage percentage to Datadog (#240)
  • add source location info to test suites (#239)
  • Add pull_request extra tags for GitHub Actions (#238)

Read the full changeset and the release milestone.

1.6.0

20 Sep 14:35
f3d84e6
Compare
Choose a tag to compare

Highlights

This release adds support for DD_TEST_SESSION_NAME environment variable that makes it possible to give logical names to test sessions.
Additionally, now the library sends internal metric with the number of virtual CPUs available for test runner to make ITR cost-saving calculation more precise.

Added

  • support logical names for test sessions (#235)
  • Send internal vCPU count metric (#236)

Read the full changeset and the release milestone.

1.5.0

18 Sep 07:44
671ff6c
Compare
Choose a tag to compare

Highlights

This release adds early flake detection support to Ruby library. This feature identifies new tests
added to your project and automatically retries them up to 10 times to find possible flaky tests before they land on default branch.

Added

  • Retry new tests - parse remote configuration and fetch unique known tests (#227)
  • early flake detection support for rspec and minitest (#229)
  • Early flake detection support for Cucumber (#231)

Fixed

  • Minor telemetry fixes (#226)

Read the full changeset and the release milestone.

1.4.1

28 Aug 11:09
1da7397
Compare
Choose a tag to compare

Highlights

Fixes potential crash when collecting per test coverage

Fixed

  • fix datadog_cov crash when doing allocation profiling (#224)

Read the full changeset and the release milestone.

1.4.0

26 Aug 13:46
af3db96
Compare
Choose a tag to compare

Highlights

Auto test retries

Test Visibility’s Auto Test Retries feature allows retrying failing tests up to N times to avoid failing your build due to flaky tests:
a failing test case is retried either until it passes successfully or until there are no more retry attempts left (in which case the build fails).

ITR is out of beta

Intelligent test runner for Ruby is out of beta now and is considered GA. Now DD_CIVISIBILITY_ITR_ENABLED env variable is not required to enable ITR - configuration in test settings page is enough.

Better test skipping for Cucumber

When ITR skips cucumber features, Before/After blocks are skipped as well.

Added

  • Auto test retries for cucumber (#212)
  • Auto test retries for RSpec (#213)
  • Auto test retries for minitest (#214)
  • implement auto test retries RFC (#219)

Changed

  • Skip Before/After hooks in cucumber when scenario is skipped by intelligent test runner (#211)
  • gem datadog 2.3 is now minimal required version (#220)
  • Enable agentless telemetry when library is running in agentless mode (#221)
  • Add Ruby 3.4 to the testing matrix (#217)
  • add different fallbacks for unshallowing remotes (#218)
  • make itr_enabled config parameter true by default (#216)
  • RSpec - don't report test errors if rspec process is quitting (#215)

Read the full changeset and the release milestone.

1.3.0

30 Jul 10:03
03fe65e
Compare
Choose a tag to compare

Highlights

This release adds internal Datadog telemetry to this library that will significantly simplify support and troubleshooting for customer issues.

Added

  • Add test_session metric (#207)
  • API metrics (#206)
  • git commands telemetry (#205)
  • implement ITR metrics for internal telemetry (#204)
  • Implement code coverage metrics for internal telemetry (#203)
  • Implement manual_api_events metric (#202)
  • HTTP transport metrics and minor telemetry tweaks (#201)
  • Send event_created and event_finished metrics for internal telemetry (#200)

Read the full changeset and the release milestone.

1.2.0

16 Jul 09:36
03910f2
Compare
Choose a tag to compare

Highlights

This release fixes an important limitation of per test code coverage that we use for intelligent test runner.
Now it correctly covers ActiveRecord and ActiveModel classes when they don't have any custom methods implemented.

Changed

  • Expand test impact analysis with allocation tracing (#197)

Read the full changeset and the release milestone.

1.1.0

01 Jul 09:38
fea0ea2
Compare
Choose a tag to compare

Highlights

datadog-ci library now automatically ignores WebMock/VCR libraries without custom configuration from user's side

Added

  • Ignore Webmock automatically when making HTTP calls (#193)

Read the full changeset and the release milestone.

1.0.1

11 Jun 14:21
f6943fb
Compare
Choose a tag to compare

Highlights

This releaes fixes the issue with code coverage tool for ITR not covering background threads.

Fixed

  • multi threaded code coverage support for datadog_cov (#189)
  • code coverage extension fixes and improvements (#171)

Read the full changeset and the release milestone.

1.0.0

06 Jun 14:36
f58bb35
Compare
Choose a tag to compare

Highlights

This is the first major release of Datadog's test visibility library after extracting it from ddtrace gem.

Intelligent test runner

Intelligent Test Runner that selectively runs only tests that are affected by changes in your feature branch.

Knapsack Pro support

Test runner Knapsack Pro v7.2 is now supported.

Browser tests support (via selenium)

Adds browser tests support with Datadog RUM integration.

Added

  • datadog-cov native extension for per test code coverage (#137)
  • citestcov transport to serialize and send code coverage events (#148)
  • Code coverage events writer (#150)
  • Git tree upload - git command line integration (#151)
  • Add Git::SearchCommits api client (#152)
  • Upload packfiles API client (#153)
  • Git tree uploader (#154)
  • Git repository unshallowing logic (#155)
  • Git upload async worker (#156)
  • Reduce ITR-induced code coverage overhead for default branch (#157)
  • Skippable tests api client (#158)
  • Request skippable tests when configuring ITR (#159)
  • Test skipping implementation (#160)
  • "why this test was skipped" feature (#165)
  • custom configurations tags support for ITR (#166)
  • unskippable tests for ITR (#167)
  • Knapsack Pro 7/RSpec 3 support (#172)
  • add settings option to ignore code coverage for bundled gems location (#174)
  • log an error message if tracing is disabled but test visibility is enabled (#175)
  • Browser tests support via selenium integration (#183)

Changed

  • automatically trace with correct time even when time is stubbed by timecop (#185)
  • depend on gem datadog ~> 2.0 (#190)
  • add additional debug logging, do not skip tests when running in forked processes (#168)
  • accept gzipped responses from API (#170)

Removed

  • Ruby 2.1-2.6 support is dropped
  • remove deprecated use alias (#173)

Fixed

  • Fix Knapsack Pro integration (#180)

Read the full changeset and the release milestone.