.agents/skills/fix-buildkite-ci/references/buildkite-ci-triage.md
bk CLI with auth configured.curl fallback when bk auth is unavailable.jq for structured parsing.Optional env:
export BUILDKITE_ORGANIZATION_SLUG=risingwavelabs
export BUILDKITE_API_TOKEN=<token>
gh pr checks <PR_NUMBER> --watch=false
Capture Buildkite URL(s):
https://buildkite.com/<org>/<pipeline>/builds/<build_number>
bk:
bk build view <build_number> --pipeline <pipeline> -o json > .context/bk_<build_number>.json
curl:
curl -sSL "https://buildkite.com/<org>/<pipeline>/builds/<build_number>.json" > .context/bk_<build_number>.json
jq -r '.jobs[] | select(.exit_status!=null and .exit_status!=0) | [(.name // .step.label), (.exit_status|tostring), .id] | @tsv' .context/bk_<build_number>.json
bk:
bk job log <job_id> -p <pipeline> -b <build_number> --no-timestamps
curl:
curl -sSL "https://buildkite.com/organizations/<org>/pipelines/<pipeline>/builds/<build_number>/jobs/<job_id>/log" > .context/job_<job_id>_log.json
If needed, strip ANSI noise from terminal logs:
... | tr -cd '\11\12\15\40-\176' | perl -pe 's/\[[0-9;]*[mK]//g; s/\r//g'
High-signal patterns:
query result mismatch[Diff] (-expected|+actual)query is expected to fail with error:panicassertion failedList artifacts:
bk artifacts list <build_number> -p <pipeline> --job <job_id> -o json
curl -sSL "https://buildkite.com/organizations/<org>/pipelines/<pipeline>/builds/<build_number>/jobs/<job_id>/artifacts"
Download by artifact id:
bk artifacts download <artifact_id>
curl -sSL "https://buildkite.com/organizations/<org>/pipelines/<pipeline>/builds/<build_number>/jobs/<job_id>/artifacts/<artifact_id>" -o /tmp/artifact
Common useful artifact files:
risedev-logs.ziprisedev-logs/nodetype-*.lograw_log_url can be null. Use job-id endpoint./download URLs can 404 without auth. Use artifact endpoint URL and follow redirects.curl | head can produce write errors; write to a file first.bk commands still need BUILDKITE_ORGANIZATION_SLUG even with -p.105: usually wrapper/plugin non-zero in e2e/SLT jobs. Inspect underlying SLT logs.4: often deterministic simulation or recovery script failure.143: usually cancellation/termination (SIGTERM), often not a product regression by itself.