These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.
{
"type": "executor_starts",
"name": "ambient-execute-plan",
"version": "0.14.0@c37ec71",
"timestamp": {
"secs_since_epoch": 1782234045,
"nanos_since_epoch": 968400538
},
"log_source": "Plan"
}{
"type": "runnable_plan",
"steps": [
{
"action": "mkdir",
"pathname": "/ci"
},
{
"action": "mkdir",
"pathname": "/ci/artifacts"
},
{
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src"
},
{
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps"
},
{
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache"
},
{
"action": "shell",
"shell": "ln -sf /ci /workspace"
},
{
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'"
},
{
"action": "shell",
"shell": "git config --global user.email ambient@example.com"
},
{
"action": "shell",
"shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n"
},
{
"action": "cargo_fmt"
},
{
"action": "cargo_clippy"
},
{
"action": "cargo_build"
},
{
"action": "cargo_test"
},
{
"action": "shell",
"shell": "# Because of a (temporary) limitation in Ambient, we need to set\n# these variables manually. Once Ambient manages environment\n# variables better, these can be deleted.\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:$PATH\"\nexport RUSTDOCFLAGS='-D warnings'\n\ncargo doc --workspace --no-deps --all-features\n"
},
{
"action": "shell",
"shell": "# Because of a (temporary) limitation in Ambient, we need to set\n# these variables manually. Once Ambient manages environment\n# variables better, these can be deleted.\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:$PATH\"\n\n# These are based on debian/control.\nexport DEBEMAIL=liw@liw.fi\nexport DEBFULLNAME=\"Lars Wirzenius\"\n\n# Clean up after tests and documentation building. The Debian\n# package building tools do not want changes outside the\n# `debian` directory, compared to what is committed to Git, from\n# which the \"upstream tarball\" is created.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n\n# Update debian/changelog with a new version so that every run\n# creates a newer version. This avoids us having to update the\n# file manually for every CI run.\nV=\"$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')\"\nT=\"$(date -u \"+%Y%m%dT%H%M%S\")\"\nversion=\"$V.ci$T-1\"\ndch -v \"$version\" \"CI build under Ambient.\"\ndch -r ''\n"
},
{
"action": "deb",
"packages": "."
},
{
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache"
},
{
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts"
}
],
"executor_drive": "/dev/vdb",
"source_drive": "/dev/vdc",
"artifact_drive": "/dev/vdd",
"cache_drive": "/dev/vde",
"deps_drive": "/dev/vdf",
"workspace_dir": "/ci",
"source_dir": "/ci/src",
"deps_dir": "/ci/deps",
"cache_dir": "/ci/cache",
"artifacts_dir": "/ci/artifacts",
"envs": {
"RUSTUP_HOME": [
47,
99,
105,
47,
100,
101,
112,
115,
47,
114,
117,
115,
116,
117,
112
]
},
"timestamp": {
"secs_since_epoch": 1782234045,
"nanos_since_epoch": 977108810
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 18486447
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 20881686
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 23103755
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 25449337
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 28534617
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 171625015
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1782234046,
"nanos_since_epoch": 174227284
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1782234054,
"nanos_since_epoch": 775634210
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1782234054,
"nanos_since_epoch": 776178531
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 808432419
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 811203476
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
108,
110,
32,
45,
115,
102,
32,
47,
99,
105,
32,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 813751747
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 821755718
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 824486207
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 826952545
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
45,
45,
103,
108,
111,
98,
97,
108,
32,
117,
115,
101,
114,
46,
110,
97,
109,
101,
32,
39,
65,
109,
98,
105,
101,
110,
116,
32,
67,
73,
39,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 829826514
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 841044308
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 844053464
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 846721780
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
45,
45,
103,
108,
111,
98,
97,
108,
32,
117,
115,
101,
114,
46,
101,
109,
97,
105,
108,
32,
97,
109,
98,
105,
101,
110,
116,
64,
101,
120,
97,
109,
112,
108,
101,
46,
99,
111,
109,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 849373251
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 857169773
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 860022973
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 862661708
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
115,
101,
100,
32,
45,
105,
32,
47,
99,
111,
109,
112,
111,
110,
101,
110,
116,
115,
47,
100,
32,
114,
117,
115,
116,
45,
116,
111,
111,
108,
99,
104,
97,
105,
110,
46,
116,
111,
109,
108,
10,
10,
35,
32,
67,
111,
109,
109,
105,
116,
32,
116,
104,
105,
115,
32,
116,
111,
32,
103,
105,
116,
32,
115,
111,
32,
116,
104,
97,
116,
32,
116,
104,
101,
32,
68,
101,
98,
105,
97,
110,
32,
112,
97,
99,
107,
97,
103,
101,
32,
98,
117,
105,
108,
100,
105,
110,
103,
32,
100,
111,
101,
115,
110,
39,
116,
10,
35,
32,
115,
101,
101,
32,
99,
104,
97,
110,
103,
101,
115,
32,
111,
117,
116,
115,
105,
100,
101,
32,
116,
104,
101,
32,
100,
101,
98,
105,
97,
110,
32,
100,
105,
114,
101,
99,
116,
111,
114,
121,
46,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
115,
101,
116,
32,
117,
115,
101,
114,
46,
110,
97,
109,
101,
32,
34,
65,
109,
98,
105,
101,
110,
116,
32,
67,
73,
34,
10,
103,
105,
116,
32,
99,
111,
110,
102,
105,
103,
32,
115,
101,
116,
32,
117,
115,
101,
114,
46,
101,
109,
97,
105,
108,
32,
34,
97,
109,
98,
105,
101,
110,
116,
64,
101,
120,
97,
109,
112,
108,
101,
46,
99,
111,
109,
34,
10,
103,
105,
116,
32,
99,
111,
109,
109,
105,
116,
32,
45,
109,
32,
34,
114,
101,
109,
111,
118,
101,
32,
99,
111,
109,
112,
111,
110,
101,
110,
116,
115,
32,
102,
114,
111,
109,
32,
116,
111,
111,
108,
99,
104,
97,
105,
110,
32,
102,
105,
108,
101,
34,
32,
114,
117,
115,
116,
45,
116,
111,
111,
108,
99,
104,
97,
105,
110,
46,
116,
111,
109,
108,
10,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 868806744
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "[detached HEAD 34b76ae03] remove components from toolchain file\n 1 file changed, 1 deletion(-)\n",
"stderr": "+ sed -i /components/d rust-toolchain.toml\n+ git config set user.name 'Ambient CI'\n+ git config set user.email ambient@example.com\n+ git commit -m 'remove components from toolchain file' rust-toolchain.toml\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 993808523
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 994270432
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 994466668
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234068,
"nanos_since_epoch": 994477176
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 35543824
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 35996750
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 93018788
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 93504760
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 112434961
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
102,
109,
116
]
},
{
"Unix": [
45,
45,
99,
104,
101,
99,
107
]
}
],
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 115124493
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 954968351
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 957192700
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 959067299
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 960989349
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 971777630
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234069,
"nanos_since_epoch": 974380132
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234070,
"nanos_since_epoch": 3036172
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234070,
"nanos_since_epoch": 3690388
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234070,
"nanos_since_epoch": 19843966
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
},
{
"Unix": [
45,
45,
97,
108,
108,
45,
116,
97,
114,
103,
101,
116,
115
]
},
{
"Unix": [
45,
45,
110,
111,
45,
100,
101,
112,
115
]
},
{
"Unix": [
45,
45
]
},
{
"Unix": [
45,
45,
100,
101,
110,
121
]
},
{
"Unix": [
119,
97,
114,
110,
105,
110,
103,
115
]
}
],
"timestamp": {
"secs_since_epoch": 1782234070,
"nanos_since_epoch": 20296623
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Checking radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\n Checking radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)\n Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.24.0 (/ci/src/crates/radicle)\n Checking radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n Checking radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Checking radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n Checking radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n Checking radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n Checking radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n Checking radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n Checking radicle-schemars v0.8.0 (/ci/src/crates/radicle-schemars)\n Checking radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.50s\n",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 600975912
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 623315503
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 625347132
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 627314714
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 638326818
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 638769884
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 670001279
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 672776066
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 687339464
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
98,
117,
105,
108,
100
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
},
{
"Unix": [
45,
45,
97,
108,
108,
45,
116,
97,
114,
103,
101,
116,
115
]
}
],
"timestamp": {
"secs_since_epoch": 1782234082,
"nanos_since_epoch": 690115315
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Compiling radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\n Compiling radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.24.0 (/ci/src/crates/radicle)\n Compiling radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n Compiling radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n Compiling radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n Compiling radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n Compiling radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n Compiling radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n Compiling radicle-schemars v0.8.0 (/ci/src/crates/radicle-schemars)\n Compiling radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.34s\n",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 91937437
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 115529279
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 117463588
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 119490773
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 130409746
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 130850164
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 162054848
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 164787991
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 179421749
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
116,
101,
115,
116
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
}
],
"timestamp": {
"secs_since_epoch": 1782234114,
"nanos_since_epoch": 179876449
},
"log_source": "Plan"
}{
"type": "program_failed",
"exit_code": 101,
"stdout": "\nrunning 383 tests\ntest canonical::formatter::test::ascii_control_characters ... ok\ntest canonical::formatter::test::ordered_nested_object ... ok\ntest canonical::formatter::test::securesystemslib_asserts ... ok\ntest cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok\ntest cob::cache::tests::test_check_version ... ok\ntest cob::cache::migrations::_2::tests::test_migration_2 ... ok\ntest cob::cache::tests::test_migrate_to ... ok\ntest cob::common::test::test_color ... ok\ntest cob::common::test::test_emojis ... ok\ntest cob::common::test::test_title ... ok\ntest cob::identity::test::prop_json_eq_str ... ok\ntest cob::identity::test::test_identity_redact_revision ... ok\ntest cob::identity::test::test_identity_reject_concurrent ... ok\ntest cob::identity::test::test_identity_remove_delegate_concurrent ... ok\ntest cob::identity::test::test_identity_updates ... ok\ntest cob::identity::test::test_identity_update_rejected ... ok\ntest cob::identity::test::test_identity_updates_concurrent ... ok\ntest cob::identity::test::test_identity_updates_concurrent_outdated ... ok\ntest cob::issue::cache::tests::test_counts ... ok\ntest cob::issue::cache::tests::test_get ... ok\ntest cob::issue::cache::tests::test_is_empty ... ok\ntest cob::issue::cache::tests::test_list ... ok\ntest cob::issue::cache::tests::test_list_by_status ... ok\ntest cob::issue::cache::tests::test_remove ... ok\ntest cob::identity::test::test_valid_identity ... ok\ntest cob::issue::test::test_embeds ... ok\ntest cob::issue::test::test_embeds_edit ... ok\ntest cob::issue::test::test_invalid_actions ... ok\ntest cob::issue::test::test_invalid_cob ... ok\ntest cob::issue::test::test_concurrency ... ok\ntest cob::issue::test::test_invalid_tx ... ok\ntest cob::issue::test::test_invalid_tx_reference ... ok\ntest cob::issue::test::test_issue_all ... ok\ntest cob::issue::test::test_issue_comment ... ok\ntest cob::issue::test::test_issue_create_and_assign ... ok\ntest cob::issue::test::test_issue_comment_redact ... ok\ntest cob::issue::test::test_issue_create_and_get ... ok\ntest cob::issue::test::test_issue_create_and_change_state ... ok\ntest cob::issue::test::test_issue_create_and_unassign ... ok\ntest cob::issue::test::test_issue_create_and_reassign ... ok\ntest cob::issue::test::test_issue_edit ... ok\ntest cob::issue::test::test_issue_edit_description ... ok\ntest cob::issue::test::test_issue_multilines ... ok\ntest cob::issue::test::test_issue_label ... ok\ntest cob::issue::test::test_issue_react ... ok\ntest cob::issue::test::test_issue_state_serde ... ok\ntest cob::issue::test::test_ordering ... ok\ntest cob::patch::actions::test::test_review_edit ... ok\ntest cob::issue::test::test_issue_reply ... ok\ntest cob::patch::cache::tests::test_counts ... ok\ntest cob::patch::cache::tests::test_get ... ok\ntest cob::patch::cache::tests::test_is_empty ... ok\ntest cob::patch::cache::tests::test_list ... ok\ntest cob::patch::cache::tests::test_list_by_status ... ok\ntest cob::patch::cache::tests::test_remove ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_null_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_with_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_without_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_v2 ... ok\ntest cob::patch::encoding::review::test::test_review_summary ... ok\ntest cob::patch::test::test_json ... ok\ntest cob::patch::test::test_json_serialisation_target ... ok\ntest cob::patch::test::test_json_serialization ... ok\ntest cob::patch::test::test_merge_target_resolution ... ok\ntest cob::patch::test::test_patch_create_and_get ... ok\ntest cob::patch::test::test_patch_discussion ... ok\ntest cob::patch::test::test_patch_merge ... ok\ntest cob::patch::test::test_patch_merge_authorization_ref_formats ... ok\ntest cob::patch::test::test_patch_merge_custom_destination_authorized ... ok\ntest cob::patch::test::test_patch_merge_custom_destination_unauthorized ... ok\ntest cob::patch::test::test_patch_redact ... ok\ntest cob::patch::test::test_patch_review ... ok\ntest cob::patch::test::test_patch_review_comment ... ok\ntest cob::patch::test::test_patch_review_duplicate ... ok\ntest cob::patch::test::test_patch_review_edit ... ok\ntest cob::patch::test::test_patch_review_edit_comment ... ok\ntest cob::patch::test::test_patch_review_remove_summary ... ok\ntest cob::patch::cache::tests::test_find_by_revision ... ok\ntest cob::patch::test::test_patch_review_revision_redact ... ok\ntest cob::patch::test::test_reactions_json_serialization ... ok\ntest cob::patch::test::test_revision_edit_redact ... ok\ntest cob::patch::test::test_revision_reaction ... ok\ntest cob::patch::test::test_revision_review_merge_redacted ... ok\ntest cob::patch::test::test_target_branch ... ok\ntest cob::patch::test::test_patch_update ... ok\ntest cob::stream::tests::test_all_from ... ok\ntest cob::stream::tests::test_all_until ... ok\ntest cob::stream::tests::test_all_from_until ... ok\ntest cob::stream::tests::test_from_until ... ok\ntest cob::stream::tests::test_regression_from_until ... ok\ntest cob::thread::tests::test_comment_edit_missing ... ok\ntest cob::thread::tests::test_comment_edit_redacted ... ok\ntest cob::thread::tests::test_comment_redact_missing ... ok\ntest cob::thread::tests::test_duplicate_comments ... ok\ntest cob::thread::tests::test_edit_comment ... ok\ntest cob::thread::tests::test_redact_comment ... ok\ntest cob::thread::tests::test_timeline ... ok\ntest git::canonical::protect::tests::refs_rad ... ok\ntest git::canonical::protect::tests::refs_rad_id ... ok\ntest git::canonical::protect::tests::refs_radieschen ... ok\ntest git::canonical::quorum::test::merge_base_commutative ... ok\ntest git::canonical::quorum::test::test_merge_bases ... ok\ntest git::canonical::rules::test::canonical ... ok\ntest git::canonical::rules::test::deserialization ... ok\ntest git::canonical::rules::test::deserialize_extensions ... ok\ntest git::canonical::rules::test::matches_exactly_curly_braces ... ok\ntest git::canonical::rules::test::matches_expands_globs_appropriately ... ok\ntest git::canonical::rules::test::ordering ... ok\ntest git::canonical::rules::test::property::identity ... ok\ntest git::canonical::rules::test::property::prefix ... ok\ntest git::canonical::rules::test::property::prefix_negative ... ok\ntest git::canonical::rules::test::property::suffix ... ok\ntest git::canonical::rules::test::property::suffix_negative ... ok\ntest git::canonical::rules::test::property::trailing_asterisk_partial_component ... ok\ntest git::canonical::rules::test::roundtrip ... ok\ntest git::canonical::rules::test::rule_validate_failures ... ok\ntest git::canonical::rules::test::rule_validate_success ... ok\ntest git::canonical::rules::test::special_branches ... ok\ntest git::canonical::symbolic::test::deserialize_infinite ... ok\ntest git::canonical::symbolic::test::deserialize_order ... ok\ntest git::canonical::symbolic::test::deserialize_valid ... ok\ntest git::canonical::symbolic::test::infinite_extend ... ok\ntest git::canonical::symbolic::test::infinite_multi ... ok\ntest git::canonical::symbolic::test::infinite_single ... ok\ntest git::canonical::symbolic::test::reclassification_combine ... ok\ntest git::canonical::symbolic::test::reclassification_combine_reverse ... ok\ntest git::canonical::symbolic::test::reclassification_diamond ... ok\ntest git::canonical::symbolic::test::reclassification_order_invariant ... ok\ntest git::canonical::symbolic::test::reclassification_reverse_chain ... ok\ntest git::canonical::symbolic::test::resolve_two_hop_chain ... ok\ntest git::canonical::symbolic::test::target_classification ... ok\ntest git::canonical::symbolic::test::target_classification_symbolic ... ok\ntest git::canonical::symbolic::test::target_reclassification ... ok\ntest git::canonical::symbolic::test::target_reclassification_commutative ... ok\ntest git::canonical::tests::test_commit_quorum_fork_of_a_fork ... ok\ntest git::canonical::tests::test_commit_quorum_forked_merge_commits ... ok\ntest git::canonical::tests::test_commit_quorum_groups ... ok\ntest git::canonical::tests::test_commit_quorum_linear ... ok\ntest git::canonical::tests::test_commit_quorum_merges ... ok\ntest git::canonical::tests::test_commit_quorum_single ... ok\ntest git::canonical::tests::test_commit_quorum_three_way_fork ... ok\ntest git::canonical::tests::test_commit_quorum_two_way_fork ... ok\ntest git::canonical::tests::test_quorum_different_types ... ok\ntest git::canonical::tests::test_quorum_properties ... ok\ntest git::canonical::tests::test_tag_quorum ... ok\ntest git::test::test_version_from_str ... ok\ntest git::test::test_version_ord ... ok\ntest identity::crefs::tests::invalid_clash ... ok\ntest identity::crefs::tests::invalid_clash_asterisk_name ... ok\ntest identity::crefs::tests::invalid_dangling ... ok\ntest identity::crefs::tests::omit_symbolic ... ok\ntest identity::crefs::tests::valid ... ok\ntest identity::crefs::tests::valid_asterisk_target ... ok\ntest identity::did::test::test_did_encode_decode ... ok\ntest identity::did::test::test_did_vectors ... ok\ntest identity::doc::test::default_branch_clash ... ok\ntest identity::doc::test::default_branch_without_project ... ok\ntest cob::thread::tests::prop_ordering ... ok\ntest identity::doc::test::test_canonical_doc ... ok\ntest identity::doc::test::test_canonical_example ... ok\ntest identity::doc::test::test_duplicate_dids ... ok\ntest identity::doc::test::test_future_version_error ... ok\ntest identity::doc::test::test_is_valid_version ... ok\ntest identity::doc::test::test_max_delegates ... ok\ntest identity::doc::test::test_not_found ... ok\ntest identity::doc::test::test_parse_version ... ok\ntest identity::doc::test::test_visibility_json ... ok\ntest identity::doc::update::test::test_can_update_crefs ... ok\ntest identity::doc::update::test::test_cannot_include_default_branch_rule ... ok\ntest identity::doc::update::test::test_default_branch_rule_exists_after_verification ... ok\ntest identity::project::test::test_project_name ... ok\ntest node::address::store::test::skip_invalid_address_type ... ok\ntest node::address::store::test::skip_mismatched_address_type ... ok\ntest node::address::store::test::test_alias ... ok\ntest node::address::store::test::test_disconnected ... ok\ntest node::address::store::test::test_disconnected_ban ... ok\ntest node::address::store::test::test_empty ... ok\ntest node::address::store::test::test_entries ... ok\ntest node::address::store::test::test_entries_skips_unparsable_address ... ok\ntest node::address::store::test::test_get_none ... ok\ntest node::address::store::test::test_insert_and_get ... ok\ntest node::address::store::test::test_insert_and_remove ... ok\ntest node::address::store::test::test_insert_and_update ... ok\ntest node::address::store::test::test_insert_duplicate ... ok\ntest node::address::store::test::test_node_aliases ... ok\ntest node::address::store::test::test_remove_nothing ... ok\ntest node::command::test::command_result ... ok\ntest node::config::test::deserialize_migrating_scope ... ok\ntest node::config::test::fetch_level_min ... ok\ntest node::config::test::onion_absent ... ok\ntest node::config::test::onion_null ... ok\ntest node::config::test::partial ... ok\ntest node::config::test::regression_ipv6_address_brackets ... ok\ntest node::config::test::regression_ipv6_address_no_brackets ... ok\ntest node::config::test::serialize_migrating_scope ... ok\ntest node::config::test::user_agent_custom ... ok\ntest node::config::test::user_agent_default ... ok\ntest node::config::test::user_agent_default_explicit ... ok\ntest node::config::test::user_agent_opt_out ... ok\ntest node::db::config::test::database_config_valid_combinations ... ok\ntest node::db::config::test::invalid ... ok\ntest node::db::test::migration_8::all_ipv6_formatted_dns_addresses_are_retyped ... ok\ntest node::db::test::migration_8::dns_address_starting_with_bracket_but_missing_closing_bracket_colon_is_unaffected ... ok\ntest node::db::test::migration_8::dns_address_with_bracket_not_at_start_is_unaffected ... ok\ntest node::db::test::migration_8::ipv4_address_is_unaffected ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_deleted_when_correct_ipv6_row_already_exists ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_retyped_to_ipv6 ... ok\ntest node::db::test::migration_8::migration_applies_to_all_nodes ... ok\ntest node::db::test::migration_8::plain_dns_hostname_without_brackets_is_unaffected ... ok\ntest node::db::test::migration_8::retype_preserves_address_metadata ... ok\ntest node::db::test::migration_9::bracketed_non_ipv6_garbage_is_deleted ... ok\ntest node::db::test::migration_9::dns_row_is_unaffected_even_when_inner_part_has_no_colon ... ok\ntest node::db::test::migration_9::empty_brackets_ipv6_row_is_deleted ... ok\ntest node::db::test::migration_9::full_ipv6_address_is_kept ... ok\ntest node::db::test::migration_9::ipv4_row_is_unaffected ... ok\ntest node::db::test::migration_9::loopback_address_is_kept ... ok\ntest node::db::test::migration_9::unspecified_address_is_kept ... ok\ntest node::db::test::test_version ... ok\ntest node::features::test::test_operations ... ok\ntest node::notifications::store::test::test_branch_notifications ... ok\ntest node::notifications::store::test::test_clear ... ok\ntest node::notifications::store::test::test_cob_notifications ... ok\ntest node::notifications::store::test::test_counts_by_repo ... ok\ntest node::notifications::store::test::test_duplicate_notifications ... ok\ntest node::notifications::store::test::test_notification_status ... ok\ntest node::policy::store::test::test_follow_and_unfollow_node ... ok\ntest node::policy::store::test::test_node_aliases ... ok\ntest node::policy::store::test::test_node_policies ... ok\ntest node::policy::store::test::test_node_policy ... ok\ntest node::policy::store::test::test_repo_policies ... ok\ntest node::policy::store::test::test_repo_policy ... ok\ntest node::policy::store::test::test_seed_and_unseed_repo ... ok\ntest node::policy::store::test::test_update_alias ... ok\ntest node::policy::store::test::test_update_scope ... ok\ntest node::refs::store::test::test_count ... ok\ntest node::refs::store::test::test_set_and_delete ... ok\ntest node::refs::store::test::test_set_and_get ... ok\ntest node::routing::test::test_count ... ok\ntest node::routing::test::test_entries ... ok\ntest node::routing::test::test_insert_and_get ... ok\ntest node::routing::test::test_insert_and_get_resources ... ok\ntest node::routing::test::test_insert_and_remove ... ok\ntest node::routing::test::test_insert_duplicate ... ok\ntest node::routing::test::test_insert_existing_updated_time ... ok\ntest node::routing::test::test_len ... ok\ntest node::routing::test::test_prune ... ok\ntest node::routing::test::test_remove_many ... ok\ntest node::routing::test::test_remove_redundant ... ok\ntest node::routing::test::test_update_existing_multi ... ok\ntest node::sync::announce::test::all_synced_nodes_are_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_adapts_target_to_reach ... ok\ntest node::sync::announce::test::announcer_preferred_seeds_or_replica_factor ... ok\ntest node::sync::announce::test::announcer_reached_max_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_min_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_synced_with_unknown_node ... ok\ntest node::sync::announce::test::announcer_timed_out ... ok\ntest node::sync::announce::test::announcer_with_replication_factor_zero_and_preferred_seeds ... ok\ntest node::sync::announce::test::cannot_construct_announcer ... ok\ntest node::sync::announce::test::construct_node_appears_in_multiple_input_sets ... ok\ntest node::sync::announce::test::construct_only_preferred_seeds_provided ... ok\ntest node::sync::announce::test::invariant_progress_should_match_state ... ok\ntest node::sync::announce::test::local_node_in_multiple_sets ... ok\ntest node::sync::announce::test::local_node_in_preferred_seeds ... ok\ntest node::sync::announce::test::local_node_in_synced_set ... ok\ntest node::sync::announce::test::local_node_in_unsynced_set ... ok\ntest node::sync::announce::test::local_node_only_in_all_sets_results_in_no_seeds_error ... ok\ntest node::sync::announce::test::preferred_seeds_already_synced ... ok\ntest node::sync::announce::test::synced_with_local_node_is_ignored ... ok\ntest node::sync::announce::test::synced_with_same_node_multiple_times ... ok\ntest node::sync::announce::test::timed_out_after_reaching_success ... ok\ntest node::sync::fetch::test::all_nodes_are_candidates ... ok\ntest node::sync::fetch::test::all_nodes_are_fetchable ... ok\ntest node::sync::fetch::test::could_not_reach_target ... ok\ntest node::sync::fetch::test::ignores_duplicates_and_local_node ... ok\ntest node::sync::fetch::test::preferred_seeds_target_returned_over_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_max_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_preferred_seeds ... ok\ntest node::sync::fetch::test::reaches_target_of_replicas ... ok\ntest node::sync::test::ensure_replicas_construction ... ok\ntest node::sync::test::replicas_constrain_to ... ok\ntest node::test::test_address ... ok\ntest node::test::test_alias ... ok\ntest node::test::test_command_result ... ok\ntest node::test::test_user_agent ... ok\ntest node::timestamp::tests::test_timestamp_max ... ok\ntest profile::config::test::schema ... ok\ntest profile::test::canonicalize_home ... ok\ntest profile::test::test_config ... ok\ntest rad::tests::test_checkout ... ok\ntest rad::tests::test_fork ... ok\ntest rad::tests::test_init ... ok\ntest storage::git::tests::test_references_of ... ok\ntest storage::git::tests::test_sign_refs ... ok\ntest storage::git::transport::local::url::test::test_url_parse ... ok\ntest storage::git::transport::local::url::test::test_url_to_string ... ok\ntest storage::git::transport::remote::url::test::test_url_parse ... ok\ntest identity::doc::test::prop_encode_decode ... ok\ntest storage::refs::sigrefs::git::properties::idempotent_write ... ok\ntest storage::refs::sigrefs::git::properties::initial_commit_roundtrip ... ok\ntest storage::refs::sigrefs::property::idempotent ... ok\ntest storage::refs::sigrefs::git::properties::chain_roundtrip ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::identity_root_error ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::missing_commit ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::too_many_parents ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::tree_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::doc_blob_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::missing_identity ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_none ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_some ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::find_reference_error ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::missing_sigrefs ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::resolve_tip_ok ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::restore ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root_with_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_mismatched_identity_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_signature_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::invalid_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_no_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::alternating ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::chain ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::multiple ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::root_at_head ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::single_commit ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::two_commits ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_verify_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_both ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_refs ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_signature ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_signature_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_signature_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::tree_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_commit_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::no_head ... ok\ntest storage::refs::sigrefs::write::test::head_reader::read_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::reference_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_parse_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_parse_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::commit_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::head_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::never_write_rad_sigrefs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::reference_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged_force_writes_new_commit ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::sign_error ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_tree_error ... ok\ntest storage::refs::tests::prop_canonical_roundtrip ... ok\ntest storage::refs::tests::test_rid_verification ... ok\ntest storage::tests::test_storage ... ok\ntest test::assert::test::assert_with_message ... ok\ntest test::assert::test::test_assert_no_move ... ok\ntest test::assert::test::test_assert_panic_0 - should panic ... ok\ntest test::assert::test::test_assert_panic_1 - should panic ... ok\ntest test::assert::test::test_assert_panic_2 - should panic ... ok\ntest test::assert::test::test_assert_succeed ... ok\ntest test::assert::test::test_panic_message ... ok\ntest version::test::test_version ... ok\ntest web::test::description_only ... ok\ntest web::test::pinned_empty ... ok\ntest storage::refs::sigrefs::property::roundtrip ... ok\n\ntest result: ok. 383 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.32s\n\n\nrunning 46 tests\ntest commands::block::args::test::should_not_parse ... ok\ntest commands::block::args::test::should_parse_nid ... ok\ntest commands::block::args::test::should_parse_rid ... ok\ntest commands::clone::args::test::should_parse_rid_non_urn ... ok\ntest commands::clone::args::test::should_parse_rid_url ... ok\ntest commands::clone::args::test::should_parse_rid_urn ... ok\ntest commands::cob::args::test::should_allow_log_json_format ... ok\ntest commands::cob::args::test::should_allow_log_pretty_format ... ok\ntest commands::cob::args::test::should_allow_show_json_format ... ok\ntest commands::cob::args::test::should_allow_update_json_format ... ok\ntest commands::cob::args::test::should_not_allow_show_pretty_format ... ok\ntest commands::fork::args::test::should_not_parse_rid_url ... ok\ntest commands::cob::args::test::should_not_allow_update_pretty_format ... ok\ntest commands::fork::args::test::should_parse_rid_non_urn ... ok\ntest commands::fork::args::test::should_parse_rid_urn ... ok\ntest commands::id::args::test::should_not_clobber_payload_args ... ok\ntest commands::id::args::test::should_not_parse_into_payload - should panic ... ok\ntest commands::id::args::test::should_not_parse_single_payload ... ok\ntest commands::id::args::test::should_parse_into_payload ... ok\ntest commands::id::args::test::should_not_parse_single_payloads ... ok\ntest commands::id::args::test::should_parse_multiple_payloads ... ok\ntest commands::init::args::test::should_not_parse_rid_url ... ok\ntest commands::id::args::test::should_parse_single_payload ... ok\ntest commands::init::args::test::should_parse_rid_non_urn ... ok\ntest commands::init::args::test::should_parse_rid_urn ... ok\ntest commands::inspect::test::test_tree ... ok\ntest commands::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::patch::review::builder::tests::test_review_comments_before ... ok\ntest commands::patch::review::builder::tests::test_review_comments_multiline ... ok\ntest commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok\ntest commands::publish::args::test::should_not_parse_rid_url ... ok\ntest commands::publish::args::test::should_parse_rid_non_urn ... ok\ntest commands::publish::args::test::should_parse_rid_urn ... ok\ntest git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok\ntest git::pretty_diff::test::test_pretty ... ignored\ntest commands::watch::args::test::should_parse_ref_str ... ok\ntest git::unified_diff::test::test_diff_content_encode_decode_content ... ok\ntest git::unified_diff::test::test_diff_encode_decode_diff ... ok\ntest terminal::args::test::should_not_parse ... ok\ntest terminal::args::test::should_parse_nid ... ok\ntest terminal::args::test::should_parse_rid ... ok\ntest terminal::format::test::test_bytes ... ok\ntest terminal::format::test::test_strip_comments ... ok\ntest terminal::patch::test::test_create_display_message ... ok\ntest terminal::patch::test::test_edit_display_message ... ok\ntest terminal::patch::test::test_update_display_message ... ok\n\ntest result: ok. 45 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 126 tests\ntest commands::clone::rad_clone ... ok\ntest commands::checkout::rad_checkout ... ok\ntest commands::clone::rad_clone_bare ... ok\ntest commands::clone::rad_clone_connect ... ok\ntest commands::clone::rad_clone_all ... ok\ntest commands::clone::rad_clone_directory ... ok\ntest commands::clone::rad_clone_partial_fail ... ok\ntest commands::clone::rad_clone_unknown ... ok\ntest commands::clone::test_clone_without_seeds ... ok\ntest commands::clone::rad_clone_scope ... ok\ntest commands::cob::rad_cob_migrate ... ok\ntest commands::cob::rad_cob_log ... ok\ntest commands::cob::rad_cob_multiset ... ok\ntest commands::cob::rad_cob_operations ... ok\ntest commands::cob::rad_cob_show ... ok\ntest commands::cob::rad_cob_update_identity ... ok\ntest commands::cob::rad_cob_update ... ok\ntest commands::cob::test_cob_deletion ... ok\ntest commands::cob::test_cob_replication ... ok\ntest commands::git::git_push_amend ... ok\ntest commands::git::git_push_and_fetch ... ok\ntest commands::git::git_push_canonical_lightweight_tags ... ok\ntest commands::git::git_push_canonical ... ok\ntest commands::git::git_push_diverge ... ok\ntest commands::git::git_push_converge ... ok\ntest commands::git::git_push_force_with_lease ... ok\ntest commands::git::git_push_rollback ... ok\ntest commands::git::git_tag ... ok\ntest commands::id::rad_id_collaboration ... ignored, slow\ntest commands::id::rad_id ... ok\ntest commands::id::rad_id_conflict ... ok\ntest commands::id::rad_id_private ... ok\ntest commands::id::rad_id_multi_delegate ... ok\ntest commands::id::rad_id_threshold ... ok\ntest commands::id::rad_id_threshold_soft_fork ... ok\ntest commands::id::rad_id_unknown_field ... ok\ntest commands::id::rad_id_unauthorized_delegate ... ok\ntest commands::id::rad_id_update_delete_field ... ok\ntest commands::init::rad_init ... ignored, part of many other tests\ntest commands::init::rad_init_bare ... ok\ntest commands::init::rad_init_detached_head ... ok\ntest commands::init::rad_init_existing ... ok\ntest commands::init::rad_init_existing_bare ... ok\ntest commands::init::rad_init_no_git ... ok\ntest commands::init::rad_init_no_seed ... ok\ntest commands::init::rad_init_private ... ok\ntest commands::inbox::rad_inbox ... ok\ntest commands::init::rad_init_private_clone ... ok\ntest commands::init::rad_init_private_no_seed ... ok\ntest commands::init::rad_init_private_clone_seed ... ok\ntest commands::init::rad_init_private_seed ... ok\ntest commands::init::rad_init_sync_not_connected ... ok\ntest commands::init::rad_init_sync_preferred ... ok\ntest commands::init::rad_init_sync_and_clone ... ok\ntest commands::init::rad_init_with_existing_remote ... ok\ntest commands::init::rad_init_sync_timeout ... ok\ntest commands::init::rad_publish ... ok\ntest commands::issue::rad_issue ... ok\ntest commands::jj::rad_jj_bare ... ignored, the bare repository does not have a `rad` remote, and so it cannot determine the RID of the repository\ntest commands::jj::rad_jj_colocated_patch ... ok\ntest commands::issue::rad_issue_list ... ok\ntest commands::node::rad_node_connect ... ok\ntest commands::node::rad_node_connect_without_address ... ok\ntest commands::patch::rad_merge_after_update ... ok\ntest commands::patch::rad_merge_no_ff ... ok\ntest commands::node::rad_node ... ok\ntest commands::patch::rad_merge_via_push ... ok\ntest commands::patch::rad_patch_ahead_behind ... ok\ntest commands::patch::rad_patch ... ok\ntest commands::patch::rad_patch_change_base ... ok\ntest commands::patch::rad_patch_checkout ... ok\ntest commands::patch::rad_patch_checkout_revision ... ok\ntest commands::patch::rad_patch_checkout_force ... ok\ntest commands::patch::rad_patch_detached_head ... ok\ntest commands::patch::rad_patch_diff ... ok\ntest commands::patch::rad_patch_draft ... ok\ntest commands::patch::rad_patch_edit ... ok\ntest commands::patch::rad_patch_delete ... ok\ntest commands::patch::rad_patch_fetch_2 ... ok\ntest commands::patch::rad_patch_fetch_1 ... ok\ntest commands::patch::rad_patch_merge_draft ... ok\ntest commands::patch::rad_patch_magic_push ... ok\ntest commands::patch::rad_patch_merge_into_canonical_ref_branch ... ok\ntest commands::patch::rad_patch_merge_on_first_push ... ok\ntest commands::patch::rad_patch_merge_unauthorized_branch ... ok\ntest commands::patch::rad_patch_merge_wrong_branch ... ok\ntest commands::patch::rad_patch_open_explore ... ok\ntest commands::patch::rad_patch_revert_custom_branch ... ok\ntest commands::patch::rad_patch_revert_merge ... ok\ntest commands::patch::rad_patch_review_no_options ... ok\ntest commands::patch::rad_patch_update ... ok\ntest commands::patch::rad_patch_via_push ... ok\ntest commands::patch::rad_push_and_pull_patches ... ok\ntest commands::patch::rad_review_by_hunk ... ok\ntest commands::policy::rad_block ... ok\ntest commands::policy::rad_seed_and_follow ... ok\ntest commands::patch::rad_patch_pull_update ... ok\ntest commands::policy::rad_seed_policy_allow_no_scope ... ok\ntest commands::policy::rad_seed_scope ... ok\ntest commands::policy::rad_unseed ... ok\ntest commands::policy::rad_unseed_many ... ok\ntest commands::policy::rad_seed_many ... ok\ntest commands::sigpipe::config ... ok\ntest commands::sigpipe::help ... ok\ntest commands::sigpipe::rad_self ... ok\ntest commands::remote::rad_remote ... ok\ntest commands::sync::rad_sync ... ok\ntest commands::sync::rad_sync_without_node ... ok\ntest commands::sync::rad_fetch ... ok\ntest commands::utility::framework_home ... ok\ntest commands::utility::rad_auth ... ok\ntest commands::utility::rad_auth_errors ... ok\ntest commands::utility::rad_clean ... ok\ntest commands::utility::rad_config ... ok\ntest commands::utility::rad_diff ... ok\ntest commands::sync::test_replication_via_seed ... ok\ntest commands::utility::rad_help ... ok\ntest commands::utility::rad_inspect ... ok\ntest commands::utility::rad_key_mismatch ... ok\ntest commands::utility::rad_self ... ok\ntest commands::utility::rad_warn_ipv6 ... ok\ntest commands::utility::rad_warn_old_nodes ... ok\ntest commands::watch::rad_watch ... ok\ntest commands::workflow::rad_workflow ... ok\ntest commands::utility::rad_fork ... ok\ntest rad_remote ... ok\n\ntest result: ok. 123 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 62.04s\n\n\nrunning 3 tests\ntest tests::test_parse ... ok\ntest tests::test_run ... ok\ntest tests::test_example_spaced_brackets ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 9 tests\ntest object::tests::test_serde ... ok\ntest tests::git::roundtrip ... ok\ntest tests::git::list_cobs ... ok\ntest tests::git::traverse_cobs ... ok\ntest tests::git::update_cob ... ok\ntest tests::invalid_parse_refstr ... ok\ntest type_name::test::invalid_typenames ... ok\ntest type_name::test::valid_typenames ... ok\ntest tests::parse_refstr ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s\n\n\nrunning 4 tests\ntest repo::serde_impls::test::assert_prop_roundtrip_serde_json ... ok\ntest repo::test::invalid ... ok\ntest repo::test::valid ... ok\ntest repo::test::assert_prop_roundtrip_parse ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 11 tests\ntest ssh::agent::test::test_agent_encoding_remove ... ok\ntest ssh::fmt::test::test_fingerprint ... ok\ntest ssh::agent::test::test_agent_encoding_sign ... ok\ntest ssh::fmt::test::test_key ... ok\ntest ssh::keystore::tests::test_init_no_passphrase ... ok\ntest ssh::keystore::tests::test_signer ... ok\ntest tests::prop_encode_decode ... ok\ntest tests::prop_key_equality ... ok\ntest tests::test_e25519_dh ... ok\ntest tests::test_encode_decode ... ok\ntest ssh::keystore::tests::test_init_passphrase ... ok\n\ntest result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s\n\n\nrunning 20 tests\ntest tests::test_contains ... ok\ntest tests::test_cycle ... ok\ntest tests::test_dependencies ... ok\ntest tests::test_diamond ... ok\ntest tests::test_fold_diamond ... ok\ntest tests::test_fold_multiple_roots ... ok\ntest tests::test_fold_reject ... ok\ntest tests::test_fold_sorting_1 ... ok\ntest tests::test_fold_sorting_2 ... ok\ntest tests::test_get ... ok\ntest tests::test_is_empty ... ok\ntest tests::test_len ... ok\ntest tests::test_merge_1 ... ok\ntest tests::test_merge_2 ... ok\ntest tests::test_prune_1 ... ok\ntest tests::test_prune_2 ... ok\ntest tests::test_complex ... ok\ntest tests::test_remove ... ok\ntest tests::test_prune_by_sorting ... ok\ntest tests::test_siblings ... ok\n\ntest result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 24 tests\ntest commit::parse::test::error::invalid_author ... ok\ntest commit::parse::test::error::invalid_committer ... ok\ntest commit::parse::test::error::invalid_format_continuation_without_preceding_header ... ok\ntest commit::parse::test::error::invalid_parent ... ok\ntest commit::parse::test::error::invalid_tree ... ok\ntest commit::parse::test::error::missing_author ... ok\ntest commit::parse::test::error::missing_committer ... ok\ntest commit::parse::test::error::missing_header_body_separator ... ok\ntest commit::parse::test::error::missing_tree_empty_header ... ok\ntest commit::parse::test::error::missing_tree_wrong_first_line ... ok\ntest commit::parse::test::success::commit_gpgsig_is_preserved_and_strip_removes_it ... ok\ntest commit::parse::test::success::commit_last_paragraph_kept_in_message_when_not_all_trailers ... ok\ntest commit::parse::test::success::commit_with_extra_headers ... ok\ntest commit::parse::test::success::commit_with_multiline_gpgsig ... ok\ntest commit::parse::test::success::commit_with_single_parent ... ok\ntest commit::parse::test::success::commit_with_trailers ... ok\ntest commit::parse::test::success::merge_commit ... ok\ntest commit::parse::test::success::root_commit ... ok\ntest commit::parse::test::success::roundtrip ... ok\ntest commit::parse::test::unit::body_last_paragraph_not_trailers_stays_in_message ... ok\ntest commit::parse::test::unit::body_no_paragraph_separator_means_no_trailers ... ok\ntest commit::parse::test::unit::trailers_accepts_empty_input ... ok\ntest commit::parse::test::unit::trailers_rejects_invalid_token_chars ... ok\ntest commit::parse::test::unit::trailers_rejects_line_without_separator ... ok\n\ntest result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 9 tests\ntest test::component ... ok\ntest test::component_invalid - should panic ... ok\ntest test::pattern ... ok\ntest test::qualified ... ok\ntest test::qualified_invalid - should panic ... ok\ntest test::qualified_pattern ... ok\ntest test::qualified_pattern_invalid - should panic ... ok\ntest test::refname ... ok\ntest test::refname_invalid - should panic ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest serde_impls::test::test_localtime ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 84 tests\ntest control::tests::test_control_socket ... ok\ntest control::tests::test_seed_unseed ... ok\ntest reactor::timer::tests::test_next ... ok\ntest reactor::timer::tests::test_wake ... ok\ntest reactor::timer::tests::test_wake_exact ... ok\ntest fingerprint::tests::matching ... ok\ntest tests::e2e::fetch_does_not_contain_rad_sigrefs_parent ... ok\ntest tests::e2e::missing_default_branch ... ok\ntest tests::e2e::missing_delegate_default_branch ... ok\ntest tests::e2e::test_background_foreground_fetch ... ok\ntest tests::e2e::test_block_prevents_connection ... ok\ntest tests::e2e::test_block_prevents_fetch ... ok\ntest tests::e2e::test_block_active_connection ... ok\ntest tests::e2e::test_catchup_on_refs_announcements ... ok\ntest tests::e2e::test_channel_reader_limit ... ok\ntest tests::e2e::test_clone ... ok\ntest tests::e2e::test_connection_crossing ... ok\ntest tests::e2e::test_dont_fetch_owned_refs ... ok\ntest tests::e2e::test_concurrent_fetches ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update_partial_glob ... ok\ntest tests::e2e::test_fetch_followed_remotes ... ok\ntest tests::e2e::test_fetch_preserve_owned_refs ... ok\ntest tests::e2e::test_fetch_unseeded ... ok\ntest tests::e2e::test_fetch_up_to_date ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update ... ok\ntest tests::e2e::test_inventory_sync_basic ... ok\ntest tests::e2e::test_inventory_sync_bridge ... ok\ntest tests::e2e::test_inventory_sync_ring ... ok\ntest tests::e2e::test_large_fetch ... ok\ntest tests::e2e::test_migrated_clone ... ok\ntest tests::e2e::test_missing_remote ... ok\ntest tests::e2e::test_multiple_offline_inits ... ok\ntest tests::e2e::test_non_fast_forward_identity_doc ... ok\ntest tests::e2e::test_non_fast_forward_sigrefs ... ok\ntest tests::e2e::test_outdated_delegate_sigrefs ... ok\ntest tests::e2e::test_outdated_sigrefs ... ok\ntest tests::e2e::test_replication ... ok\ntest tests::e2e::test_inventory_sync_star ... ok\ntest tests::e2e::test_replication_ref_in_sigrefs ... ok\ntest tests::e2e::test_replication_invalid ... ok\ntest tests::prop_inventory_exchange_dense ... ok\ntest tests::test_announcement_rebroadcast ... ok\ntest tests::test_announcement_rebroadcast_duplicates ... ok\ntest tests::test_announcement_rebroadcast_timestamp_filtered ... ok\ntest tests::test_announcement_relay ... ok\ntest tests::test_connection_kept_alive ... ok\ntest tests::test_disconnecting_unresponsive_peer ... ok\ntest tests::test_fetch_missing_inventory_on_gossip ... ok\ntest tests::test_fetch_missing_inventory_on_schedule ... ok\ntest tests::test_inbound_connection ... ok\ntest tests::test_init_and_seed ... ok\ntest tests::test_inventory_decode ... ok\ntest tests::test_inventory_pruning ... ok\ntest tests::test_inventory_relay ... ok\ntest tests::test_inventory_relay_bad_timestamp ... ok\ntest tests::test_inventory_sync ... ok\ntest tests::test_maintain_connections ... ok\ntest tests::test_maintain_connections_failed_attempt ... ok\ntest tests::test_maintain_connections_same_second_loop ... ok\ntest tests::test_maintain_connections_transient ... ok\ntest tests::test_orphaned_fetch_blocks_repo_from_all_nodes ... FAILED\ntest tests::test_announcement_message_amplification ... ok\ntest tests::test_persistent_peer_connect ... ok\ntest tests::test_outbound_connection ... ok\ntest tests::test_persistent_peer_reconnect_success ... ok\ntest tests::test_persistent_peer_reconnect_attempt ... ok\ntest tests::test_ping_response ... ok\ntest tests::test_queued_fetch_from_ann_same_rid ... ok\ntest tests::test_queued_fetch_from_command_same_rid ... ok\ntest tests::test_redundant_connect ... ok\ntest tests::test_queued_fetch_max_capacity ... ok\ntest tests::test_refs_announcement_followed ... ok\ntest tests::test_refs_announcement_no_subscribe ... ok\ntest tests::test_refs_announcement_fetch_trusted_no_inventory ... ok\ntest tests::test_refs_announcement_offline ... ok\ntest tests::test_refs_announcement_relay_private ... ok\ntest tests::test_refs_synced_event ... ok\ntest tests::test_refs_announcement_relay_public ... ok\ntest tests::test_seed_repo_subscribe ... ok\ntest wire::test::test_inventory_ann_with_extension ... ok\ntest wire::test::test_pong_message_with_extension ... ok\ntest tests::test_seeding ... ok\ntest wire::test::worker_result_clears_active_when_peer_connected ... ok\ntest wire::test::worker_result_clears_active_when_peer_disconnecting ... ok\n\nfailures:\n\n---- tests::test_orphaned_fetch_blocks_repo_from_all_nodes stdout ----\n[INFO test] alice: Initializing: id = z6MkmuqzWb7V64JqYmtsjGkEUpSKiHrDrqHA7FWqCm2pqcjz, address = 7.7.7.7\n[INFO service] Empty refs database, populating from storage..\n[INFO test] bob: Initializing: id = z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8, address = 8.8.8.8\n[INFO service] Empty refs database, populating from storage..\n[INFO service] Empty refs database, populating from storage..\n[INFO test] eve: Initializing: id = z6MktiTbb9VE7PDooYg168ncxMhWtsiiGSF7iTnMVZm5jwHg, address = 9.9.9.9\n[INFO service] Empty refs database, populating from storage..\n[INFO service] Empty refs database, populating from storage..\n[INFO service] Received command Connect(z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8, 8.8.8.8:8776, ConnectOptions { persistent: false, timeout: 30s })\n[WARN service] Failed to record IP address 8.8.8.8 for z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8: internal error: FOREIGN KEY constraint failed (code 19)\n[INFO service] Connected to z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8 (8.8.8.8:8776) (Outbound)\n[INFO service] Received command Fetch(rad:z31HGMCvNJhmUEb156mZLrhnRKg3M, z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8)\n[INFO service] Connected to z6MkrberYRT98qsWgPmedkzxD8TW2pCYoxb1jttrUo1FVFb8 (8.8.8.8:8776) (Inbound)\n\nthread 'tests::test_orphaned_fetch_blocks_repo_from_all_nodes' (28690) panicked at crates/radicle-node/src/tests.rs:1623:5:\nactive fetch should be orphaned\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n\n\nfailures:\n tests::test_orphaned_fetch_blocks_repo_from_all_nodes\n\ntest result: FAILED. 83 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.67s\n\n",
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-f47a7c2ba456ab00)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-6bfba036d8f69ef1)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-9617691c862a9839)\n Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-f88e037b1bdbeca7)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli_test-39ff3967fcfd38a1)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cob-1ff8ee99f73a113c)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_core-f9d12dcddf722a8f)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_crypto-296ceac40b7fe69b)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_dag-e10cdde88570a8e0)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_fetch-92b111a684cd2a9a)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_metadata-41b02b9ef3e2236d)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_ref_format-2868a65b3ff2c590)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_localtime-ec55a7767b981c91)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_log-aa8a5607eeb05b0d)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_node-aaa9e54e49654ece)\nerror: test failed, to rerun pass `-p radicle-node --lib`\n",
"timestamp": {
"secs_since_epoch": 1782234207,
"nanos_since_epoch": 860306539
},
"log_source": "Plan"
}{
"type": "action_failed",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1782234208,
"nanos_since_epoch": 433342171
},
"log_source": "Plan"
}{
"type": "executor_ends_in_failure",
"exit_code": 1,
"timestamp": {
"secs_since_epoch": 1782234208,
"nanos_since_epoch": 434091649
},
"log_source": "Plan"
}{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Updated",
"patch": {
"id": "c4d7407924da99d09988cf92efefdf26e4b47668",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"title": "Sans-IO Connection Management",
"state": {
"status": "open",
"conflicts": []
},
"before": "ee17109501428319311d18f9bfc339a2a6dec88b",
"after": "51a9f322482586cd0c5120fc5fd42fb3dd6c45b4",
"commits": [
"51a9f322482586cd0c5120fc5fd42fb3dd6c45b4",
"e97d3959635f80f72e4e2630afd17f2ec2a06761",
"9efc1f517b1781e3e53ba89f79b837b766520e2c",
"7af6654c7d3fd05cfce9b213cb9f3be4e04bcd98",
"d51aa2c50264355d122af3836222db39d5ffcc47",
"80961b01fdd98cf1765203fd4df8c5d9f48759f5",
"50f5ac63eaa6c5d2625b34be76756c559c1fcec4"
],
"target": "ee17109501428319311d18f9bfc339a2a6dec88b",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "c4d7407924da99d09988cf92efefdf26e4b47668",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "This patch defines the connection session management in a sans-IO\nfashion, and replaces the old logic in `Service`.\n\nIt is stacked on [patches/806043519e7439bebe26a66b247025ef5a7f8ef0](https://app.radicle.xyz/nodes/rosa.radicle.xyz/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/patches/806043519e7439bebe26a66b247025ef5a7f8ef0).",
"base": "a1c445fe8f3f7ef7f71d2159405d46edabdf3833",
"oid": "f2c71f424cdbfdbfa08a3e60f282eff9bd97ba09",
"timestamp": 1766601700
},
{
"id": "762c79b1a2a5616a4a2f7cd88f55ac0190bab160",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Rebase",
"base": "400573526421cebe8b5b4e3bfd1dbd5f349da147",
"oid": "a0480fff8237586945bd881070f3e3ea69cf3eb7",
"timestamp": 1767712650
},
{
"id": "da74376f141f9e82bd35bf55375101c4c36c9854",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Rebase",
"base": "6e0692a9a815855e7fe091cc6f0838980f3e3ce3",
"oid": "d20e3609784f8c842f25cb92f1270c2b009f1813",
"timestamp": 1768321430
},
{
"id": "641094e312d21bb0d79c097d4cbeee00f94bc8b6",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Changes:\n- Rebase\n- Adjusted log levels",
"base": "9cdd08ab83c92a212dbe52f93908a26f15879afd",
"oid": "d46587a98e20efb165c1b7fa81dac8c16c32d402",
"timestamp": 1769447954
},
{
"id": "92a80e499075868acceaaeaedf908b4d5aa178ee",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Rebase",
"base": "018266023a738c51b3a4bf6abef5bb16ee3b1181",
"oid": "2c322d2539e2960e9dd4cddac9e1766f521c7766",
"timestamp": 1781946583
},
{
"id": "f0070e2cc5b0f4e22f63e97f82ea4ea52462418e",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Changes:\n- Refactor testing organisation",
"base": "018266023a738c51b3a4bf6abef5bb16ee3b1181",
"oid": "7868dd1a16bd4ed97a771ebf271c4dc0483517fc",
"timestamp": 1782036654
},
{
"id": "eed47379050f319950eef7fd48ad5f9a219a8bd7",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Rebase",
"base": "ee17109501428319311d18f9bfc339a2a6dec88b",
"oid": "51a9f322482586cd0c5120fc5fd42fb3dd6c45b4",
"timestamp": 1782234018
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 ERROR: CI run failed inside QEMU
<empty log>