| |
[Radicle](https://radicle.xyz/), a distributed git hosting and
|
| |
collaboration system.
|
| |
|
| + |
## Documentation
|
| |
|
| - |
## Architecture
|
| + |
The `doc` directory holds some documentation for the Radicle CI Broker:
|
| |
|
| - |
See the `doc` directory for architecture documentation. Quick summary:
|
| - |
the CI broker gets events from the Radicle node, filters them based on
|
| - |
its own config, and for any event that gets past the filter, runs the
|
| - |
configured adapter executable. The broker and adapter use a simple
|
| - |
JSON based message protocol over stdin/stdout. Each CI system has its
|
| - |
own adapter.
|
| + |
* If you plan to _user_ `radicle-ci-broker`, checkout the [User guide](doc/userguide.md)
|
| + |
* If you plan to contribute or extend `radicle-ci-broker`, checkout the [architecture document](doc/architecture.md)
|
| |
|
| - |
To build the documentation, run `make` in the `doc` directory. You'll
|
| - |
need some tools installed: Pandoc, graphviz (dot), PlantUML,
|
| - |
pikchr-cli. The others are widely packaged, pikchr-cli is a Rust
|
| - |
crate, so you can install it with `cargo install pikchr-cli`
|
| - |
|
| - |
Build and publish the documentation like this:
|
| + |
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](https://pandoc.org),
|
| + |
[graphviz](https://www.graphviz.org) (dot),
|
| + |
[PlantUML](https://plantuml.com),
|
| + |
[pikchr-cli](https://crates.io/crates/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](flake.nix) that provides
|
| + |
all the needed tools, use it with the usual `nix develop` command.
|
| |
|
| |
## Binaries
|
| |
|