# Buildbot and kwrobot in CI

**URL:** https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995
**Category:** Development
**Tags:** tool:cmake
**Created:** [February 3, 2024, 6:37pm UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995 "2024-02-03T18:37:31Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![pkiran](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/p/dc4da7/32.png) [@pkiran](https://discourse.cmake.org/u/pkiran)
#### Post date: [February 3, 2024, 6:37pm UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995/1 "2024-02-03T18:37:31Z")

</div>

Hello,

Not sure if this is the right place, but I would like to learn more about the CI setup used for CMake. Would love to learn more about kwrobot and buildbot, how they are used in the process and with CDash. Can I ask if gitlab used is premium version. If there is some documentation on these, please point me towards it. 🙂

Thanks

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [February 4, 2024, 3:06am UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995/2 "2024-02-04T03:06:58Z")

</div>

The `@buildbot` account used to be backed by [buildbot](https://github.com/buildbot/buildbot). We’ve since migrated to GitLab-CI and now it has other tasks. The only relevant detail here is that it is the owner of almost all scheduled pipelines on our GitLab (except CMake).

We use GitLab CE as the combination of per-account pricing and open registration is not sustainable. It also fits in with Kitware’s preferences for FOSS software where possible (we’ve contributed fixes and features to GitLab over the years).

As for the `@kwrobot` account, that is backed by the `ghostflow` (“Git-hosted workflow”) project. Its repositories live in [this group](https://gitlab.kitware.com/groups/utils). [This wiki](https://gitlab.kitware.com/utils/software-process) has public notes (with some private links) on the overall setup; you’re mostly interested in the “Ghostflow development” and “Ghostflow deployment” lists. Docs live in a few places; I really need to collect it all in a more consumable form:

- [https://gitlab.kitware.com/utils/ghostflow-docs](https://gitlab.kitware.com/utils/ghostflow-docs)
- [https://gitlab.kitware.com/utils/rust-ghostflow/-/tree/master/ghostflow-cli/doc](https://gitlab.kitware.com/utils/rust-ghostflow/-/tree/master/ghostflow-cli/doc)
- `cargo doc` in the `ghostflow` crate (`rust-ghostflow` repository)
- [https://gitlab.kitware.com/utils/ghostflow-director/-/blob/master/doc/usage.md](https://gitlab.kitware.com/utils/ghostflow-director/-/blob/master/doc/usage.md) (and sibling files)
- [`webhook-listen`](https://gitlab.kitware.com/utils/webhook-listen) is what we use to funnel webhooks to the “job queue” for `ghostflow-director`

Feel free to contribute docs and/or file issues where there are gaps (don’t worry about _where_ so much as that there’s something I can assign myself).

---

<div class="post-metadata">

### Author: ![pkiran](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/p/dc4da7/32.png) [@pkiran](https://discourse.cmake.org/u/pkiran)
#### Post date: [February 5, 2024, 8:59pm UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995/3 "2024-02-05T20:59:46Z")

</div>

Thanks for the details 🙂 it’s quite some repos to shift through. Just one more question, have there been any requests/plans to make ghostflow available for community.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [February 5, 2024, 9:23pm UTC](https://discourse.cmake.org/t/buildbot-and-kwrobot-in-ci/9995/4 "2024-02-05T21:23:29Z")

</div>

The source is all open and available. Our deployment configuration is not. We do run it for customers in other capacities and I know of at least one independent deployment.
