Log from Radicle native CI

Request message

{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:zwTxygwuz5LDGBq255RA2CbNGrz8",
    "name": "radicle-ci-broker",
    "description": "Radicle CI broker",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
      "did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT"
    ]
  },
  "pusher": {
    "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
    "alias": "liw"
  },
  "before": "47064e57857914d508b255100123938c1e805e8d",
  "after": "47064e57857914d508b255100123938c1e805e8d",
  "branch": "",
  "commits": [
    "47064e57857914d508b255100123938c1e805e8d"
  ]
}

.radicle/native.yaml

shell: |
  cargo --version
  rustc --version

  cargo fmt --check
  cargo clippy --all-targets --workspace -- -Dwarnings
  cargo build --all-targets --workspace
  cargo doc --workspace
  cargo test --workspace --no-fail-fast

  subplot docgen ci-broker.subplot -o doc/ci-broker.html
  make -C doc publish

Table of contents

Run: git clone /home/_rad/.radicle/storage/zwTxygwuz5LDGBq255RA2CbNGrz8 /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src

Command arguments:

In directory: /

Exit code: 0

Output (stdout and stderr):

Cloning into '/srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src'...
done.

Run: git config advice.detachedHead false

Command arguments:

In directory: /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src

Exit code: 0

Run: git checkout 47064e57857914d508b255100123938c1e805e8d

Command arguments:

In directory: /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src

Exit code: 0

Output (stdout and stderr):

HEAD is now at 47064e5 chore: deny clippy warning about unwrap being used

Run: git show 47064e57857914d508b255100123938c1e805e8d

Command arguments:

In directory: /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src

Exit code: 0

Output (stdout and stderr):

commit 47064e57857914d508b255100123938c1e805e8d
Author: Lars Wirzenius <liw@liw.fi>
Date:   Wed Oct 9 09:36:01 2024 +0300

    chore: deny clippy warning about unwrap being used
    
    An unwrap (or unwrap_err, or their expect variants) can result in run
    time panics: unwrapping an Option that is None can't return a useful
    result, so it panics. Similar for a Result. I've previously tried to
    grep for uses of unwrap, but the clippy warning is much more precise.
    
    Add "deny(clippy::unwrap_used)" to the top of src/lib.rs, so it
    affects the whole crate. Then fix any places where unwrap is used.
    
    It's OK to use unwrap in tests: if the value is expected, but isn't
    there, the test should fail, and panic is a fine way to fail the test.
    
    Everywhere else it's better to make sure unwrap can't fail, and if it
    can, return a Result and have the caller handle that.
    
    Signed-off-by: Lars Wirzenius <liw@liw.fi>

diff --git a/src/bin/cib.rs b/src/bin/cib.rs
index a67ff47..33e9623 100644
--- a/src/bin/cib.rs
+++ b/src/bin/cib.rs
@@ -18,7 +18,7 @@ use radicle_ci_broker::{
     config::{Config, ConfigError},
     db::{Db, DbError},
     logger,
-    notif::NotificationChannel,
+    notif::{NotificationChannel, NotificationError},
     pages::StatusPage,
     queueadd::{AdderError, QueueAdderBuilder},
     queueproc::{QueueError, QueueProcessorBuilder},
@@ -116,7 +116,7 @@ impl InsertCmd {
     fn run(&self, args: &Args, config: &Config) -> Result<(), CibError> {
         let mut events_notification = NotificationChannel::default();
         let adder = QueueAdderBuilder::default()
-            .events_tx(events_notification.tx())
+            .events_tx(events_notification.tx().map_err(CibError::notification)?)
             .db(args.open_db(config)?)
             .filters(&config.filters)
             .build()
@@ -151,14 +151,18 @@ impl QueuedCmd {
         broker.set_default_adapter(&adapter);
 
         let mut event_notifications = NotificationChannel::default();
-        event_notifications.tx().send(()).ok();
+        event_notifications
+            .tx()
+            .map_err(CibError::notification)?
+            .send(())
+            .ok();
 
         let mut run_notifications = NotificationChannel::default();
 
         let db = args.open_db(config)?;
         let processor = QueueProcessorBuilder::default()
-            .events_rx(event_notifications.rx())
-            .run_tx(run_notifications.tx())
+            .events_rx(event_notifications.rx().map_err(CibError::notification)?)
+            .run_tx(run_notifications.tx().map_err(CibError::notification)?)
             .db(db)
             .broker(broker)
             .build()
@@ -174,7 +178,12 @@ impl QueuedCmd {
         if let Some(dirname) = &config.report_dir {
             page.set_output_dir(dirname);
         }
-        let page_updater = page.update_in_thread(run_notifications.rx(), profile, db, true);
+        let page_updater = page.update_in_thread(
+            run_notifications.rx().map_err(CibError::notification)?,
+            profile,
+            db,
+            true,
+        );
         page_updater
             .join()
             .expect("wait for page updater thread to finish")
@@ -193,7 +202,7 @@ impl ProcessEventsCmd {
         let mut run_notification = NotificationChannel::default();
 
         let adder = QueueAdderBuilder::default()
-            .events_tx(events_notification.tx())
+            .events_tx(events_notification.tx().map_err(CibError::notification)?)
             .db(args.open_db(config)?)
             .filters(&config.filters)
             .build()
@@ -208,7 +217,12 @@ impl ProcessEventsCmd {
         if let Some(dirname) = &config.report_dir {
             page.set_output_dir(dirname);
         }
-        let page_updater = page.update_in_thread(run_notification.rx(), profile, db, false);
+        let page_updater = page.update_in_thread(
+            run_notification.rx().map_err(CibError::notification)?,
+            profile,
+            db,
+            false,
+        );
 
         let mut broker = Broker::new(config.db()).map_err(CibError::new_broker)?;
         let spec =
@@ -224,8 +238,8 @@ impl ProcessEventsCmd {
         broker.set_default_adapter(&adapter);
 
         let processor = QueueProcessorBuilder::default()
-            .events_rx(events_notification.rx())
-            .run_tx(run_notification.tx())
+            .events_rx(events_notification.rx().map_err(CibError::notification)?)
+            .run_tx(run_notification.tx().map_err(CibError::notification)?)
             .db(args.open_db(config)?)
             .broker(broker)
             .build()
@@ -282,6 +296,9 @@ enum CibError {
 
     #[error("default adapter is not in list of adapters")]
     UnknownDefaultAdapter(String),
+
+    #[error("programming error: failed to set up inter-thread notification channel")]
+    Notification(#[source] NotificationError),
 }
 
 impl CibError {
@@ -316,4 +333,8 @@ impl CibError {
     fn add_events(e: AdderError) -> Self {
         Self::AddEvents(e)
     }
+
+    fn notification(e: NotificationError) -> Self {
+        Self::Notification(e)
+    }
 }
diff --git a/src/bin/cibtool.rs b/src/bin/cibtool.rs
index fdf6e4f..f9534e4 100644
--- a/src/bin/cibtool.rs
+++ b/src/bin/cibtool.rs
@@ -34,7 +34,7 @@ use radicle_ci_broker::{
     db::{Db, DbError, QueueId, QueuedCiEvent},
     logger,
     msg::{RunId, RunResult},
-    notif::NotificationChannel,
+    notif::{NotificationChannel, NotificationError},
     pages::PageError,
     run::{Run, RunState, Whence},
     util::{self, UtilError},
@@ -349,4 +349,7 @@ enum CibToolError {
 
     #[error("failed to construct a CiEvent::BranchCreated")]
     BranchCreted(#[source] CiEventError),
+
+    #[error("programming error: failed to set up inter-thread notification channel")]
+    Notification(#[source] NotificationError),
 }
diff --git a/src/bin/cibtoolcmd/report.rs b/src/bin/cibtoolcmd/report.rs
index bd21424..b12e22c 100644
--- a/src/bin/cibtoolcmd/report.rs
+++ b/src/bin/cibtoolcmd/report.rs
@@ -21,7 +21,12 @@ impl Leaf for ReportCmd {
         page.set_output_dir(&self.output_dir);
 
         let mut run_notification = NotificationChannel::default();
-        let thread = page.update_in_thread(run_notification.rx(), profile, db, true);
+        let thread = page.update_in_thread(
+            run_notification.rx().map_err(CibToolError::Notification)?,
+            profile,
+            db,
+            true,
+        );
         thread.join().unwrap()?;
 
         Ok(())
diff --git a/src/ci_event.rs b/src/ci_event.rs
index 4ad582e..98e6f11 100644
--- a/src/ci_event.rs
+++ b/src/ci_event.rs
@@ -241,6 +241,7 @@ impl CiEventError {
 }
 
 #[cfg(test)]
+#[allow(clippy::unwrap_used)]
 mod test {
     use super::*;
     use radicle::{prelude::NodeId, storage::RefUpdate};
@@ -533,6 +534,7 @@ impl ParseError {
 }
 
 #[cfg(test)]
+#[allow(clippy::unwrap_used)]
 mod test_namespaced_branch {
     use super::{namespaced_branch, ParseError};
 
@@ -568,6 +570,7 @@ mod test_namespaced_branch {
 }
 
 #[cfg(test)]
+#[allow(clippy::unwrap_used)]
 mod test_patch_id {
     use super::{patch_id, Oid, ParseError};
 
diff --git a/src/ci_event_source.rs b/src/ci_event_source.rs
index 23c3c8c..2b40d06 100644
--- a/src/ci_event_source.rs
+++ b/src/ci_event_source.rs
@@ -24,14 +24,14 @@ impl CiEventSource {
     pub fn event(&mut self) -> Result<Option<Vec<CiEvent>>, CiEventSourceError> {
         let result = self.source.node_event();
         logger::debug2(format!("ci_event_source: result={result:?}"));
-        match &result {
-            Err(NodeEventError::BrokenConnection) => {
+        match result {
+            Err(err) if matches!(err, NodeEventError::BrokenConnection) => {
                 logger::ci_event_source_disconnected();
-                Err(CiEventSourceError::BrokenConnection(result.unwrap_err()))
+                Err(CiEventSourceError::BrokenConnection(err))
             }
             Err(err) => {
                 logger::error("error reading event from node", &err);
-                Err(CiEventSourceError::NodeEventError(result.unwrap_err()))
+                Err(CiEventSourceError::NodeEventError(err))
             }
             Ok(None) => {
                 logger::ci_event_source_end();
@@ -39,7 +39,7 @@ impl CiEventSource {
             }
             Ok(Some(event)) => {
                 let ci_events =
-                    CiEvent::from_node_event(event).map_err(CiEventSourceError::CiEvent)?;
+                    CiEvent::from_node_event(&event).map_err(CiEventSourceError::CiEvent)?;
                 logger::ci_event_source_got_events(&ci_events);
                 Ok(Some(ci_events))
             }
diff --git a/src/filter.rs b/src/filter.rs
index 9cd00f1..e2761f5 100644
--- a/src/filter.rs
+++ b/src/filter.rs
@@ -119,6 +119,7 @@ impl Filters {
 }
 
 #[cfg(test)]
+#[allow(clippy::unwrap_used)]
 mod test {
     use radicle::prelude::{Did, RepoId};
 
diff --git a/src/lib.rs b/src/lib.rs
index fe8a8f5..f137a5d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5,6 +5,8 @@
 //! node, filter the events, and to communicate with a adapter spawned
 //! as a child process.
 
+#![deny(clippy::unwrap_used)]
+
 pub mod adapter;
 pub mod broker;
 pub mod ci_event;
diff --git a/src/msg.rs b/src/msg.rs
index 6a37db9..52e09d1 100644
--- a/src/msg.rs
+++ b/src/msg.rs
@@ -407,7 +407,7 @@ impl<'a> RequestBuilder<'a> {
                     }),
                 })
             }
-            _ => Err(MessageError::UnknownCiEvent(self.ci_event.unwrap().clone())),
+            Some(event) => Err(MessageError::UnknownCiEvent(event.clone())),
         }
     }
 }
@@ -906,6 +906,7 @@ pub enum MessageError {
 }
 
 #[cfg(test)]
+#[allow(clippy::unwrap_used)] // OK in tests: panic is fine
 pub mod trigger_from_ci_event_tests {
     use crate::ci_event::CiEvent;
     use crate::msg::{EventType, Request, RequestBuilder};
diff --git a/src/notif.rs b/src/notif.rs
index 859de77..069550b 100644
--- a/src/notif.rs
+++ b/src/notif.rs
@@ -35,13 +35,22 @@ impl Default for NotificationChannel {
 impl NotificationChannel {
     /// Return the transmit endpoint of the notification channel. This
     /// can only be called once.
-    pub fn tx(&mut self) -> NotificationSender {
-        self.tx.take().unwrap()
+    pub fn tx(&mut self) -> Result<NotificationSender, NotificationError> {
+        self.tx.take().ok_or(NotificationError::Sender)
     }
 
     /// Return the receive endpoint of the notification channel. This
     /// can only be called once.
-    pub fn rx(&mut self) -> NotificationReceiver {
-        self.rx.take().unwrap()
+    pub fn rx(&mut self) -> Result<NotificationReceiver, NotificationError> {
+        self.rx.take().ok_or(NotificationError::Receiver)
     }
 }
+
+#[derive(Debug, thiserror::Error)]
+pub enum NotificationError {
+    #[error("receiver end point already extracted")]
+    Receiver,
+
+    #[error("sender end point already extracted")]
+    Sender,
+}

Run: timeout 600 bash -c set -xeuo pipefail cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- -Dwarnings cargo build --all-targets --workspace cargo doc --workspace cargo test --workspace --no-fail-fast subplot docgen ci-broker.subplot -o doc/ci-broker.html make -C doc publish

Command arguments:

In directory: /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src

Exit code: 101

Output (stdout and stderr):

+ cargo --version
cargo 1.80.1 (376290515 2024-07-16)
+ rustc --version
rustc 1.80.1 (3f5fd8dd4 2024-08-06)
+ cargo fmt --check
+ cargo clippy --all-targets --workspace -- -Dwarnings
   Compiling proc-macro2 v1.0.86
   Compiling unicode-ident v1.0.13
   Compiling version_check v0.9.5
   Compiling libc v0.2.158
   Compiling typenum v1.17.0
    Checking cfg-if v1.0.0
   Compiling serde v1.0.210
   Compiling shlex v1.3.0
   Compiling thiserror v1.0.63
   Compiling memchr v2.7.4
   Compiling once_cell v1.20.0
   Compiling syn v1.0.109
   Compiling byteorder v1.5.0
   Compiling bitflags v2.6.0
    Checking subtle v2.6.1
   Compiling rustix v0.38.37
   Compiling pkg-config v0.3.30
   Compiling crossbeam-utils v0.8.20
   Compiling linux-raw-sys v0.4.14
   Compiling anyhow v1.0.89
   Compiling log v0.4.22
   Compiling generic-array v0.14.7
   Compiling ahash v0.8.11
   Compiling itoa v1.0.11
   Compiling regex-syntax v0.8.4
    Checking cpufeatures v0.2.14
   Compiling utf8parse v0.2.2
   Compiling same-file v1.0.6
   Compiling num-conv v0.1.0
   Compiling time-core v0.1.2
   Compiling allocator-api2 v0.2.18
   Compiling walkdir v2.5.0
   Compiling aho-corasick v1.1.3
   Compiling anstyle-parse v0.2.5
   Compiling time-macros v0.2.18
   Compiling colorchoice v1.0.2
   Compiling is_terminal_polyfill v1.70.1
   Compiling anstyle-query v1.1.1
   Compiling ucd-trie v0.1.6
   Compiling anstyle v1.0.8
   Compiling bstr v1.10.0
   Compiling quote v1.0.37
   Compiling libm v0.2.8
   Compiling doc-comment v0.3.3
   Compiling anstream v0.6.15
   Compiling crossbeam-epoch v0.9.18
   Compiling syn v2.0.77
   Compiling jobserver v0.1.32
   Compiling getrandom v0.2.15
   Compiling unic-common v0.9.0
   Compiling powerfmt v0.2.0
   Compiling vcpkg v0.2.15
   Compiling rand_core v0.6.4
   Compiling cc v1.1.19
   Compiling unicode-width v0.1.13
   Compiling heck v0.5.0
   Compiling unic-char-range v0.9.0
   Compiling deranged v0.3.11
   Compiling crossbeam-deque v0.8.5
   Compiling unic-char-property v0.9.0
   Compiling unic-ucd-version v0.9.0
   Compiling proc-macro-error-attr v1.0.4
   Compiling unicase v2.7.0
   Compiling encoding_rs v0.8.34
   Compiling fastrand v2.1.1
   Compiling clap_lex v0.7.2
   Compiling serde_json v1.0.128
   Compiling arraydeque v0.5.1
   Compiling strsim v0.11.1
    Checking tinyvec_macros v0.1.1
    Checking tinyvec v1.8.0
    Checking crypto-common v0.1.6
    Checking block-buffer v0.10.4
    Checking block-padding v0.3.3
    Checking digest v0.10.7
   Compiling clap_builder v4.5.17
    Checking universal-hash v0.5.1
    Checking inout v0.1.3
   Compiling unic-ucd-segment v0.9.0
    Checking cipher v0.4.4
   Compiling proc-macro-error v1.0.4
   Compiling deunicode v1.6.0
   Compiling tempfile v3.12.0
   Compiling regex-automata v0.4.7
   Compiling time v0.3.36
   Compiling ryu v1.0.18
   Compiling amplify_syn v2.0.1
   Compiling smawk v0.3.2
    Checking signature v1.6.4
   Compiling pulldown-cmark v0.12.1
   Compiling unicode-linebreak v0.1.5
    Checking opaque-debug v0.3.1
    Checking ed25519 v1.5.3
    Checking unicode-normalization v0.1.23
   Compiling humansize v2.1.3
   Compiling slug v0.1.6
   Compiling unic-segment v0.9.0
   Compiling textwrap v0.16.1
   Compiling libz-sys v1.1.20
   Compiling pikchr v0.1.3
   Compiling libgit2-sys v0.17.0+1.8.1
   Compiling getopts v0.2.21
   Compiling subplot v0.11.0
   Compiling percent-encoding v2.3.1
   Compiling utf8-width v0.1.7
    Checking ascii v1.1.0
   Compiling humantime v2.1.0
    Checking amplify_num v0.5.3
   Compiling lazy_static v1.5.0
    Checking ct-codecs v1.1.2
   Compiling pulldown-cmark-escape v0.11.0
    Checking unicode-bidi v0.3.15
    Checking ec25519 v0.1.0
    Checking form_urlencoded v1.2.1
   Compiling html-escape v0.2.13
   Compiling amplify_derive v4.0.1
   Compiling sqlite3-src v0.5.1
    Checking polyval v0.6.2
    Checking sha2 v0.10.8
    Checking idna v0.5.0
   Compiling tracing-core v0.1.32
    Checking base64ct v1.6.0
   Compiling pin-project-lite v0.2.14
   Compiling line-col v0.2.1
   Compiling file_diff v1.0.0
    Checking keccak v0.1.5
   Compiling base64 v0.22.1
    Checking pem-rfc7468 v0.7.0
   Compiling globset v0.4.15
   Compiling regex v1.10.6
    Checking sha3 v0.10.8
    Checking ghash v0.5.1
    Checking aes v0.8.4
    Checking ctr v0.9.2
    Checking aead v0.5.2
    Checking base32 v0.4.0
   Compiling data-encoding v2.6.0
   Compiling ignore v0.4.23
    Checking equivalent v1.0.1
   Compiling cfg_aliases v0.2.1
   Compiling env_filter v0.1.2
    Checking hashbrown v0.14.5
    Checking aes-gcm v0.10.3
   Compiling nix v0.29.0
   Compiling env_logger v0.11.5
    Checking ssh-encoding v0.2.0
    Checking blowfish v0.9.1
    Checking poly1305 v0.8.0
    Checking cbc v0.1.2
    Checking chacha20 v0.9.1
   Compiling globwalk v0.9.1
    Checking pbkdf2 v0.12.2
    Checking indexmap v2.5.0
    Checking radicle-std-ext v0.1.0
    Checking zeroize v1.8.1
   Compiling adler2 v2.0.0
   Compiling miniz_oxide v0.8.0
    Checking ssh-cipher v0.2.0
    Checking bcrypt-pbkdf v0.10.0
    Checking rand v0.8.5
   Compiling xattr v1.3.1
   Compiling data-encoding-macro-internal v0.1.13
   Compiling filetime v0.2.25
   Compiling crc32fast v1.4.2
    Checking base-x v0.2.11
    Checking signature v2.2.0
   Compiling slog v2.7.0
   Compiling tar v0.4.41
    Checking ssh-key v0.6.6
   Compiling flate2 v1.0.33
    Checking qcheck v1.0.0
    Checking cvt v0.1.2
    Checking data-encoding-macro v0.1.15
    Checking multibase v0.9.1
   Compiling glob v0.3.1
    Checking amplify v4.7.0
    Checking terminal_size v0.3.0
    Checking radicle-dag v0.9.0
    Checking normpath v1.3.0
    Checking base64 v0.21.7
   Compiling serde_yml v0.0.11
    Checking fs2 v0.4.3
   Compiling radicle-surf v0.22.1
    Checking arc-swap v1.7.1
    Checking libyml v0.0.4
    Checking cyphergraphy v0.3.0
    Checking unescape v0.1.0
    Checking shell-words v1.1.0
    Checking siphasher v1.0.1
    Checking state v0.5.3
    Checking fs_at v0.2.1
    Checking crossbeam-channel v0.5.13
    Checking uuid v1.10.0
    Checking cypheraddr v0.4.0
    Checking slog-scope v4.4.0
    Checking remove_dir_all v0.8.3
   Compiling serde_derive v1.0.210
   Compiling thiserror-impl v1.0.63
   Compiling zerocopy-derive v0.7.35
   Compiling clap_derive v4.5.13
   Compiling git-testament-derive v0.2.0
   Compiling tracing-attributes v0.1.27
    Checking socks5-client v0.4.1
   Compiling culpa-macros v1.0.2
    Checking cyphernet v0.5.2
   Compiling ctor v0.2.8
    Checking html-page v0.4.0
   Compiling git-testament v0.2.5
   Compiling zerocopy v0.7.35
   Compiling culpa v1.0.2
   Compiling pest v2.7.12
   Compiling git-ref-format-core v0.3.1
   Compiling tracing v0.1.40
   Compiling subplotlib-derive v0.11.0
    Checking radicle-ssh v0.9.0
   Compiling ppv-lite86 v0.2.20
   Compiling git-ref-format-macro v0.3.1
   Compiling rand_chacha v0.3.1
   Compiling clap v4.5.17
   Compiling hashlink v0.8.4
   Compiling hashlink v0.9.1
   Compiling yaml-rust2 v0.8.1
   Compiling pest_meta v2.7.12
   Compiling tempfile-fast v0.3.4
   Compiling pest_generator v2.7.12
   Compiling pest_derive v2.7.12
    Checking url v2.5.2
    Checking nonempty v0.9.0
    Checking localtime v1.3.1
    Checking git-ref-format v0.3.1
   Compiling serde_path_to_error v0.1.16
   Compiling marked-yaml v0.7.1
    Checking slog-json v2.6.1
   Compiling roadmap v0.6.1
    Checking git2 v0.19.0
   Compiling tera v1.20.0
    Checking radicle-git-ext v0.8.1
   Compiling subplot-build v0.11.0
   Compiling subplotlib v0.11.0
   Compiling radicle-ci-broker v0.6.3 (/srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src)
    Checking sqlite3-sys v0.15.2
    Checking sqlite v0.32.0
    Checking radicle-crypto v0.11.0
    Checking radicle-cob v0.12.0
    Checking radicle v0.13.0
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.49s
+ cargo build --all-targets --workspace
   Compiling cfg-if v1.0.0
   Compiling bitflags v2.6.0
   Compiling memchr v2.7.4
   Compiling once_cell v1.20.0
   Compiling log v0.4.22
   Compiling itoa v1.0.11
   Compiling subtle v2.6.1
   Compiling typenum v1.17.0
   Compiling libc v0.2.158
   Compiling regex-syntax v0.8.4
   Compiling fastrand v2.1.1
   Compiling percent-encoding v2.3.1
   Compiling serde v1.0.210
   Compiling thiserror v1.0.63
   Compiling utf8parse v0.2.2
   Compiling crossbeam-utils v0.8.20
   Compiling is_terminal_polyfill v1.70.1
   Compiling anstyle-parse v0.2.5
   Compiling ryu v1.0.18
   Compiling colorchoice v1.0.2
   Compiling cpufeatures v0.2.14
   Compiling rustix v0.38.37
   Compiling anstyle-query v1.1.1
   Compiling anstyle v1.0.8
   Compiling ahash v0.8.11
   Compiling anyhow v1.0.89
   Compiling time-core v0.1.2
   Compiling powerfmt v0.2.0
   Compiling num-conv v0.1.0
   Compiling getrandom v0.2.15
   Compiling strsim v0.11.1
   Compiling clap_lex v0.7.2
   Compiling encoding_rs v0.8.34
   Compiling anstream v0.6.15
   Compiling hashbrown v0.14.5
   Compiling time-macros v0.2.18
   Compiling deranged v0.3.11
   Compiling rand_core v0.6.4
   Compiling aho-corasick v1.1.3
   Compiling bstr v1.10.0
   Compiling generic-array v0.14.7
   Compiling pest v2.7.12
   Compiling crossbeam-epoch v0.9.18
   Compiling rand_chacha v0.3.1
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.8.0
   Compiling hashlink v0.8.4
   Compiling crossbeam-deque v0.8.5
   Compiling hashlink v0.9.1
   Compiling rand v0.8.5
   Compiling clap_builder v4.5.17
   Compiling crypto-common v0.1.6
   Compiling block-padding v0.3.3
   Compiling block-buffer v0.10.4
   Compiling inout v0.1.3
   Compiling universal-hash v0.5.1
   Compiling digest v0.10.7
   Compiling utf8-width v0.1.7
   Compiling cipher v0.4.4
   Compiling opaque-debug v0.3.1
   Compiling lazy_static v1.5.0
   Compiling signature v1.6.4
   Compiling yaml-rust2 v0.8.1
   Compiling html-escape v0.2.13
   Compiling subplot v0.11.0
   Compiling ed25519 v1.5.3
   Compiling ascii v1.1.0
   Compiling amplify_num v0.5.3
   Compiling unicode-normalization v0.1.23
   Compiling unicode-bidi v0.3.15
   Compiling tempfile v3.12.0
   Compiling linux-raw-sys v0.4.14
   Compiling regex-automata v0.4.7
   Compiling pest_meta v2.7.12
   Compiling time v0.3.36
   Compiling ct-codecs v1.1.2
   Compiling idna v0.5.0
   Compiling tempfile-fast v0.3.4
   Compiling pulldown-cmark v0.12.1
   Compiling ec25519 v0.1.0
   Compiling sha2 v0.10.8
   Compiling polyval v0.6.2
   Compiling libz-sys v1.1.20
   Compiling tracing-core v0.1.32
   Compiling form_urlencoded v1.2.1
   Compiling git-ref-format-core v0.3.1
   Compiling base64ct v1.6.0
   Compiling serde_path_to_error v0.1.16
   Compiling pest_generator v2.7.12
   Compiling serde_json v1.0.128
   Compiling keccak v0.1.5
   Compiling byteorder v1.5.0
   Compiling base64 v0.22.1
   Compiling sha3 v0.10.8
   Compiling clap v4.5.17
   Compiling marked-yaml v0.7.1
   Compiling amplify v4.7.0
   Compiling git-ref-format-macro v0.3.1
   Compiling pem-rfc7468 v0.7.0
   Compiling tracing v0.1.40
   Compiling url v2.5.2
   Compiling roadmap v0.6.1
   Compiling git-testament-derive v0.2.0
   Compiling cyphergraphy v0.3.0
   Compiling ghash v0.5.1
   Compiling libgit2-sys v0.17.0+1.8.1
   Compiling ctr v0.9.2
   Compiling aes v0.8.4
   Compiling aead v0.5.2
   Compiling equivalent v1.0.1
   Compiling base32 v0.4.0
   Compiling pest_derive v2.7.12
   Compiling git-ref-format v0.3.1
   Compiling sqlite3-src v0.5.1
   Compiling globset v0.4.15
   Compiling regex v1.10.6
   Compiling git2 v0.19.0
   Compiling cypheraddr v0.4.0
   Compiling ssh-encoding v0.2.0
   Compiling blowfish v0.9.1
   Compiling chacha20 v0.9.1
   Compiling cbc v0.1.2
   Compiling pbkdf2 v0.12.2
   Compiling poly1305 v0.8.0
   Compiling aes-gcm v0.10.3
   Compiling zeroize v1.8.1
   Compiling radicle-std-ext v0.1.0
   Compiling ignore v0.4.23
   Compiling env_filter v0.1.2
   Compiling data-encoding v2.6.0
   Compiling ssh-cipher v0.2.0
   Compiling socks5-client v0.4.1
   Compiling env_logger v0.11.5
   Compiling indexmap v2.5.0
   Compiling bcrypt-pbkdf v0.10.0
   Compiling git-testament v0.2.5
   Compiling sqlite3-sys v0.15.2
   Compiling xattr v1.3.1
   Compiling crc32fast v1.4.2
   Compiling data-encoding-macro v0.1.15
   Compiling filetime v0.2.25
   Compiling base-x v0.2.11
   Compiling signature v2.2.0
   Compiling nix v0.29.0
   Compiling sqlite v0.32.0
   Compiling multibase v0.9.1
   Compiling tar v0.4.41
   Compiling flate2 v1.0.33
   Compiling ssh-key v0.6.6
   Compiling cyphernet v0.5.2
   Compiling radicle-ssh v0.9.0
   Compiling nonempty v0.9.0
   Compiling globwalk v0.9.1
   Compiling cvt v0.1.2
   Compiling tera v1.20.0
   Compiling qcheck v1.0.0
   Compiling culpa v1.0.2
   Compiling slog v2.7.0
   Compiling terminal_size v0.3.0
   Compiling radicle-dag v0.9.0
   Compiling base64 v0.21.7
   Compiling normpath v1.3.0
   Compiling subplotlib-derive v0.11.0
   Compiling localtime v1.3.1
   Compiling fs2 v0.4.3
   Compiling fs_at v0.2.1
   Compiling radicle-surf v0.22.1
   Compiling crossbeam-channel v0.5.13
   Compiling state v0.5.3
   Compiling libyml v0.0.4
   Compiling remove_dir_all v0.8.3
   Compiling shell-words v1.1.0
   Compiling unescape v0.1.0
   Compiling arc-swap v1.7.1
   Compiling siphasher v1.0.1
   Compiling html-page v0.4.0
   Compiling uuid v1.10.0
   Compiling slog-scope v4.4.0
   Compiling radicle-git-ext v0.8.1
   Compiling serde_yml v0.0.11
   Compiling slog-json v2.6.1
   Compiling radicle-crypto v0.11.0
   Compiling radicle-cob v0.12.0
   Compiling radicle v0.13.0
   Compiling subplot-build v0.11.0
   Compiling subplotlib v0.11.0
   Compiling radicle-ci-broker v0.6.3 (/srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.64s
+ cargo doc --workspace
    Checking unicode-ident v1.0.13
 Documenting unicode-ident v1.0.13
 Documenting cfg-if v1.0.0
 Documenting typenum v1.17.0
 Documenting libc v0.2.158
 Documenting subtle v2.6.1
 Documenting bitflags v2.6.0
 Documenting cpufeatures v0.2.14
 Documenting tinyvec_macros v0.1.1
 Documenting opaque-debug v0.3.1
 Documenting memchr v2.7.4
 Documenting ed25519 v1.5.3
 Documenting amplify_num v0.5.3
 Documenting ascii v1.1.0
 Documenting percent-encoding v2.3.1
 Documenting linux-raw-sys v0.4.14
    Checking proc-macro2 v1.0.86
 Documenting tinyvec v1.8.0
 Documenting log v0.4.22
 Documenting ct-codecs v1.1.2
 Documenting proc-macro2 v1.0.86
 Documenting unicode-bidi v0.3.15
    Checking git-ref-format-core v0.3.1
    Checking quote v1.0.37
 Documenting byteorder v1.5.0
 Documenting base64ct v1.6.0
 Documenting form_urlencoded v1.2.1
    Checking syn v2.0.77
    Checking syn v1.0.109
 Documenting keccak v0.1.5
 Documenting itoa v1.0.11
 Documenting fastrand v2.1.1
 Documenting base32 v0.4.0
 Documenting rustix v0.38.37
 Documenting unicode-normalization v0.1.23
    Checking data-encoding v2.6.0
 Documenting quote v1.0.37
 Documenting equivalent v1.0.1
 Documenting hashbrown v0.14.5
 Documenting sqlite3-src v0.5.1
 Documenting pem-rfc7468 v0.7.0
 Documenting data-encoding v2.6.0
 Documenting radicle-std-ext v0.1.0
 Documenting zeroize v1.8.1
 Documenting getrandom v0.2.15
    Checking amplify_syn v2.0.1
    Checking proc-macro-error v1.0.4
 Documenting libz-sys v1.1.20
 Documenting data-encoding-macro-internal v0.1.13
 Documenting once_cell v1.20.0
 Documenting ryu v1.0.18
 Documenting powerfmt v0.2.0
 Documenting sqlite3-sys v0.15.2
 Documenting serde_derive v1.0.210
 Documenting thiserror-impl v1.0.63
 Documenting amplify_syn v2.0.1
 Documenting proc-macro-error-attr v1.0.4
 Documenting idna v0.5.0
 Documenting utf8parse v0.2.2
 Documenting ec25519 v0.1.0
 Documenting generic-array v0.14.7
 Documenting libgit2-sys v0.17.0+1.8.1
 Documenting rand_core v0.6.4
 Documenting data-encoding-macro v0.1.15
 Documenting indexmap v2.5.0
 Documenting base-x v0.2.11
 Documenting signature v2.2.0
 Documenting sqlite v0.32.0
 Documenting tempfile v3.12.0
 Documenting anstyle-parse v0.2.5
 Documenting proc-macro-error v1.0.4
 Documenting deranged v0.3.11
 Documenting rand v0.8.5
 Documenting thiserror v1.0.63
 Documenting multibase v0.9.1
 Documenting amplify_derive v4.0.1
 Documenting nix v0.29.0
 Documenting crypto-common v0.1.6
 Documenting block-padding v0.3.3
 Documenting block-buffer v0.10.4
 Documenting aho-corasick v1.1.3
 Documenting time-macros v0.2.18
 Documenting cvt v0.1.2
 Documenting is_terminal_polyfill v1.70.1
 Documenting git-ref-format-macro v0.3.1
 Documenting regex-syntax v0.8.4
 Documenting radicle-ssh v0.9.0
 Documenting serde v1.0.210
 Documenting inout v0.1.3
 Documenting colorchoice v1.0.2
 Documenting qcheck v1.0.0
 Documenting num-conv v0.1.0
 Documenting digest v0.10.7
 Documenting universal-hash v0.5.1
 Documenting amplify v4.7.0
 Documenting aead v0.5.2
 Documenting anstyle v1.0.8
 Documenting time-core v0.1.2
 Documenting anstyle-query v1.1.1
 Documenting terminal_size v0.3.0
 Documenting cipher v0.4.4
 Documenting fs_at v0.2.1
 Documenting culpa-macros v1.0.2
 Documenting radicle-dag v0.9.0
   Compiling radicle-ci-broker v0.6.3 (/srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src)
 Documenting slog v2.7.0
 Documenting time v0.3.36
 Documenting crossbeam-utils v0.8.20
 Documenting anstream v0.6.15
 Documenting heck v0.5.0
 Documenting polyval v0.6.2
 Documenting sha2 v0.10.8
 Documenting sha3 v0.10.8
 Documenting pbkdf2 v0.12.2
 Documenting poly1305 v0.8.0
 Documenting regex-automata v0.4.7
 Documenting cyphergraphy v0.3.0
 Documenting clap_lex v0.7.2
 Documenting strsim v0.11.1
 Documenting normpath v1.3.0
    Checking heck v0.5.0
 Documenting lazy_static v1.5.0
 Documenting utf8-width v0.1.7
 Documenting ctr v0.9.2
 Documenting aes v0.8.4
 Documenting blowfish v0.9.1
 Documenting ghash v0.5.1
 Documenting ssh-encoding v0.2.0
 Documenting chacha20 v0.9.1
 Documenting cbc v0.1.2
 Documenting git-ref-format-core v0.3.1
 Documenting url v2.5.2
 Documenting serde_json v1.0.128
 Documenting nonempty v0.9.0
 Documenting cypheraddr v0.4.0
 Documenting html-escape v0.2.13
 Documenting remove_dir_all v0.8.3
 Documenting clap_builder v4.5.17
 Documenting localtime v1.3.1
 Documenting bcrypt-pbkdf v0.10.0
 Documenting clap_derive v4.5.13
 Documenting regex v1.10.6
 Documenting aes-gcm v0.10.3
 Documenting crossbeam-channel v0.5.13
 Documenting culpa v1.0.2
 Documenting subplotlib-derive v0.11.0
 Documenting git2 v0.19.0
 Documenting git-ref-format v0.3.1
 Documenting fs2 v0.4.3
 Documenting socks5-client v0.4.1
 Documenting filetime v0.2.25
 Documenting arc-swap v1.7.1
 Documenting state v0.5.3
 Documenting base64 v0.22.1
 Documenting shell-words v1.1.0
 Documenting libyml v0.0.4
 Documenting ssh-cipher v0.2.0
 Documenting siphasher v1.0.1
 Documenting unescape v0.1.0
 Documenting slog-json v2.6.1
 Documenting html-page v0.4.0
 Documenting uuid v1.10.0
 Documenting clap v4.5.17
 Documenting anyhow v1.0.89
 Documenting slog-scope v4.4.0
 Documenting cyphernet v0.5.2
 Documenting ssh-key v0.6.6
 Documenting serde_yml v0.0.11
 Documenting subplotlib v0.11.0
 Documenting radicle-git-ext v0.8.1
 Documenting radicle-crypto v0.11.0
 Documenting radicle-surf v0.22.1
 Documenting radicle-cob v0.12.0
 Documenting radicle v0.13.0
 Documenting radicle-ci-broker v0.6.3 (/srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src)
warning: unresolved link to `Requestbuilder`
   --> src/msg.rs:836:36
    |
836 |     /// CI event was not set for [`Requestbuilder`].
    |                                    ^^^^^^^^^^^^^^ no item named `Requestbuilder` in scope
    |
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default

warning: `radicle-ci-broker` (lib doc) generated 1 warning
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.54s
   Generated /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/doc/radicle_ci_broker/index.html and 3 other files
+ cargo test --workspace --no-fail-fast
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
     Running unittests src/lib.rs (target/debug/deps/radicle_ci_broker-22f2b34d6582ea7a)

running 64 tests
{"msg":"broker database: /tmp/.tmpVIueQJ/db.db","level":"INFO","ts":"2024-10-09T07:25:53.332369988Z"}
{"msg":"broker database: /tmp/.tmp4CyCHr/db.db","level":"INFO","ts":"2024-10-09T07:25:53.332492028Z"}
{"msg":"broker database: /tmp/.tmpZocFn3/db.db","level":"INFO","ts":"2024-10-09T07:25:53.332555808Z"}
{"msg":"broker database: /tmp/.tmp1conUR/db.db","level":"INFO","ts":"2024-10-09T07:25:53.332599848Z"}
test broker::test::does_not_find_unknown_repo ... ok
test broker::test::adds_adapter ... ok
test broker::test::does_not_have_a_default_adapter_initially ... ok
{"msg":"broker database: /tmp/.tmpKFU1VC/db.db","level":"INFO","ts":"2024-10-09T07:25:53.693782096Z"}
{"msg":"broker database: /tmp/.tmpSQelb0/db.db","level":"INFO","ts":"2024-10-09T07:25:53.694005086Z"}
{"msg":"broker database: /tmp/.tmp1EMRHw/db.db","level":"INFO","ts":"2024-10-09T07:25:53.694218266Z"}
{"msg":"no first response message","level":"ERRO","ts":"2024-10-09T07:25:53.740765299Z"}
{"msg":"no second response message","level":"ERRO","ts":"2024-10-09T07:25:53.740821619Z"}
{"msg":"adapter was terminated by signal","level":"DEBG","ts":"2024-10-09T07:25:53.74087453Z"}
{"msg":"adapter did not exit voluntarily","level":"WARN","ts":"2024-10-09T07:25:53.74091282Z"}
test adapter::test::adapter_is_killed_before_any_messages ... ok
{"msg":"broker database: /tmp/.tmp1JsidY/db.db","level":"INFO","ts":"2024-10-09T07:25:53.741476391Z"}
{"msg":"adapter exit code","level":"DEBG","ts":"2024-10-09T07:25:53.752877451Z","exit_code":0}
test adapter::test::adapter_produces_as_bad_message ... ok
test adapter::test::adapter_reports_failure ... ok
test adapter::test::adapter_has_bad_interpreter ... ok
{"msg":"no second response message","level":"ERRO","ts":"2024-10-09T07:25:53.755298896Z"}
{"msg":"adapter was terminated by signal","level":"DEBG","ts":"2024-10-09T07:25:53.755357926Z"}
{"msg":"adapter did not exit voluntarily","level":"WARN","ts":"2024-10-09T07:25:53.755393696Z"}
test adapter::test::adapter_is_killed_after_first_message ... ok
test ci_event::test::nothing_updated ... ok
test ci_event::test::branch_deleted ... ok
test ci_event::test::branch_created ... ok
test ci_event::test::skipped ... ok
test ci_event::test::patch_created ... ok
test ci_event::test::patch_updated ... ok
test ci_event::test::branch_updated ... ok
test ci_event::test_namespaced_branch::empty ... ok
test ci_event::test_namespaced_branch::has_namespace ... ok
test ci_event::test_namespaced_branch::lacks_namespace ... ok
test ci_event::test_namespaced_branch::has_namespace_with_path ... ok
test ci_event::test_patch_id::empty ... ok
test ci_event::test_patch_id::has_namespace ... ok
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761139496Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761207456Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761266376Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761311247Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761355417Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761400027Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761439287Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761480457Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761519757Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","tstest filter::test::allows_all_for_default_repository ... ":ok"
2024-10-09T07:25:53.761560157Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761601667Z"}
test filter::test::allows_all_for_main_branch ... ok
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761693867Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761742487Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761788077Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761830737Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }test filter::test::allows_branch_creation ... "ok,
"level":"DEBG","ts":"2024-10-09T07:25:53.761873477Z"}
{"msg":"adapter exit code","level":"DEBG","ts":"2024-10-09T07:25:53.761922328Z","exit_code":1}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.761984178Z"}
test ci_event::test_patch_id::lacks_namespace ... ok{
"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762035748Z"}
{"msg":"adapter stderr","level":"DEBG","ts":"2024-10-09T07:25:53.762077588Z","stderr":"woe be me"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test ci_event::test_patch_id::has_namespace_with_path ... ok
,"ts":"2024-10-09T07:25:53.762136978Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762179968Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"test filter::test::allows_branch_deletion ... main\"ok
), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762236038Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762276808Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762323108Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762366988Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }",test adapter::test::adapter_exits_nonzero ... "oklevel
":"DEBG","ts":"2024-10-09T07:25:53.762414458Z"}test filter::test::allows_branch_update ... 
ok
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762464309Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762510249Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762554339Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762601639Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762651309Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762692919Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762740429Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762784859Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762822589Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762859969Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762909149Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762954019Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.762996569Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76304165Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76308343Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76312416Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG",test filter::test::allows_any_event ... "tsok"
:"2024-10-09T07:25:53.76316788Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76321327Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76325604Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76329876Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76333966Z"}
{"msg":"adapter exit code","level":"DEBG","ts":"2024-10-09T07:25:53.76337672Z","exit_code":0}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76342447Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76346222Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76350788Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.7635509Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763590451Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763637141Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763682531Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763726851Z"}
test filter::test::allows_patch_creation ... ok
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763773431Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763823231Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763869131Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763906171Z"}
{"msg":"too many response messages","level":"ERRO","ts":"2024-10-09T07:25:53.763943271Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.763982771Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764031321Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764080221Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764127971Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764164392Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764203052Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBGtest filter::test::allows_patch_update ... "ok
,"ts":"2024-10-09T07:25:53.764248772Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764291282Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764336552Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764372382Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764408522Z"}
{"msg":"EventFilter::allows: event=Shutdown","level":"DEBG","ts":"2024-10-09T07:25:53.764442782Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }"test filter::test::allows_shutdown ... ,ok"
level":"DEBG","ts":"2024-10-09T07:25:53.764485832Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764538512Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764577472Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":test filter::test::allows_no_event ... "okDEBG
","ts":"2024-10-09T07:25:53.764624162Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764666312Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764709813Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764752803Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764798963Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764841643Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764885603Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764936673Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.764987973Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765041813Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765084533Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765120293Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765162513Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765211633Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765288054Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765322064Z"test filter::test::allows_specific_patch ... }
ok
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765368914Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765416624Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765464604Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765517014Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765573484Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765629854Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test adapter::test::adapter_reports_success ... ok,
"ts":"2024-10-09T07:25:53.765677754Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test adapter::test::adapter_outputs_too_many_messages ... ok,
"ts":"2024-10-09T07:25:53.765733674Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765787904Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765835404Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765880245Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765923495Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.765965745Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(bde68ac76ce093bcc583aa612f45e13fee2353a0)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766006105Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766049685Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766096715Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"other\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766135125Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766177065Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766218095Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766255165Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(bde68ac76ce093bcc583aa612f45e13fee2353a0)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766290815Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766331935Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766373405Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766406665Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766447656Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766486416Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766523906Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(bde68ac76ce093bcc583aa612f45e13fee2353a0)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766559796Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766598536Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766641706Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766674516Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766712976Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766751456Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766794776Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(bde68ac76ce093bcc583aa612f45e13fee2353a0)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766838336Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test filter::test::doesnt_allows_other_patch ... ok
,"ts":"2024-10-09T07:25:53.766880216Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766920536Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766955026Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.766996527Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767035737Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767079047Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767120487Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767159137Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767201897Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767240467Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test filter::test::doesnt_allow_any_for_other_branch ... ok
,"ts":"2024-10-09T07:25:53.767279297Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767321807Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767371617Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test filter::test::allows_opposite ... ok
,"ts":"2024-10-09T07:25:53.767412967Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767452377Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767491917Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767532087Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767570428Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767616138Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767658458Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767694438Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767728208Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767767158Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767806258Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767847038Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767884678Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767920888Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.767957718Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts"test filter::test::only_allows_branch_creation ... :"ok2024-10-09T07:25:53.767989968Z
"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768029208Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:zwTxygwuz5LDGBq255RA2CbNGrz8), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768068538Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","tstest filter::test::doesnt_allow_any_for_other_repository ... "ok:
"2024-10-09T07:25:53.768108258Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768143759Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }test msg::test_push_branch::get_no_push_branch ... "ok
,"level":"DEBG","ts":"2024-10-09T07:25:53.768183459Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG"test msg::test_push_branch::get_push_branch ... ok
,"ts":"2024-10-09T07:25:53.768224179Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768264829Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768313649Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768353079Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768391709Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768425859Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768461839Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768494509Z"}
{"msg":"EventFilter::allows: event=BranchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768537519Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768577849Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768617069Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.768650229Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.7686909Z"}
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76873119Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76876451Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.7688002Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76883708Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.7688694Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76890678Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76894177Z"}
{"msg":"EventFilter::allows: event=BranchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4), old_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.7689756Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76901492Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76905163Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76908368Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":test filter::test::allows_if_all_allow ... "okDEBG
","ts":"2024-10-09T07:25:53.7691247Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.76916562Z"}
test filter::test::only_allows_branch_deletion ... ok
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }test filter::test::only_allows_patch_creation ... "ok
,"level":"DEBG","ts":"2024-10-09T07:25:53.76921695Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.769268841Z"}
{"msg":"EventFilter::allows: event=PatchUpdated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.769312171Z"}
test filter::test::allows_if_any_allows ... ok
{"msg":"EventFilter::allows: event=BranchDeleted { repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), branch: RefString(\"main\"), tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"test filter::test::only_allows_branch_update ... DEBGok"
,"ts":"2024-10-09T07:25:53.769358361Z"}
test run::test::serialize_run_state ... ok
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.769424351Z"}
{"msg":"EventFilter::allows: event=PatchCreated { from_node: PublicKey(z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV), repo: RepoId(rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5), patch: ObjectId(Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4)), new_tip: Oid(ff3099ba5de28d954c41d0b5a84316f943794ea4) }","level":"DEBG","ts":"2024-10-09T07:25:53.769496091Z"}
test filter::test::only_allows_patch_update ... ok
test adapter::test::adapter_does_not_exist ... ok
{"msg"test adapter::test::adapter_is_not_executable ... :"start CI run"ok
,"level":"INFO","ts":"2024-10-09T07:25:53.818191999Z"}
{"msg":"trigger event: Trigger {\n    common: EventCommonFields {\n        version: 1,\n        event_type: Push,\n        repository: Repository {\n            id: RepoId(rad:z3q9naK67YwSne79dh8JFS65eakBj),\n            name: \"acme\",\n            description: \"Acme's repository\",\n            private: false,\n            default_branch: \"master\",\n            delegates: [\n                Did(\"did:key:z6Mkvg4cv3hN41F5AHdeg6WRu2nE3TSpfzskU4LGMy7DzaLG\"),\n            ],\n        },\n    },\n    push: Some(\n        PushEvent {\n            pusher: Author {\n                id: Did(\"did:key:z6Mkvg4cv3hN41F5AHdeg6WRu2nE3TSpfzskU4LGMy7DzaLG\"),\n                alias: None,\n            },\n            before: Oid(\n                532c92e4ec973d79c25652c581ae82d238e46a06,\n            ),\n            after: Oid(\n                532c92e4ec973d79c25652c581ae82d238e46a06,\n            ),\n            branch: \"master\",\n            commits: [\n                Oid(\n                    532c92e4ec973d79c25652c581ae82d238e46a06,\n                ),\n            ],\n        },\n    ),\n    patch: None,\n}","level":"DEBG","ts":"2024-10-09T07:25:53.818353459Z"}
test adapter::test::adapter_first_message_isnt_triggered ... ok
{"msg":"adapter was terminated by signal","level":"DEBG","ts":"2024-10-09T07:25:53.821372884Z"}
{"msg":"adapter did not exit voluntarily","level":"WARN","ts":"2024-10-09T07:25:53.821421214Z"}
test adapter::test::adapter_is_killed_after_second_message ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok
test broker::test::has_no_adapters_initially ... ok
{"msg":"adapter exit code","level":"DEBG","ts":"2024-10-09T07:25:54.1985293Z","exit_code":1}
{"msg":"adapter stderr","level":"DEBG","ts":"2024-10-09T07:25:54.19857938Z","stderr":"woe be me"}
test broker::test::sets_a_default_adapter_initially ... ok
test broker::test::finds_default_adapter_for_unknown_repo ... ok
{"msg":"start CI run","level":"INFO","ts":"2024-10-09T07:25:54.219003537Z"}
{"msg":"trigger event: Trigger {\n    common: EventCommonFields {\n        version: 1,\n        event_type: Push,\n        repository: Repository {\n            id: RepoId(rad:z349Vo2mMducjf8ctazTnLiG89NCm),\n            name: \"acme\",\n            description: \"Acme's repository\",\n            private: false,\n            default_branch: \"master\",\n            delegates: [\n                Did(\"did:key:z6MkeUh1crzPYFhmcsR4q6i7DAQQ2fmzge1JgUQQq9AqWuts\"),\n            ],\n        },\n    },\n    push: Some(\n        PushEvent {\n            pusher: Author {\n                id: Did(\"did:key:z6MkeUh1crzPYFhmcsR4q6i7DAQQ2fmzge1JgUQQq9AqWuts\"),\n                alias: None,\n            },\n            before: Oid(\n                532c92e4ec973d79c25652c581ae82d238e46a06,\n            ),\n            after: Oid(\n                532c92e4ec973d79c25652c581ae82d238e46a06,\n            ),\n            branch: \"master\",\n            commits: [\n                Oid(\n                    532c92e4ec973d79c25652c581ae82d238e46a06,\n                ),\n            ],\n        },\n    ),\n    patch: None,\n}","level":"DEBG","ts":"2024-10-09T07:25:54.219172597Z"}
{"msg":"failed to run adapter or it failed to run CI: child process failed with wait status 1","level":"ERRO","ts":"2024-10-09T07:25:54.267660674Z"}
{"msg":"Finish CI run","level":"INFO","ts":"2024-10-09T07:25:54.267714994Z"}
{"msg":"finished CI run: Run {\n    broker_run_id: RunId {\n        id: \"e7be82d6-8b7f-4906-af6c-59115cfa0193\",\n    },\n    adapter_run_id: Some(\n        RunId {\n            id: \"xyzzy\",\n        },\n    ),\n    adapter_info_url: None,\n    repo_id: RepoId(rad:z3q9naK67YwSne79dh8JFS65eakBj),\n    repo_name: \"acme\",\n    timestamp: \"2024-10-09 07:25:53Z\",\n    whence: Branch {\n        name: \"push-event-has-no-branch-name\",\n        commit: Oid(\n            532c92e4ec973d79c25652c581ae82d238e46a06,\n        ),\n        who: Some(\n            \"did:key:z6Mkvg4cv3hN41F5AHdeg6WRu2nE3TSpfzskU4LGMy7DzaLG\",\n        ),\n    },\n    state: Finished,\n    result: Some(\n        Success,\n    ),\n}","level":"DEBG","ts":"2024-10-09T07:25:54.267865314Z"}
test broker::test::adapter_fails ... ok
{"msg":"adapter exit code","level":"DEBG","ts":"2024-10-09T07:25:54.378993583Z","exit_code":0}
{"msg":"Finish CI run","level":"INFO","ts":"2024-10-09T07:25:54.424143454Z"}
{"msg":"finished CI run: Run {\n    broker_run_id: RunId {\n        id: \"320a231a-86d0-4eb2-b31a-03c18779a439\",\n    },\n    adapter_run_id: Some(\n        RunId {\n            id: \"xyzzy\",\n        },\n    ),\n    adapter_info_url: None,\n    repo_id: RepoId(rad:z349Vo2mMducjf8ctazTnLiG89NCm),\n    repo_name: \"acme\",\n    timestamp: \"2024-10-09 07:25:54Z\",\n    whence: Branch {\n        name: \"push-event-has-no-branch-name\",\n        commit: Oid(\n            532c92e4ec973d79c25652c581ae82d238e46a06,\n        ),\n        who: Some(\n            \"did:key:z6MkeUh1crzPYFhmcsR4q6i7DAQQ2fmzge1JgUQQq9AqWuts\",\n        ),\n    },\n    state: Finished,\n    result: Some(\n        Success,\n    ),\n}","level":"DEBG","ts":"2024-10-09T07:25:54.424281604Z"}
test broker::test::executes_adapter ... ok

test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s

     Running unittests src/bin/cib.rs (target/debug/deps/cib-e5ef2dce4f549f93)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/cibtool.rs (target/debug/deps/cibtool-cd3b98f2d207499f)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running unittests src/bin/synthetic-events.rs (target/debug/deps/synthetic_events-b2fdc3bad4d4e685)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running tests/subplot.rs (target/debug/deps/subplot-7179c89003a8b7e7)

running 36 tests
test adapter_with_url_runs_successfully ... ok
test add_information_about_run_that_s_finished_successfully_to_database ... FAILED
test add_information_about_run_that_s_running_to_database ... FAILED
test can_trigger_a_ci_run ... FAILED
test acceptance_criteria_for_upgrades ... FAILED
test add_information_about_triggered_run_to_database ... FAILED
test dummy_adapter_runs_successfully ... ok
test add_information_about_run_that_s_finished_in_failure_to_database ... FAILED
test adapter_can_provide_url_for_info_on_run ... FAILED
test convert_recorded_node_events_into_ci_events ... FAILED
test don_t_insert_events_into_queue_when_not_allowed_by_filter ... FAILED
test don_t_insert_event_for_non_existent_repository ... FAILED
test events_can_be_queued_and_removed_from_queue ... FAILED
test filter_recorded_ci_events ... FAILED
test gives_helpful_error_message_if_node_socket_can_t_be_found ... FAILED
test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... FAILED
test insert_events_into_queue ... FAILED
test logs_adapter_stderr_output ... FAILED
test insert_many_events_into_queue ... FAILED
test logs_start_and_successful_end ... FAILED
test process_queued_events ... FAILED
test produces_a_json_status_file ... FAILED
test produces_a_report_page_upon_request ... FAILED
test record_node_events ... FAILED
test reports_it_version ... FAILED
test shuts_down_when_requested ... FAILED
test we_can_run_rad ... FAILED
test smoke_test__runs_adapter ... FAILED
test stops_if_the_node_connection_breaks ... FAILED
test update_and_show_information_about_run_to_running ... FAILED
test shows_config_as_json ... ok
test logs_termination_due_to_error ... FAILED
test can_add_shutdown_event_to_queue ... ok
test event_synthesizer_terminates_after_first_connection ... ok
test count_in_a_single_process has been running for over 60 seconds
test count_in_concurrent_processes has been running for over 60 seconds
test count_in_a_single_process ... ok
test count_in_concurrent_processes ... ok

failures:

---- add_information_about_run_that_s_finished_successfully_to_database stdout ----
unknown: scenario: Add information about run that's finished successfully to database
ci-broker.md:1002:1:   step: given file radenv.sh
ci-broker.md:1003:1:   step: given file setup-node.sh
ci-broker.md:1004:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplottKIhjAdd-information-about-run-that-s-finished-successfully-to-database
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplottKIhjAdd-information-about-run-that-s-finished-successfully-to-database/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'add_information_about_run_that_s_finished_successfully_to_database' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:3545:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- add_information_about_run_that_s_running_to_database stdout ----
unknown: scenario: Add information about run that's running to database
ci-broker.md:977:1:   step: given file radenv.sh
ci-broker.md:978:1:   step: given file setup-node.sh
ci-broker.md:979:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotNdULEAdd-information-about-run-that-s-running-to-database
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotNdULEAdd-information-about-run-that-s-running-to-database/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'add_information_about_run_that_s_running_to_database' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:3402:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- can_trigger_a_ci_run stdout ----
unknown: scenario: Can trigger a CI run
ci-broker.md:932:1:   step: given file radenv.sh
ci-broker.md:933:1:   step: given file setup-node.sh
ci-broker.md:934:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotWLDM6Can-trigger-a-CI-run
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotWLDM6Can-trigger-a-CI-run/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'can_trigger_a_ci_run' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:3134:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- acceptance_criteria_for_upgrades stdout ----
unknown: scenario: Acceptance criteria for upgrades
ci-broker.md:1376:1:   step: given file radenv.sh
ci-broker.md:1377:1:   step: given file setup-node.sh
ci-broker.md:1378:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot8lzdqAcceptance-criteria-for-upgrades
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot8lzdqAcceptance-criteria-for-upgrades/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'acceptance_criteria_for_upgrades' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:5365:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- add_information_about_triggered_run_to_database stdout ----
unknown: scenario: Add information about triggered run to database
ci-broker.md:954:1:   step: given file radenv.sh
ci-broker.md:955:1:   step: given file setup-node.sh
ci-broker.md:956:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot6N2P4Add-information-about-triggered-run-to-database
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot6N2P4Add-information-about-triggered-run-to-database/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'add_information_about_triggered_run_to_database' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:3268:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- add_information_about_run_that_s_finished_in_failure_to_database stdout ----
unknown: scenario: Add information about run that's finished in failure to database
ci-broker.md:1027:1:   step: given file radenv.sh
ci-broker.md:1028:1:   step: given file setup-node.sh
ci-broker.md:1029:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotcjtWpAdd-information-about-run-that-s-finished-in-failure-to-database
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotcjtWpAdd-information-about-run-that-s-finished-in-failure-to-database/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'add_information_about_run_that_s_finished_in_failure_to_database' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:3711:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- adapter_can_provide_url_for_info_on_run stdout ----
unknown: scenario: Adapter can provide URL for info on run
ci-broker.md:315:1:   step: given file radenv.sh
ci-broker.md:316:1:   step: given file setup-node.sh
ci-broker.md:317:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot0MMHnAdapter-can-provide-URL-for-info-on-run
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot0MMHnAdapter-can-provide-URL-for-info-on-run/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'adapter_can_provide_url_for_info_on_run' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:819:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- convert_recorded_node_events_into_ci_events stdout ----
unknown: scenario: Convert recorded node events into CI events
ci-broker.md:1166:1:   step: given file radenv.sh
ci-broker.md:1167:1:   step: given file setup-node.sh
ci-broker.md:1168:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotQGIFxConvert-recorded-node-events-into-CI-events
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotQGIFxConvert-recorded-node-events-into-CI-events/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'convert_recorded_node_events_into_ci_events' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4572:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- don_t_insert_events_into_queue_when_not_allowed_by_filter stdout ----
unknown: scenario: Don't insert events into queue when not allowed by filter
ci-broker.md:717:1:   step: given file radenv.sh
ci-broker.md:718:1:   step: given file setup-node.sh
ci-broker.md:719:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotOsE6TDon-t-insert-events-into-queue-when-not-allowed-by-filter
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotOsE6TDon-t-insert-events-into-queue-when-not-allowed-by-filter/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'don_t_insert_events_into_queue_when_not_allowed_by_filter' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:2460:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- don_t_insert_event_for_non_existent_repository stdout ----
unknown: scenario: Don't insert event for non-existent repository
ci-broker.md:1104:1:   step: given file radenv.sh
ci-broker.md:1105:1:   step: given file setup-node.sh
ci-broker.md:1106:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotPBWdJDon-t-insert-event-for-non-existent-repository
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotPBWdJDon-t-insert-event-for-non-existent-repository/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'don_t_insert_event_for_non_existent_repository' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4228:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- events_can_be_queued_and_removed_from_queue stdout ----
unknown: scenario: Events can be queued and removed from queue
ci-broker.md:879:1:   step: given file radenv.sh
ci-broker.md:880:1:   step: given file setup-node.sh
ci-broker.md:881:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot3TGBzEvents-can-be-queued-and-removed-from-queue
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot3TGBzEvents-can-be-queued-and-removed-from-queue/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'events_can_be_queued_and_removed_from_queue' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:2946:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- filter_recorded_ci_events stdout ----
unknown: scenario: Filter recorded CI events
ci-broker.md:1194:1:   step: given file radenv.sh
ci-broker.md:1195:1:   step: given file setup-node.sh
ci-broker.md:1196:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotrvsyuFilter-recorded-CI-events
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotrvsyuFilter-recorded-CI-events/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'filter_recorded_ci_events' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4811:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- gives_helpful_error_message_if_node_socket_can_t_be_found stdout ----
unknown: scenario: Gives helpful error message if node socket can't be found
ci-broker.md:355:1:   step: given file radenv.sh
ci-broker.md:356:1:   step: given file setup-node.sh
ci-broker.md:357:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotub8TbGives-helpful-error-message-if-node-socket-can-t-be-found
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotub8TbGives-helpful-error-message-if-node-socket-can-t-be-found/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'gives_helpful_error_message_if_node_socket_can_t_be_found' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:928:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file stdout ----
unknown: scenario: Gives helpful error message if it doesn't understand its configuration file
ci-broker.md:383:1:   step: given file radenv.sh
ci-broker.md:384:1:   step: given file setup-node.sh
ci-broker.md:385:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subploti2eUZGives-helpful-error-message-if-it-doesn-t-understand-its-configuration-file
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subploti2eUZGives-helpful-error-message-if-it-doesn-t-understand-its-configuration-file/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1054:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- insert_events_into_queue stdout ----
unknown: scenario: Insert events into queue
ci-broker.md:657:1:   step: given file radenv.sh
ci-broker.md:658:1:   step: given file setup-node.sh
ci-broker.md:659:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotxFLuYInsert-events-into-queue
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotxFLuYInsert-events-into-queue/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'insert_events_into_queue' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:2140:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- logs_adapter_stderr_output stdout ----
unknown: scenario: Logs adapter stderr output
ci-broker.md:496:1:   step: given file radenv.sh
ci-broker.md:497:1:   step: given file setup-node.sh
ci-broker.md:498:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotDeEN2Logs-adapter-stderr-output
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotDeEN2Logs-adapter-stderr-output/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'logs_adapter_stderr_output' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1629:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- insert_many_events_into_queue stdout ----
unknown: scenario: Insert many events into queue
ci-broker.md:687:1:   step: given file radenv.sh
ci-broker.md:688:1:   step: given file setup-node.sh
ci-broker.md:689:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotNBBBFInsert-many-events-into-queue
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotNBBBFInsert-many-events-into-queue/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'insert_many_events_into_queue' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:2298:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- logs_start_and_successful_end stdout ----
unknown: scenario: Logs start and successful end
ci-broker.md:1266:1:   step: given file radenv.sh
ci-broker.md:1267:1:   step: given file setup-node.sh
ci-broker.md:1268:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotJnxxGLogs-start-and-successful-end
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotJnxxGLogs-start-and-successful-end/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'logs_start_and_successful_end' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4968:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- process_queued_events stdout ----
unknown: scenario: Process queued events
ci-broker.md:751:1:   step: given file radenv.sh
ci-broker.md:752:1:   step: given file setup-node.sh
ci-broker.md:753:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotYfx35Process-queued-events
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotYfx35Process-queued-events/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'process_queued_events' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:2709:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- produces_a_json_status_file stdout ----
unknown: scenario: Produces a JSON status file
ci-broker.md:1323:1:   step: given file radenv.sh
ci-broker.md:1324:1:   step: given file setup-node.sh
ci-broker.md:1325:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot3V07PProduces-a-JSON-status-file
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot3V07PProduces-a-JSON-status-file/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'produces_a_json_status_file' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:5169:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- produces_a_report_page_upon_request stdout ----
unknown: scenario: Produces a report page upon request
ci-broker.md:468:1:   step: given file radenv.sh
ci-broker.md:469:1:   step: given file setup-node.sh
ci-broker.md:470:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotAXeAVProduces-a-report-page-upon-request
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotAXeAVProduces-a-report-page-upon-request/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'produces_a_report_page_upon_request' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1449:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- record_node_events stdout ----
unknown: scenario: Record node events
ci-broker.md:1139:1:   step: given file radenv.sh
ci-broker.md:1140:1:   step: given file setup-node.sh
ci-broker.md:1141:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotyY8KYRecord-node-events
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotyY8KYRecord-node-events/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'record_node_events' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4386:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- reports_it_version stdout ----
unknown: scenario: Reports it version
ci-broker.md:285:1:   step: given file radenv.sh
ci-broker.md:286:1:   step: given file setup-node.sh
ci-broker.md:287:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotlwHFmReports-it-version
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotlwHFmReports-it-version/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'reports_it_version' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:610:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- shuts_down_when_requested stdout ----
unknown: scenario: Shuts down when requested
ci-broker.md:442:1:   step: given file radenv.sh
ci-broker.md:443:1:   step: given file setup-node.sh
ci-broker.md:444:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotO4iZzShuts-down-when-requested
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotO4iZzShuts-down-when-requested/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'shuts_down_when_requested' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1327:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- we_can_run_rad stdout ----
unknown: scenario: We can run rad
ci-broker.md:536:1:   step: given file radenv.sh
ci-broker.md:537:1:   step: when I run bash radenv.sh rad --version
Running `bash` with args ["radenv.sh", "rad", "--version"]
Running in /tmp/subplotRkVpqWe-can-run-rad
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
env: ‘rad’: No such file or directory


  return: Failure
thread 'we_can_run_rad' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1677:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- smoke_test__runs_adapter stdout ----
unknown: scenario: Smoke test: Runs adapter
ci-broker.md:242:1:   step: given file radenv.sh
ci-broker.md:243:1:   step: given file setup-node.sh
ci-broker.md:244:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotCLlZ4Smoke-test--Runs-adapter
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotCLlZ4Smoke-test--Runs-adapter/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'smoke_test__runs_adapter' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:495:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- stops_if_the_node_connection_breaks stdout ----
unknown: scenario: Stops if the node connection breaks
ci-broker.md:413:1:   step: given file radenv.sh
ci-broker.md:414:1:   step: given file setup-node.sh
ci-broker.md:415:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplotJxZkdStops-if-the-node-connection-breaks
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplotJxZkdStops-if-the-node-connection-breaks/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'stops_if_the_node_connection_breaks' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:1172:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- update_and_show_information_about_run_to_running stdout ----
unknown: scenario: Update and show information about run to running
ci-broker.md:1054:1:   step: given file radenv.sh
ci-broker.md:1055:1:   step: given file setup-node.sh
ci-broker.md:1056:1:   step: when I run bash radenv.sh bash setup-node.sh
Running `bash` with args ["radenv.sh", "bash", "setup-node.sh"]
Running in /tmp/subplot8LbeKUpdate-and-show-information-about-run-to-running
ENV: SHELL = /bin/sh
PATH: /home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 127
Stdout:

Stderr:
+ mkdir -p /tmp/subplot8LbeKUpdate-and-show-information-about-run-to-running/homedir
+ rad auth --alias brokertest
setup-node.sh: line 7: rad: command not found


  return: Failure
thread 'update_and_show_information_about_run_to_running' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:4055:20:
called `Result::unwrap()` on an `Err` value: "expected exit code 0, but had Some(127)"

---- logs_termination_due_to_error stdout ----
unknown: scenario: Logs termination due to error
ci-broker.md:1297:1:   step: given an installed cib
ci-broker.md:1299:1:   step: given file broker.yaml
ci-broker.md:1300:1:   step: when I try to run cib --config broker.yaml queued
Running `cib` with args ["--config", "broker.yaml", "queued"]
Running in /tmp/subplotNI8R4Logs-termination-due-to-error
ENV: SHELL = /bin/sh
PATH: /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug:/home/_rad/.cargo/bin:/bin:/usr/bin:/sbin:/usr/sbin
Exit code: 101
Stdout:

Stderr:
{"msg":"CI broker starts","level":"INFO","ts":"2024-10-09T07:25:54.451286403Z","version":"47064e5"}
{"msg":"loaded configuration Config {\n    default_adapter: \"mcadapterface\",\n    adapters: {\n        \"mcadapterface\": Adapter { \n         command: \"./adapter.sh\", \n         env: {\n            \"RADICLE_NATIVE_CI\": \"native-ci.yaml\",\n        }, \n         sensitive_env: {} },\n    },\n    filters: [\n        Branch(\n            RefString(\n                \"main\",\n            ),\n        ),\n    ],\n    report_dir: Some(\n        \"reports\",\n    ),\n    status_update_interval_seconds: None,\n    db: \"ci-broker.db\",\n}","level":"DEBG","ts":"2024-10-09T07:25:54.452177804Z"}
{"msg":"broker database: ci-broker.db","level":"INFO","ts":"2024-10-09T07:25:54.455940441Z"}
{"msg":"adapter configuration Config {\n    default_adapter: \"mcadapterface\",\n    adapters: {\n        \"mcadapterface\": Adapter { \n         command: \"./adapter.sh\", \n         env: {\n            \"RADICLE_NATIVE_CI\": \"native-ci.yaml\",\n        }, \n         sensitive_env: {} },\n    },\n    filters: [\n        Branch(\n            RefString(\n                \"main\",\n            ),\n        ),\n    ],\n    report_dir: Some(\n        \"reports\",\n    ),\n    status_update_interval_seconds: None,\n    db: \"ci-broker.db\",\n}","level":"DEBG","ts":"2024-10-09T07:25:54.854425576Z"}
{"msg":"start thread to process events until a shutdown event","level":"INFO","ts":"2024-10-09T07:25:54.857954572Z"}
{"msg":"queue in db has 0 events","level":"DEBG","ts":"2024-10-09T07:25:54.858067762Z"}
{"msg":"queue in db has 0 events","level":"DEBG","ts":"2024-10-09T07:25:54.858133843Z"}
{"msg":"event notification channel disconnected","level":"INFO","ts":"2024-10-09T07:25:54.858164763Z"}
{"msg":"thread to process events ends","level":"INFO","ts":"2024-10-09T07:25:54.858193293Z"}
{"msg":"start page updater thread","level":"INFO","ts":"2024-10-09T07:25:54.858566793Z"}
{"msg":"wait about 60 seconds to update HTML report pages again","level":"INFO","ts":"2024-10-09T07:25:54.858597173Z"}
thread 'main' panicked at src/bin/cib.rs:190:14:
page updater thread succeeded: Write("reports/index.html", Os { code: 2, kind: NotFound, message: "No such file or directory" })
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


ci-broker.md:1302:1:   step: then stderr contains "CI broker starts"
ci-broker.md:1303:1:   step: then stderr contains "CI broker ends in unrecoverable error"
  return: Failure
thread 'logs_termination_due_to_error' panicked at /srv/http/0199ab9c-ceca-488c-8767-7ad879babe05/src/target/debug/build/radicle-ci-broker-c935a0999709d40b/out/ci-broker.rs:5034:20:
called `Result::unwrap()` on an `Err` value: "stderr does not contain \"CI broker ends in unrecoverable error\""


failures:
    acceptance_criteria_for_upgrades
    adapter_can_provide_url_for_info_on_run
    add_information_about_run_that_s_finished_in_failure_to_database
    add_information_about_run_that_s_finished_successfully_to_database
    add_information_about_run_that_s_running_to_database
    add_information_about_triggered_run_to_database
    can_trigger_a_ci_run
    convert_recorded_node_events_into_ci_events
    don_t_insert_event_for_non_existent_repository
    don_t_insert_events_into_queue_when_not_allowed_by_filter
    events_can_be_queued_and_removed_from_queue
    filter_recorded_ci_events
    gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file
    gives_helpful_error_message_if_node_socket_can_t_be_found
    insert_events_into_queue
    insert_many_events_into_queue
    logs_adapter_stderr_output
    logs_start_and_successful_end
    logs_termination_due_to_error
    process_queued_events
    produces_a_json_status_file
    produces_a_report_page_upon_request
    record_node_events
    reports_it_version
    shuts_down_when_requested
    smoke_test__runs_adapter
    stops_if_the_node_connection_breaks
    update_and_show_information_about_run_to_running
    we_can_run_rad

test result: FAILED. 7 passed; 29 failed; 0 ignored; 0 measured; 0 filtered out; finished in 73.18s

error: test failed, to rerun pass `--test subplot`
   Doc-tests radicle_ci_broker

running 1 test
test src/msg.rs - msg::RunId (line 44) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.53s

error: 1 target failed:
    `--test subplot`