https://github.com/buildkite/test-collector-ruby
Buildkite Test Engine collector for Ruby test frameworks
https://github.com/buildkite/test-collector-ruby
buildkite-test-analytics buildkite-test-engine minitest rspec ruby
Last synced: 3 months ago
JSON representation
Buildkite Test Engine collector for Ruby test frameworks
- Host: GitHub
- URL: https://github.com/buildkite/test-collector-ruby
- Owner: buildkite
- License: mit
- Created: 2021-01-29T01:42:33.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-26T23:26:39.000Z (4 months ago)
- Last Synced: 2025-03-28T05:12:09.956Z (3 months ago)
- Topics: buildkite-test-analytics, buildkite-test-engine, minitest, rspec, ruby
- Language: Ruby
- Homepage: https://buildkite.com/platform/test-engine/
- Size: 549 KB
- Stars: 16
- Watchers: 22
- Forks: 26
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# 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](https://buildkite.com/platform/test-engine) collectors for Ruby test frameworks β¨
β **Supported test frameworks:** RSpec, Minitest, and [more coming soon](https://github.com/buildkite/test-collector-ruby/issues?q=is%3Aissue+is%3Aopen+label%3A%22test+frameworks%22).
π¦ **Supported CI systems:** Buildkite, GitHub Actions, CircleCI, Codeship, and others via the `BUILDKITE_ANALYTICS_*` environment variables.
## π Installing
### Step 1
[Create a test suite](https://buildkite.com/docs/test-analytics), and copy the API token that it gives you.
Add the [`buildkite-test_collector`](https://rubygems.org/gems/buildkite-test_collector) gem:
```shell
gem install buildkite-test_collector
```Or add this to your Gemfileβs test group:
```ruby
group :test do
gem 'buildkite-test_collector'
end
```### Step 2
#### RSpec
Add the following code to your RSpec setup file:
```ruby
# spec/spec_helper.rb
require 'buildkite/test_collector'
Buildkite::TestCollector.configure(hook: :rspec)
```Run your tests locally:
```shell
BUILDKITE_ANALYTICS_TOKEN=xyz rspec
```#### Minitest
Add the following code to your Minitest setup file:
```ruby
# test/test_helper.rb
require 'buildkite/test_collector'
Buildkite::TestCollector.configure(hook: :minitest)
```Run your tests locally:
```shell
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](https://buildkite.com/docs/test-engine/ruby-collectors) 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](https://buildkite.com/docs/test-engine).
See [DESIGN.md](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
1. Bump the version in `version.rb` and run `bundle` to update the `Gemfile.lock`.
1. Update the CHANGELOG.md with your new version and a description of your changes.Once your PR is merged to `main`:
1. Git tag the merge commit and push
```
git tag vX.X.X
git push origin vX.X.X
```
1. Visit the [release pipeline](https://buildkite.com/buildkite/test-collector-ruby-release) to unblock it and confirm the new version is pushed to rubygems.org
1. Create a [new release in github](https://github.com/buildkite/test-collector-ruby/releases).## π MIT License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).