Buildkite Collectors for Ruby
Official Buildkite Test Analytics collectors for Ruby test frameworks ✨
⚒ Supported test frameworks: RSpec, Minitest, and more coming soon.
📦 Supported CI systems: Buildkite, GitHub Actions, CircleCI, and others via the
BUILDKITE_ANALYTICS_* environment variables.
Create a test suite, and copy the API token that it gives you.
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:
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 secret to your CI, push your changes to a branch, and open a pull request 🎉
git checkout -b add-buildkite-test-analytics git commit -am "Add Buildkite Test Analytics" git push origin add-buildkite-test-analytics
This gem allows adding custom annotations to the span data sent to Buildkite using the .annotate method. For example:
Buildkite::TestCollector.annotate("User logged in successfully")
This is particularly useful for tests that generate a lot of span data such as system/feature tests.
🏷️ Tagging duplicate test executions with a prefix/suffix
For builds that execute the same test multiple times - such as when running the same test suite against multiple versions of ruby/rails - it's possible to tag each test execution with a prefix/suffix. This prefix/suffix is displayed for each execution on the test show page to differentiate the build environment. The prefix/suffix is specified using these environment variables:
To enable debugging output, set the
BUILDKITE_ANALYTICS_DEBUG_ENABLED environment variable to
See the GitHub 'enhancement' issues for planned features. Pull requests are always welcome, and we’ll give you feedback and guidance if you choose to contribute 💚
After cloning the repository, install the dependencies:
And run the tests:
bundle exec rspec
Useful resources for developing collectors include the Buildkite Test Analytics 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
📜 MIT License
The gem is available as open source under the terms of the MIT License.