Buildkite Collectors for Ruby
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.
π Installing
Step 1
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
Step 2
RSpec
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
Minitest
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
Step 3
Add the BUILDKITE_ANALYTICS_TOKEN
secret to your CI, push your changes to a branch, and open a pull request π
More information
For more use cases such as custom tags, annotations, and span tracking, please visit our official Ruby collector documentation for details.
β Developing
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.
π©βπ» Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/buildkite/test-collector-ruby
π Releasing
- 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.
π MIT License
The gem is available as open source under the terms of the MIT License.