DEPRECATION NOTICE Versions prior to 2.1.x are unsupported and will not work after mid-2023. Please upgrade to the latest version.
Official Buildkite Test Engine collectors for Ruby test frameworks ✨
⚒ Supported test frameworks: RSpec, Minitest, and more coming soon.
📦 Supported CI systems: Buildkite, GitHub Actions, CircleCI, Codeship, and others via the BUILDKITE_ANALYTICS_*
environment variables.
Create a test suite, and copy the API token that it gives you.
Add the buildkite-test_collector
gem:
gem install buildkite-test_collector
Or add this to your Gemfile’s test group:
group :test do
gem 'buildkite-test_collector'
end
Add the following code to your RSpec setup file:
# spec/spec_helper.rb
require 'buildkite/test_collector'
Buildkite::TestCollector.configure(hook: :rspec)
Run your tests locally:
BUILDKITE_ANALYTICS_TOKEN=xyz rspec
Add the following code to your Minitest setup file:
# test/test_helper.rb
require 'buildkite/test_collector'
Buildkite::TestCollector.configure(hook: :minitest)
Run your tests locally:
BUILDKITE_ANALYTICS_TOKEN=xyz rake
Add the BUILDKITE_ANALYTICS_TOKEN
secret to your CI, push your changes to a branch, and open a pull request 🎉
For more use cases such as custom tags, annotations, and span tracking, please visit our official Ruby collector documentation for details.
After cloning the repository, install the dependencies:
bundle
And run the tests:
bundle exec rspec
Useful resources for developing collectors include the Buildkite Test Engine docs.
See DESIGN.md for an overview of the design of this gem.
Bug reports and pull requests are welcome on GitHub at https://github.com/buildkite/test-collector-ruby
- Bump the version in
version.rb
and runbundle
to update theGemfile.lock
. - Update the CHANGELOG.md with your new version and a description of your changes.
Once your PR is merged to main
:
- Git tag the merge commit and push
git tag vX.X.X
git push origin vX.X.X
- Visit the release pipeline to unblock it and confirm the new version is pushed to rubygems.org
- Create a new release in github.
The gem is available as open source under the terms of the MIT License.