CI visibility
Create a source:
POST /v1/projects/{p}/ci-sources {"provider":"github|gitlab|buildkite|circleci"}. The response showssecretandsigning_secretonce; only the SHA-256 is stored.Point the provider's webhook at
/v1/ci/{provider}/{source id}on the edge.GitLab:
X-Gitlab-Token=secret(Pipeline and Job events). Buildkite:X-Buildkite-Token=secret(build.finished,job.finished).GitHub (
workflow_run,workflow_job; headerX-Hub-Signature-256) and CircleCI (workflow-completed,job-completed;circleci-signature): set the webhook secret tosigning_secret.
Only finished runs and jobs are kept. Each becomes a span (
cicd.pipeline.*, serviceci:<repo>) in the tracesha256("provider:run_id")[..16], and aci_runs_v1row. Spans that follow the OTel CI/CD conventions sent through the gateway are recognised too.Test results:
wtctl ci upload-junit report.xml --api ... --key ... --project ... --run-id $RUN --sha $SHA [--coverage 81.5](multipart, up to 20 MiB). A test is flaky when it passed and failed on one commit, or flipped outcome at least 3 times in its last 20 runs.
Reads: /ci/pipelines, /ci/runs/{id}, /tests?flaky=true, /tests/coverage, /dora.