Radish alpha
r
Radicle CI broker
Radicle
Git (anonymous pull)
Log in to clone via SSH
doc: reorder sections so that the more general case comes first
Lars Wirzenius committed 1 year ago
commit dc61d2bbbbb9aecae59cf74c7089ce093056ea3b
parent 92cbd0c73039c8c3b3f09bf19bb4fa86aaa76f99
1 file changed +37 -37
modified doc/architecture.md
@@ -58,43 +58,6 @@ At this stage in the development of Radicle CI has two concrete goals:

It is not yet clear how notifications will work.

-
## Components in native CI
-

-
CI support in Radicle consists of several components. For native CI
-
they are:
-

-
* the Radicle node
-
* the CI broker
-
* the native CI executable
-

-
These all run on the same host.
-

-
~~~dot
-
digraph "" {
-
   radicle_node [label="Radicle node"];
-
   broker [label="CI broker"];
-
   native [label="Native CI"];
-
   commands [label="Shell commands \n from .radicle/native.yaml"];
-

-
   radicle_node -> broker [label="change event"];
-
   broker -> native [label="invoke"];
-
   native -> commands [label="run"];
-
   native -> broker [label="result"];
-
}
-
~~~
-

-
~~~plantuml
-
@startuml
-
node -> broker : RefsFetched event
-
broker -> adapter : spawn
-
broker -> adapter : send request
-
adapter -> broker : response: run id
-
note over adapter : perform the run
-
adapter -> broker : response: result
-
@enduml
-
~~~
-

-

## Components when integrating an external CI system

For external CI, the components are:
@@ -166,6 +129,43 @@ adapter -> broker : response: result
@enduml
~~~

+
## Components in native CI
+

+
CI support in Radicle consists of several components. For native CI
+
they are:
+

+
* the Radicle node
+
* the CI broker
+
* the native CI executable
+

+
These all run on the same host.
+

+
~~~dot
+
digraph "" {
+
   radicle_node [label="Radicle node"];
+
   broker [label="CI broker"];
+
   native [label="Native CI"];
+
   commands [label="Shell commands \n from .radicle/native.yaml"];
+

+
   radicle_node -> broker [label="change event"];
+
   broker -> native [label="invoke"];
+
   native -> commands [label="run"];
+
   native -> broker [label="result"];
+
}
+
~~~
+

+
~~~plantuml
+
@startuml
+
node -> broker : RefsFetched event
+
broker -> adapter : spawn
+
broker -> adapter : send request
+
adapter -> broker : response: run id
+
note over adapter : perform the run
+
adapter -> broker : response: result
+
@enduml
+
~~~
+

+

# The adapter

The adapter process reads the request to perform a CI run on a