bk build failed-tests lists tests with failed executions
Introduced 2026-10-20 · score 0.98
HOW TO USE IT
When debugging tests for a Buildkite build, run `bk build failed-tests` with a build number, qualified selector, or build URL; add `--pipeline` if a plain number cannot be inferred unambiguously. The command lists tests with at least one failed execution, including tests that passed on retry.
bk build failed-tests <build-number> --pipeline <pipeline> --jsonbk build failed-tests <org>/<pipeline>/<build-number> --textbk build failed-tests https://buildkite.com/<org>/<pipeline>/builds/<build-number> --yamlWHY THIS HELPS
Inspect failed test executions for a Buildkite build during test debugging.
BEFORE THIS CHANGE
The release note states that listing all failed tests for a build previously required calling the API directly; `bk job flaky-tests` only listed tests currently labelled flaky for one failed job.
REQUIREMENTS AND LIMITATIONS
- Version: v3.64.2
- build argument (required): Build number, `org/pipeline/number`, or Buildkite build URL.
- --pipeline: Pipeline slug or `org/pipeline`; inferred from configuration or repository if omitted. Specify it when inference is ambiguous, especially for JSON/YAML output.
- --json: Output as JSON; mutually exclusive with `--yaml` and `--text`.
- --yaml: Output as YAML; mutually exclusive with `--json` and `--text`.
- --text: Output as text; mutually exclusive with `--json` and `--yaml`.
- --output / -o: Select `json`, `yaml`, or `text` output format.
- Prerequisite: Token requires `read_builds` and `read_suites` scopes.
- Prerequisite: Uploaded Test Engine data associated with the build must be available from suites accessible to the token.
- Prerequisite: Authenticate/configure the CLI for the target organization; the README documents `bk auth login`.
- Requires `read_builds` and `read_suites` token scopes and uploaded Test Engine data associated with the build.
- The API aggregation window is bounded by retention and ends at most 24 hours after build creation.
- JSON/YAML never prompts for pipeline selection; specify `--pipeline` when inference is ambiguous.
- Fetches tests with at least one failed execution, including tests that passed on retry; it does not restrict results to flaky labels or require the build to be failed.
- Individual execution failure messages and backtraces are not included.
- An empty result does not prove that no tests failed, particularly when data is missing or inaccessible.
- Current test labels do not establish that flakiness caused a failure.
FIRST-PARTY EVIDENCE
- https://github.com/buildkite/cli/releases/tag/v3.64.2
- https://github.com/buildkite/cli/pull/1048
- https://github.com/buildkite/cli/blob/v3.64.2/README.md
- https://github.com/buildkite/cli/blob/v3.64.2/cmd/build/failed_tests.go
- https://github.com/buildkite/cli/blob/v3.64.2/pkg/output/flags.go
Check the installed version and the source before using it. Entry JSON