Skip to content

docs(ci): document the CI tab, the PR CI view, and span ingestion - #344

Merged
EliSchleifer merged 43 commits into
mainfrom
eli/ci-docs
Sep 18, 2026
Merged

EliSchleifer merged 43 commits into
mainfrom
eli/ci-docs

Conversation

@EliSchleifer

Copy link
Copy Markdown
Member

Adds a top-level CI tab to the docs, covering the two places the CI product shows up in the app and how to get data into it.

Page Covers
ci/index What Trunk CI is, the provider→Trunk concept mapping, 90-day retention
ci/get-started/index The two shared prerequisites: repo connected, CI Intelligence on
ci/get-started/github-actions No-pipeline-change setup, job-key identity, the "Other checks" quirk
ci/get-started/buildkite Notification-service + agent OTLP export, token, troubleshooting
ci/pull-requests PR list CI column, attempt picker, CI / Activity / Dynamic CI tabs
ci/ci-tab Jobs list, job detail, Overview, In flight
ci/commit-traces The waterfall

Decisions worth reviewing

A new top-level tab, not a group inside an existing one. The product is its own top-navbar tab in the app, and mirroring that keeps the docs navigable by someone looking at the app. Folding it into the Dynamic CI tab was the alternative, and it's wrong: the two products are deliberately decoupled flags (showCiDashboard vs showDynamicCI), so an org can have either without the other. Putting them under one tab would imply otherwise. It sits immediately before Dynamic CI so the two CI products are adjacent.

Public, not group-gated. Dynamic CI's page carries groups: ["dynamic-ci"] and is served only to readers whose docs JWT lists it. Gating these the same way would need a companion trunk2 PR — docsGroupsForSession in mintlify-docs.ts only ever emits dynamic-ci today, and reusing that group would show CI docs to exactly the wrong set of orgs. Shipping public avoids a cross-repo dependency for docs that describe a product customers are already being onboarded onto. Easy to gate later if that's wrong.

commit-traces is its own page rather than duplicated prose. The waterfall is literally one view with two hosts (the PR detail CI tab and the CI tab's job history), so describing it twice would guarantee drift. Both pages link to it.

Definitions are stated, because the numbers are not self-evident. Pass rate excludes cancelled and skipped from both halves; run count includes zero-duration runs while duration percentiles cannot. That asymmetry is visible in the UI (a duration chart's count sits below the run count) and reads as a bug unless the docs say why.

Scope. Failures, Monitors, Logs, Pricing and Kiln sub-tabs are deliberately left out — Failures renders empty in production today and Logs is a placeholder. A reader will see tabs these docs don't mention; worth a follow-up once those are real.

Two things I could not confirm

The Buildkite ingest host. I published https://api.trunk.io/v2/ci/buildkite. The route is mounted on publicApiDomain, but per ADR-0013 only private.api.<domain> has a CloudFront origin today and the apex is a later cutover. Both hosts return 403 to an unauthenticated POST, which proves the edge is enforcing but not which host external callers should be given. If the apex isn't live for customers yet, this one string needs changing (ci/get-started/buildkite.mdx, two occurrences).

Buildkite's own UI labels. CONTRIBUTING.md asks that nav paths be walked in the live product. I verified SettingsNotification Services and the --opentelemetry-tracing agent flag against Buildkite's current docs, not their UI. Someone with a Buildkite org admin seat should confirm the OpenTelemetry Tracing service name and the URL/Headers field labels.

Separately and not fixed here: docs/trd/ci-data-ingestion/per-provider-ingestion.md in trunk2 still says the agent flag is --tracing-backend opentelemetry. Buildkite's current docs and the comment in handlers.rs both say --opentelemetry-tracing. Docs here use the current flag; the TRD needs its own fix.

Screenshots

Eight <Frame> slots are in place pointing at /assets/ci/…, currently unfilled:

  • get-started/ci-intelligence-toggle.png — Settings → Repositories, CI Intelligence column
  • get-started/org-api-token.png — Settings → Organization → General, API Token row
  • pull-requests/pr-list.png — the /pulls table with CI + merge-queue columns
  • pull-requests/pr-detail.png — PR detail with attempt picker and CI tab
  • ci-tab/jobs-list.png — Jobs index with repo picker
  • ci-tab/job-detail.png — job page stat strip + pass/fail chart
  • ci-tab/overview.png — in-flight boxes + concurrency chart
  • commit-traces/waterfall.png — a trace with several workflow lanes and visible queue stripes

Don't merge before these land — the pages render broken images until they do.

🤖 Generated with Claude Code

Adds a top-level CI tab covering the two product surfaces and the setup
for both ingestion lanes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mintlify

mintlify Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
trunk 🟢 Ready View Preview Sep 18, 2026, 7:28 AM

- Updated ci/pull-requests.mdx
- Updated docs.json

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx
- Created Pull-Requests-List.png

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx
- Created pull-request-waterfall-view.png

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx

Mintlify-Source: dashboard-editor
- Updated ci/pull-requests.mdx
- Updated ci/ci-tab.mdx

Mintlify-Source: dashboard-editor
- Updated ci/ci-tab.mdx
- Created ci-jobs-list.jpeg

Mintlify-Source: dashboard-editor
EliSchleifer and others added 9 commits September 17, 2026 23:56
- Updated ci/ci-tab.mdx
- Created ci-job-performance.png

Mintlify-Source: dashboard-editor
- Updated ci/ci-tab.mdx

Mintlify-Source: dashboard-editor
- Updated ci/ci-tab.mdx
- Deleted ci/commit-traces.mdx
- Updated docs.json

Mintlify-Source: dashboard-editor
- Updated ci/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
Resolve docs.json nav conflict: main restructured the tabs (Flaky Tests
-> Tests, Trunk Workspaces -> Workspaces, Code Quality CLI folded into
Setup, Dynamic CI moved up). Kept main's structure and re-inserted the
new CI tab ahead of Dynamic CI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Move the four CI screenshots from the repo root into assets/ci/,
  matching the layout every other section uses, and give them real alt
  text instead of the filename echo.
- Add ci/commit-traces, which three pages already linked to but which
  was never written, and put it in the CI tab nav.
- Drop the two <Frame> blocks pointing at assets/ci/get-started/
  screenshots that were never committed; the surrounding steps already
  describe the navigation.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mintlify Bot and others added 5 commits September 18, 2026 07:12
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
EliSchleifer and others added 10 commits September 18, 2026 00:19
- Updated ci/get-started/index.mdx

Mintlify-Source: dashboard-editor
- Created assets/icons/buildkite.svg

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Created create-api-key.png

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
EliSchleifer and others added 5 commits September 18, 2026 00:28
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx

Mintlify-Source: dashboard-editor
- Updated ci/get-started/buildkite.mdx
- Created images/buildkite-otel.png

Mintlify-Source: dashboard-editor
@EliSchleifer
EliSchleifer merged commit fb18b3b into main Sep 18, 2026
@EliSchleifer
EliSchleifer deleted the eli/ci-docs branch September 18, 2026 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant