Releases: DataDog/datadog-ci-rb
1.11.0
Highlights
This release adds Ruby 3.4 support to the gemspec and couple of minor fixes and changes.
Changed
- bump maximum Ruby version to 3.4 (#275)
- Use logical test session name as part of test session span's resource instead of test command (#271)
Fixed
- set the max payload size for events to 4.5MB (#272)
- Fix inline comments handling when parsing CODEOWNERS files (#267)
Read the full changeset and the release milestone.
1.10.0
Highlights
This release improves time savings when using Test Impact Analysis with RSpec by skipping context hooks
when all child examples are skipped
Added
- Skip before(:all) context hooks when all examples are skipped (#262)
Read the full changeset and the release milestone.
1.9.0
Highlights
Auto instrumentation is now supported!
If you prefer not to add Datadog.configure
to your codebase, you can now either:
- set
RUBYOPT
environment variable to"-rbundler/setup -rdatadog/ci/auto_instrument"
in your CI job just before running tests - OR run your tests with
bundle exec ddcirb exec
prepended, for example:bundle exec ddcirb exec bundle exec rspec
Soon we'll update Datadog's integrations for GHA/Gitlab/CircleCI to support Ruby as well.
Added
- Auto instrumentation (#259)
Read the full changeset and the release milestone.
1.8.1
Highlights
Small fix for ddcirb CLI tool
Fixed
- Make --spec-path option available to skipped-tests-estimate cli command (#250)
Read the full changeset and the release milestone.
1.8.0
Highlights
This release adds an experimental command line tool to calculate percentage of tests that are going to be skipped.
Other notable changes include performance optimisation for Intelligent Test Runner, adding retries to HTTP requests, and correct handling of the case when timecop mocks monotonic time (for timecop versions 0.9.9 and later).
Added
- Add command line tool to compute a percentage of skippable tests for RSpec (#194)
Changed
- Bump gem datadog dependency to 2.4 and update test dependencies (#248)
- Optimise LocalRepository.relative_to_root helper to make test impact analysis faster (#244)
- Retry HTTP requests on 429 and 5xx responses (#243)
- Use correct monotonic clock time if Timecop.mock_process_clock is set (#242)
Read the full changeset and the release milestone.
1.7.0
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
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
Read the full changeset and the release milestone.
1.5.0
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
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
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.