CI recipes
The Roboticks GitHub App is the canonical CI integration. For everything else there isrbtk — a single Go binary you call from any CI system.
| CI system | Mechanism |
|---|---|
| GitHub Actions | GitHub App (Check Runs) — zero YAML needed; optional upload-action for richer artifact paths |
| Jenkins | rbtk CLI inside a freestyle or pipeline stage |
| CircleCI | rbtk CLI inside an orb job |
| BuildKite | rbtk CLI inside a pipeline step |
| GitLab CI | rbtk CLI inside a .gitlab-ci.yml job (GitLab App planned post-MVP) |
GitHub Actions
The GitHub App handles webhooks, Check Runs, and result upload automatically. If you want to also run your tests in Actions (because you already do, and you don’t want to move them), use the optionalupload-action:
Jenkins
ROBOTICKS_TOKEN is a project-scoped API token created at Settings → API tokens in the dashboard.
CircleCI
BuildKite
The CLI-in-CI pattern
For any system not listed: installrbtk, run your tests, upload.
--commit and --branch flags are required so the platform can join the upload to the right traceability node. The platform does not infer them from git context — your CI may have detached HEADs, custom merge refs, or arbitrary checkout depths.
Auth in CI
rbtk reads ROBOTICKS_TOKEN from the environment in CI mode. Create the token at:
What you don’t need
- A YAML schema for the Roboticks suite. Tests are discovered via pytest / colcon, not enumerated in CI YAML.
- A custom runner per CI system.
rbtkis the same binary everywhere. - A separate “report results” step beyond
test results upload. JUnit + coverage is the entire payload.
Next
GitHub App
The zero-YAML path. Strongly recommended over Actions+CLI.
CLI: test commands
Full
rbtk surface.Coverage
How to produce the coverage files referenced above.
Wire contract
What the upload command actually sends.