Releases: DataDog/datadog-ci-rb
1.0.0.beta2
All the changes in this release are related to the development of intelligent test runner for Ruby.
Added
- 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)
Read the full changeset.
1.0.0.beta1
This is a first beta version of 1.0 release of this library.
To upgrade, replace in your gemfile
gem "ddtrace"
with
group :test do
gem "datadog-ci", "~> 1.0.0.beta1"
end
Added
- datadog-cov native extension for per test code coverage (#137)
- citestcov transport to serialize and send code coverage events (#148)
Removed
- Ruby 2.1-2.6 support is dropped
Read the full changeset
0.8.3
This release fixes compatibility with cucumber-ruby version 9.2 that introduced a breaking change that causes datadog-ci to fail.
Fixed
- fix: cucumber-ruby 9.2 includes breaking change for Cucumber::Core::Test::Result (#145)
Changed
- remove temporary hack and use Core::Remote::Negotiation's new constructor param (#142)
- use filter_basic_auth method from Datadog::Core (#141)
Read the full changeset and the release milestone.
0.8.2
Fixed
- assign the single running test suite for a test if none found by test suite name (#139)
Read the full changeset and the release milestone.
0.8.1
This patch release includes bug fix for Minitest instrumentation when using mixed in tests and/or shoulda-context gem
Fixed
- fix minitest instrumentation with mixins (#134)
Read the full changeset and the release milestone.
0.8.0
This release contains important bug fix for test fingerprints: there was an issue with flaky test detection when test command is unstable, it is fixed in this release.
Added
- gzip agent payloads support via evp_proxy/v4 (#123)
Changed
- Add note to README on using VCR (#122)
Fixed
- Flaky tests detection: use framework name as test module name to make test fingerprints stable (#131)
Read the full changeset and the release milestone.
0.7.0
Release notes
Test visibility in Ruby is now feature complete! In this release we add a whole bunch of new features and better support for the old ones.
Most notable changes include:
Test suite level visibility
Test suite level visibility is now enabled by default. After upgrade you'll see test suites and sessions info for your tests:
If your were previously using c.ci.experimental_test_suite_level_visibility_enabled
option or ENV variable DD_CIVISIBILITY_EXPERIMENTAL_TEST_SUITE_LEVEL_VISIBILITY_ENABLED
please remove them as they are now deprecated and to be removed.
Source code integration
Displaying source code of tests now works for Ruby:
CODEOWNERS support
We support CODEOWNERS files in GitHub and Gitlab formats and automatically attach code owners information to your tests:
Parametrized tests
Cucumber scenarios with examples now deduplicated using test parameters feature:
Changes
Added
- Source code integration (#95)
- CODEOWNERS support (#98)
- Cucumber scenarios with examples are treated as parametrized tests (#100)
- Deduplicate dynamically generated RSpec examples using test.parameters (#101)
- Repository name is used as default test service name (#104)
- Cucumber v9 support (#99)
- ci-queue runner support for minitest (#110)
- ci-queue support for rspec (#112)
Fixed
- do not publish sig folder when publishing this gem to prevent steep errors in client applications (#114)
- minitest: fix rails parallel test runner (#115)
- Test suites and tests skipped by frameworks are correctly reported as skipped to Datadog (#113)
Changed
- Enable test suite level visibility by default (with killswitch) (#109)
- Test suite names are more human-readable now (#105)
- Remove span_type method in tracer-related models (#107)
- Manual tracing API: convert type parameter to keyword in Datadog::CI.trace, remove internal-only methods from public API (#108)
Read the full changeset and the release milestone.
0.6.0
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
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
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
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.