Official Buildkite Test Engine test collectors, together in one repository ✨
Every collector lives here — code, issues, pull requests, and releases — each having arrived with its full git history:
| Collector | Language | Home | Package |
|---|---|---|---|
| ruby | Ruby | test-collector-ruby/ | buildkite-test_collector on RubyGems |
| python | Python | test-collector-python/ | buildkite-test-collector on PyPI |
| javascript | JavaScript | test-collector-javascript/ | buildkite-test-collector on npm |
| swift | Swift | test-collector-swift/ | BuildkiteTestCollector via SwiftPM |
| elixir | Elixir | test_collector_elixir/ | buildkite_test_collector on Hex |
| dotnet | .NET | test-collector-dotnet/ | Buildkite.TestAnalytics on NuGet |
| android | Android | test-collector-android/ | com.buildkite.test-collector-android on Maven Central |
| rust | Rust | test-collector-rust/ | buildkite-test-collector on crates.io |
The original single-collector repositories are archived with pointer READMEs back to their directories here.
To get started, create a test suite and follow the README for your language's collector.
Each collector arrived with its full git history —
git log <its-directory> traces back to that project's very first
commit — and its release tags namespaced by directory
(e.g. test-collector-ruby/v2.9.0).
CI runs per project: a change under a project's directory triggers that
project's own pipeline (<project>/.buildkite/pipeline.yml), uploaded by
the dispatcher in .buildkite/pipeline.yml.
See RELEASING.md for the current process and status of every collector. Anyone can prepare a release pull request; publishing packages and creating releases requires the appropriate maintainer permissions.
Issues and pull requests are welcome right here! A PR touching one collector runs only that collector's CI, and cross-collector changes are fine too — that's rather the point. Each collector is licensed MIT; see the LICENSE file in its directory.