2025-06-12 15:48:22 +03:00
2025-01-24 10:24:44 +00:00
2025-06-06 11:25:05 +03:00
2025-06-04 10:39:31 +03:00
2025-01-24 10:24:17 +00:00
2025-01-24 10:24:17 +00:00
2025-06-04 10:39:31 +03:00
2025-06-04 10:39:31 +03:00
2025-01-24 10:24:17 +00:00
2025-01-24 10:24:44 +00:00
2024-03-31 11:16:58 +03:00
2025-06-04 10:39:31 +03:00

radicle-ci-broker

Add integration to CI engines/systems/services to Radicle, a distributed git hosting and collaboration system.

Documentation

The doc directory holds some documentation for the Radicle CI Broker:

HTML pages can be generated from the documentation. To build those, run make in the doc directory:

RADICLE_CI_BROKER_WEBROOT=/tmp/ci make -C doc publish

The RADICLE_CI_BROKER_WEBROOT environment variable defines where the generated HTML pages should end up.

You'll need some tools installed: Pandoc, graphviz (dot), PlantUML, pikchr-cli. The latter is a Rust crate, so you can install it with cargo install pikchr-cli. The other dependencies can usually be installed through your system package manager. Note there's a flake.nix that provides all the needed tools, use it with the usual nix develop command.

Binaries

The crate contains several binaries:

  • cib --- the actual CI broker
    • this is the only one you need to care about, the rest are for debugging
  • cibtool --- management tool for node operators, for managing the CI broker
  • synthetic-events --- test tool for CI broker developers

Packaging

There is simple, simplistic, rudimentary, personal-use-only packaging for Debian in the debian directory, used by Lars to build packages for his own use.

Running from the source tree

To run cib or cibtool from the source tree:

cargo run --bin cib -- --config config.yaml process-events
cargo run --bin cibtool -- --db ci-broker.db event list

Note the -- argument. It tells cargo run that all the arguments that follow are to be passed to the program being run, and not used by cargo itself.

Running tests

To run the test suite for the CI broker:

cargo test

(The usual way, for a Rust program.)

In addition to the usual Unix command line tools, you need the following programs installed for the test suite:

  • jq
  • git
  • sqlite3
  • rad (from Radicle)
  • git-remote-rad (from Radicle)

Configuration

The configuration file is named on the command line. It is a YAML file. See ci-broker.md for examples. Those examples are verified to work every time the test suite runs.

Adapters

You need to use an "adapter" together with the CI broker to actually run CI on projects. At least the following adapters for external CI systems are known:

See also the radicle-ci-integrations-docs repository with guides for project maintainers and node operators about using Radicle CI. They too list CI adapters.

License

Radicle CI broker is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

S
Description
Radicle CI broker
Readme
5.9 MiB
Languages
Rust 96.8%
Nix 1.2%
Shell 1.2%
Makefile 0.3%
CSS 0.3%
Other 0.2%