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": 1776805928,
"nanos_since_epoch": 588480815
},
"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": "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": {},
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 600419019
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 640069457
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 642455346
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 644585676
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 646897833
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 649163985
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 751364342
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1776805928,
"nanos_since_epoch": 753944123
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1776805930,
"nanos_since_epoch": 992735769
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776805930,
"nanos_since_epoch": 993206396
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 738340523
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 738791282
},
"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": 1776805945,
"nanos_since_epoch": 739000271
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 750491563
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 750904997
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 751144874
},
"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": 1776805945,
"nanos_since_epoch": 751151858
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 768361265
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 771154917
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 773680793
},
"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": 1776805945,
"nanos_since_epoch": 776278235
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 784160349
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 787008112
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 789654574
},
"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": 1776805945,
"nanos_since_epoch": 791522982
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 853398656
},
"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": 1776805945,
"nanos_since_epoch": 856069795
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805945,
"nanos_since_epoch": 967705479
},
"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": 1776805945,
"nanos_since_epoch": 970527081
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805946,
"nanos_since_epoch": 21834496
},
"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": 1776805946,
"nanos_since_epoch": 22517671
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805946,
"nanos_since_epoch": 975989489
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1776805946,
"nanos_since_epoch": 976432256
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1776805946,
"nanos_since_epoch": 976633882
},
"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": 1776805946,
"nanos_since_epoch": 976641939
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805947,
"nanos_since_epoch": 23029206
},
"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": 1776805947,
"nanos_since_epoch": 23568733
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805947,
"nanos_since_epoch": 118243534
},
"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": 1776805947,
"nanos_since_epoch": 121048089
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805947,
"nanos_since_epoch": 169428188
},
"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": 1776805947,
"nanos_since_epoch": 172089239
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Checking radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Checking radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Checking radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Checking radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Checking radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Checking radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Checking radicle-protocol v0.7.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.7.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 11.36s\n",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 676227185
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 676707999
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 676896196
},
"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": 1776805958,
"nanos_since_epoch": 676905900
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 742914590
},
"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": 1776805958,
"nanos_since_epoch": 743365129
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 835789492
},
"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": 1776805958,
"nanos_since_epoch": 836243316
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805958,
"nanos_since_epoch": 884593197
},
"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": 1776805958,
"nanos_since_epoch": 885046672
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Compiling radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Compiling radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Compiling radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Compiling radicle-protocol v0.7.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.7.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 17.69s\n",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 668288612
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 668841340
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 669052307
},
"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": 1776805976,
"nanos_since_epoch": 669061262
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 735601413
},
"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": 1776805976,
"nanos_since_epoch": 738301802
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 828897469
},
"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": 1776805976,
"nanos_since_epoch": 829351290
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776805976,
"nanos_since_epoch": 878386703
},
"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": 1776805976,
"nanos_since_epoch": 878901090
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "\nrunning 330 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::common::test::test_color ... ok\ntest cob::cache::tests::test_migrate_to ... ok\ntest cob::common::test::test_title ... ok\ntest cob::common::test::test_emojis ... 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::identity::test::test_valid_identity ... ok\ntest cob::issue::cache::tests::test_is_empty ... ok\ntest cob::issue::cache::tests::test_get ... ok\ntest cob::issue::cache::tests::test_list_by_status ... ok\ntest cob::issue::cache::tests::test_list ... ok\ntest cob::issue::cache::tests::test_remove ... 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_concurrency ... ok\ntest cob::issue::test::test_invalid_cob ... 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_comment_redact ... ok\ntest cob::issue::test::test_issue_create_and_assign ... 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::patch::cache::tests::test_counts ... ok\ntest cob::issue::test::test_issue_reply ... 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_serialization ... 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_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::test::test_patch_review_revision_redact ... ok\ntest cob::patch::test::test_patch_update ... 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::stream::tests::test_all_from ... ok\ntest cob::stream::tests::test_all_from_until ... ok\ntest cob::stream::tests::test_all_until ... ok\ntest cob::stream::tests::test_from_until ... ok\ntest cob::stream::tests::test_regression_from_until ... ok\ntest cob::thread::tests::prop_ordering ... 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::tests::test_canonical ... ok\ntest git::canonical::rules::tests::test_deserialization ... ok\ntest git::canonical::rules::tests::test_deserialize_extensions ... ok\ntest git::canonical::rules::tests::test_order ... ok\ntest git::canonical::rules::tests::test_roundtrip ... ok\ntest git::canonical::rules::tests::test_rule_validate_failures ... ok\ntest git::canonical::rules::tests::test_rule_validate_success ... ok\ntest git::canonical::rules::tests::test_special_branches ... 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::did::test::test_did_encode_decode ... ok\ntest identity::did::test::test_did_vectors ... ok\ntest cob::patch::cache::tests::test_find_by_revision ... 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::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_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::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 identity::doc::test::prop_encode_decode ... 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 profile::config::test::schema ... ok\ntest rad::tests::test_init ... ok\ntest storage::git::tests::test_references_of ... 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 storage::git::tests::test_sign_refs ... ok\ntest storage::refs::sigrefs::property::idempotent ... 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 storage::refs::sigrefs::property::roundtrip ... ok\n\ntest result: ok. 330 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.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::cob::args::test::should_not_allow_update_pretty_format ... ok\ntest commands::fork::args::test::should_not_parse_rid_url ... 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_parse_into_payload - should panic ... ok\ntest commands::id::args::test::should_not_clobber_payload_args ... 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::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::inspect::test::test_tree ... 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 commands::watch::args::test::should_parse_ref_str ... ok\ntest git::pretty_diff::test::test_pretty ... ignored\ntest git::ddiff::tests::diff_encode_decode_ddiff_hunk ... 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_strip_comments ... ok\ntest terminal::format::test::test_bytes ... ok\ntest terminal::patch::test::test_edit_display_message ... ok\ntest terminal::patch::test::test_create_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 115 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_all ... ok\ntest commands::clone::rad_clone_connect ... ok\ntest commands::clone::rad_clone_directory ... ok\ntest commands::clone::rad_clone_scope ... ok\ntest commands::clone::rad_clone_unknown ... ok\ntest commands::clone::rad_clone_partial_fail ... ok\ntest commands::clone::test_clone_without_seeds ... ok\ntest commands::cob::rad_cob_log ... ok\ntest commands::cob::rad_cob_migrate ... 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 ... ok\ntest commands::cob::rad_cob_update_identity ... 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_annotated_tags ... ok\ntest commands::git::git_push_canonical_lightweight_tags ... ok\ntest commands::git::git_push_diverge ... ok\ntest commands::git::git_push_force_with_lease ... ok\ntest commands::git::git_push_converge ... 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_update_delete_field ... ok\ntest commands::id::rad_id_unauthorized_delegate ... 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::inbox::rad_inbox ... 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::init::rad_init_private_clone_seed ... ok\ntest commands::init::rad_init_private_clone ... ok\ntest commands::init::rad_init_private_no_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_publish ... ok\ntest commands::issue::rad_issue ... ok\ntest commands::init::rad_init_sync_timeout ... ok\ntest commands::jj::rad_jj_bare ... ok\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 ... 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::patch::rad_merge_via_push ... ok\ntest commands::patch::rad_patch ... ok\ntest commands::patch::rad_patch_ahead_behind ... 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_delete ... ok\ntest commands::patch::rad_patch_edit ... 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_open_explore ... ok\ntest commands::patch::rad_patch_revert_merge ... ok\ntest commands::patch::rad_patch_update ... ok\ntest commands::patch::rad_patch_via_push ... ok\ntest commands::patch::rad_patch_pull_update ... 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::policy::rad_seed_policy_allow_no_scope ... ok\ntest commands::policy::rad_seed_scope ... ok\ntest commands::policy::rad_seed_many ... ok\ntest commands::policy::rad_unseed ... ok\ntest commands::policy::rad_unseed_many ... ok\ntest commands::remote::rad_remote ... ok\ntest commands::sync::rad_sync ... ok\ntest commands::sync::rad_fetch ... ok\ntest commands::sync::rad_sync_without_node ... 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_old_nodes ... ok\ntest commands::watch::rad_watch ... ok\ntest commands::utility::rad_fork ... ok\ntest rad_remote ... ok\ntest commands::workflow::rad_workflow ... ok\n\ntest result: ok. 113 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 164.19s\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::invalid_parse_refstr ... ok\ntest tests::git::update_cob ... 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.03s\n\n\nrunning 4 tests\ntest repo::test::assert_prop_roundtrip_parse ... ok\ntest repo::test::invalid ... ok\ntest repo::test::valid ... ok\ntest repo::serde_impls::test::assert_prop_roundtrip_serde_json ... 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_sign ... ok\ntest ssh::agent::test::test_agent_encoding_remove ... ok\ntest ssh::fmt::test::test_key ... ok\ntest ssh::fmt::test::test_fingerprint ... 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.30s\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_complex ... 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_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 1 test\ntest stage::test::valid_refspecs ... ok\n\ntest result: ok. 1 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_tree ... ok\ntest commit::parse::test::error::invalid_parent ... ok\ntest commit::parse::test::error::missing_author ... ok\ntest commit::parse::test::error::missing_header_body_separator ... ok\ntest commit::parse::test::error::missing_committer ... 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::merge_commit ... ok\ntest commit::parse::test::success::commit_with_trailers ... 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 79 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_active_connection ... ok\ntest tests::e2e::test_block_prevents_connection ... ok\ntest tests::e2e::test_block_prevents_fetch ... 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_concurrent_fetches ... ok\ntest tests::e2e::test_dont_fetch_owned_refs ... 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_emits_canonical_ref_update ... ok\ntest tests::e2e::test_fetch_up_to_date ... 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_inventory_sync_star ... ok\ntest tests::e2e::test_multiple_offline_inits ... ok\ntest tests::e2e::test_non_fastforward_sigrefs ... ok\ntest tests::e2e::test_non_fastforward_identity_doc ... 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_replication_invalid ... ok\ntest tests::e2e::test_replication_ref_in_sigrefs ... ok\ntest tests::test_announcement_message_amplification ... 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_connection_kept_alive ... ok\ntest tests::test_announcement_relay ... 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_inventory_decode ... ok\ntest tests::test_init_and_seed ... 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_transient ... ok\ntest tests::test_outbound_connection ... ok\ntest tests::test_inventory_pruning ... ok\ntest tests::test_persistent_peer_connect ... 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_max_capacity ... ok\ntest tests::test_queued_fetch_from_command_same_rid ... ok\ntest tests::test_redundant_connect ... ok\ntest tests::test_refs_announcement_fetch_trusted_no_inventory ... ok\ntest tests::test_refs_announcement_followed ... ok\ntest tests::test_refs_announcement_no_subscribe ... ok\ntest tests::test_refs_announcement_offline ... ok\ntest tests::test_refs_announcement_relay_private ... ok\ntest tests::test_refs_announcement_relay_public ... ok\ntest tests::test_refs_synced_event ... 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\n\ntest result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 88.64s\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 10 tests\ntest fmt::test::fixture ... ok\ntest fmt::test::git2 ... ok\ntest fmt::test::gix ... ok\ntest fmt::test::zero ... ok\ntest git2::test::zero ... ok\ntest gix::test::zero ... ok\ntest str::test::fixture ... ok\ntest str::test::git2_roundtrip ... ok\ntest str::test::zero ... ok\ntest str::test::gix_roundrip ... ok\n\ntest result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 99 tests\ntest deserializer::test::test_decode_next ... ok\ntest deserializer::test::test_unparsed ... ok\ntest deserializer::test::prop_decode_next ... ok\ntest fetcher::service::tests::test_fetch_coalescing_different_refs ... ok\ntest fetcher::test::queue::properties::capacity::bounded ... ok\ntest fetcher::test::queue::properties::capacity::capacity_reached_returns_same_item ... ok\ntest fetcher::test::queue::properties::capacity::rejection ... ok\ntest fetcher::test::queue::properties::dequeue::drained_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::empty_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::enables_reenqueue ... ok\ntest fetcher::test::queue::properties::capacity::restored_after_dequeue ... ok\ntest fetcher::test::queue::properties::equality::reflexive ... ok\ntest fetcher::test::queue::properties::equality::symmetric ... ok\ntest fetcher::test::queue::properties::fifo::interleaved_operations ... ok\ntest fetcher::test::queue::properties::fifo::ordering ... ok\ntest fetcher::test::queue::properties::equality::transitive ... ok\ntest fetcher::test::queue::properties::merge::combines_refs ... ok\ntest fetcher::test::queue::properties::merge::different_rid_accepted ... ok\ntest fetcher::test::queue::properties::merge::does_not_increase_queue_length ... ok\ntest fetcher::test::queue::properties::merge::empty_refs_fetches_all ... ok\ntest fetcher::test::queue::properties::merge::longer_timeout_preserved ... ok\ntest fetcher::test::queue::properties::merge::succeed_when_at_capacity ... ok\ntest fetcher::test::queue::unit::capacity_takes_precedence_over_merge_for_new_items ... ok\ntest fetcher::test::queue::unit::empty_refs_items_can_be_equal ... ok\ntest fetcher::test::queue::unit::max_timeout_accepted ... ok\ntest fetcher::test::queue::unit::merge_preserves_position_in_queue ... ok\ntest fetcher::test::queue::unit::zero_timeout_accepted ... ok\ntest fetcher::test::state::command::cancel::cancellation_is_isolated ... ok\ntest fetcher::test::state::command::cancel::non_existent_returns_unexpected ... ok\ntest fetcher::test::state::command::cancel::ongoing_and_queued ... ok\ntest fetcher::test::state::command::cancel::single_ongoing ... ok\ntest fetcher::test::state::command::fetch::fetch_after_previous_completed ... ok\ntest fetcher::test::state::command::fetch::fetch_at_capacity_enqueues ... ok\ntest fetcher::test::state::command::fetch::fetch_different_repo_same_node_within_capacity ... ok\ntest fetcher::test::state::command::fetch::fetch_duplicate_returns_already_fetching ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merge_empty_refs_fetches_all ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merge_takes_longer_timeout ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merges_already_queued ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_rejected_capacity_reached ... ok\ntest fetcher::test::state::command::fetch::fetch_same_repo_different_nodes_queues_second ... ok\ntest fetcher::test::state::command::fetch::fetch_same_repo_different_refs_enqueues ... ok\ntest fetcher::test::state::command::fetch::fetch_start_first_fetch_for_node ... ok\ntest fetcher::test::state::command::fetched::complete_one_of_multiple ... ok\ntest fetcher::test::state::command::fetched::complete_single_ongoing ... ok\ntest fetcher::test::state::command::fetched::complete_then_dequeue_fifo ... ok\ntest fetcher::test::state::command::fetched::non_existent_returns_not_found ... ok\ntest fetcher::test::state::concurrent::fetched_then_cancel ... ok\ntest fetcher::test::state::concurrent::interleaved_operations ... ok\ntest fetcher::test::queue::properties::merge::same_rid_merges_anywhere_in_queue ... ok\ntest fetcher::test::state::config::min_queue_size ... ok\ntest fetcher::test::state::dequeue::cannot_dequeue_while_node_at_capacity ... ok\ntest fetcher::test::state::dequeue::empty_queue_returns_none ... ok\ntest fetcher::test::state::dequeue::maintains_fifo_order ... ok\ntest fetcher::test::state::invariant::queue_integrity_after_merge ... ok\ntest fetcher::test::state::config::high_concurrency ... ok\ntest fetcher::test::state::multinode::independent_queues ... ok\ntest service::filter::test::compatible ... ok\ntest service::filter::test::test_parameters ... ok\ntest service::filter::test::test_sizes ... ok\ntest service::gossip::store::test::test_announced ... ok\ntest service::limiter::test::test_limiter_different_rates ... ok\ntest service::limiter::test::test_limiter_multi ... ok\ntest service::limiter::test::test_limiter_refill ... ok\ntest fetcher::test::state::multinode::high_count ... ok\ntest service::message::tests::test_inventory_limit ... ok\ntest service::message::tests::prop_refs_announcement_signing ... ok\ntest service::message::tests::test_ref_remote_limit ... ok\ntest wire::frame::test::test_encode_git_large ... ok\ntest wire::frame::test::test_stream_id ... ok\ntest service::message::tests::test_node_announcement_validate ... ok\ntest wire::message::tests::prop_roundtrip_address ... ok\ntest wire::message::tests::prop_roundtrip_message ... ok\ntest wire::message::tests::prop_zero_bytes_encode_decode ... ok\ntest wire::message::tests::test_inv_ann_max_size ... ok\ntest wire::message::tests::test_node_ann_max_size ... ok\ntest wire::message::tests::test_ping_encode_size_overflow - should panic ... ok\ntest wire::message::tests::test_pingpong_encode_max_size ... ok\ntest wire::message::tests::test_pong_encode_size_overflow - should panic ... ok\ntest wire::message::tests::prop_message_decoder ... ok\ntest wire::tests::prop_oid ... ok\ntest wire::tests::prop_roundtrip_filter ... ok\ntest wire::tests::prop_roundtrip_publickey ... ok\ntest wire::tests::prop_roundtrip_refs ... ok\ntest wire::tests::prop_roundtrip_repoid ... ok\ntest wire::tests::prop_roundtrip_tuple ... ok\ntest wire::tests::prop_roundtrip_u16 ... ok\ntest wire::tests::prop_roundtrip_u32 ... ok\ntest wire::tests::prop_roundtrip_u64 ... ok\ntest wire::tests::prop_roundtrip_vec ... ok\ntest wire::tests::prop_signature ... ok\ntest wire::tests::prop_string ... ok\ntest wire::tests::test_alias ... ok\ntest wire::tests::test_bounded_vec_limit ... ok\ntest wire::tests::test_filter_invalid ... ok\ntest wire::tests::test_string ... ok\ntest wire::varint::test::prop_roundtrip_varint ... ok\ntest wire::varint::test::test_encode_overflow - should panic ... ok\ntest wire::varint::test::test_encoding ... ok\ntest wire::message::tests::test_refs_ann_max_size ... ok\n\ntest result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.43s\n\n\nrunning 12 tests\ntest protocol::tests::test_capabilities ... ok\ntest protocol::tests::test_empty ... ok\ntest protocol::tests::test_fetch ... ok\ntest protocol::tests::test_fetch_whitespace ... ok\ntest protocol::tests::test_invalid ... ok\ntest protocol::tests::test_list ... ok\ntest protocol::tests::test_option ... ok\ntest protocol::tests::test_list_for_push ... ok\ntest protocol::tests::test_option_whitespace_preservation ... ok\ntest protocol::tests::test_push ... ok\ntest protocol::tests::test_push_force ... ok\ntest protocol::tests::test_push_delete ... ok\n\ntest result: ok. 12 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 0 tests\n\ntest result: ok. 0 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 21 tests\ntest ansi::tests::colors_disabled ... ok\ntest ansi::tests::colors_enabled ... ok\ntest ansi::tests::wrapping ... ok\ntest cell::test::test_width ... ok\ntest element::test::test_spaced ... ok\ntest element::test::test_width ... ok\ntest element::test::test_truncate ... ok\ntest table::test::test_table ... ok\ntest table::test::test_table_border_maximized ... ok\ntest table::test::test_table_border ... ok\ntest table::test::test_table_truncate ... ok\ntest table::test::test_table_border_truncated ... ok\ntest table::test::test_table_unicode ... ok\ntest table::test::test_table_unicode_truncate ... ok\ntest table::test::test_truncate ... ok\ntest textarea::test::test_wrapping_code_block ... ok\ntest textarea::test::test_wrapping ... ok\ntest textarea::test::test_wrapping_fenced_block ... ok\ntest vstack::test::test_vstack ... ok\ntest vstack::test::test_vstack_maximize ... ok\ntest textarea::test::test_wrapping_paragraphs ... ok\n\ntest result: ok. 21 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 1 test\ntest crates/radicle/src/cob/patch/encoding/review.rs - cob::patch::encoding::review::Review (line 23) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 1 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 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle-cob/src/backend/stable.rs - backend::stable::with_advanced_timestamp (line 56) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 1 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 0 tests\n\ntest result: ok. 0 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 0 tests\n\ntest result: ok. 0 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 0 tests\n\ntest result: ok. 0 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 0 tests\n\ntest result: ok. 0 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 6 tests\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok\n\ntest result: ok. 6 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 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle-term/src/table.rs - table (line 4) ... 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",
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-284bae2ddbc7a249)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-2c524afd75038b2d)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-09fa8b6b92f963bf)\n Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-f12780f7d4c001d7)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli_test-eb16d72524d258cf)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cob-6e6d599ab2b9d6d3)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_core-4336e90d66078914)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_crypto-bd6b2a9d3a72ece5)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_dag-05f7457e7194a495)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_fetch-b86dafb29fe0d411)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_metadata-7266929c438027dc)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_ref_format-b95a9bd0637298c8)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_localtime-9ecb37b1e50cb4e3)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_node-fe5d9d2dea5da7c1)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_node-10a0b8a8721eac7f)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_oid-32b41d88203b7116)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_protocol-a4bf0c341b89fcf1)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/git_remote_rad-878309aa2c710538)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_schemars-6f7430e80541ad16)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_signals-edd60ee35e85748c)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_systemd-d0fb15a14ac3d4e9)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_term-51db4123a6bc434a)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_windows-2c067555aa9e0165)\n Doc-tests radicle\n Doc-tests radicle_cli\n Doc-tests radicle_cli_test\n Doc-tests radicle_cob\n Doc-tests radicle_core\n Doc-tests radicle_crypto\n Doc-tests radicle_dag\n Doc-tests radicle_fetch\n Doc-tests radicle_git_metadata\n Doc-tests radicle_git_ref_format\n Doc-tests radicle_localtime\n Doc-tests radicle_node\n Doc-tests radicle_oid\n Doc-tests radicle_protocol\n Doc-tests radicle_signals\n Doc-tests radicle_systemd\n Doc-tests radicle_term\n Doc-tests radicle_windows\n",
"timestamp": {
"secs_since_epoch": 1776806246,
"nanos_since_epoch": 833674402
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1776806247,
"nanos_since_epoch": 550428866
},
"log_source": "Plan"
}{
"type": "execute_action",
"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",
"timestamp": {
"secs_since_epoch": 1776806247,
"nanos_since_epoch": 552360093
},
"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,
35,
32,
66,
101,
99,
97,
117,
115,
101,
32,
111,
102,
32,
97,
32,
40,
116,
101,
109,
112,
111,
114,
97,
114,
121,
41,
32,
108,
105,
109,
105,
116,
97,
116,
105,
111,
110,
32,
105,
110,
32,
65,
109,
98,
105,
101,
110,
116,
44,
32,
119,
101,
32,
110,
101,
101,
100,
32,
116,
111,
32,
115,
101,
116,
10,
35,
32,
116,
104,
101,
115,
101,
32,
118,
97,
114,
105,
97,
98,
108,
101,
115,
32,
109,
97,
110,
117,
97,
108,
108,
121,
46,
32,
79,
110,
99,
101,
32,
65,
109,
98,
105,
101,
110,
116,
32,
109,
97,
110,
97,
103,
101,
115,
32,
101,
110,
118,
105,
114,
111,
110,
109,
101,
110,
116,
10,
35,
32,
118,
97,
114,
105,
97,
98,
108,
101,
115,
32,
98,
101,
116,
116,
101,
114,
44,
32,
116,
104,
101,
115,
101,
32,
99,
97,
110,
32,
98,
101,
32,
100,
101,
108,
101,
116,
101,
100,
46,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
84,
65,
82,
71,
69,
84,
95,
68,
73,
82,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
99,
97,
99,
104,
101,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
100,
101,
112,
115,
10,
101,
120,
112,
111,
114,
116,
32,
72,
79,
77,
69,
61,
47,
114,
111,
111,
116,
10,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
34,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
36,
80,
65,
84,
72,
34,
10,
101,
120,
112,
111,
114,
116,
32,
82,
85,
83,
84,
68,
79,
67,
70,
76,
65,
71,
83,
61,
39,
45,
68,
32,
119,
97,
114,
110,
105,
110,
103,
115,
39,
10,
10,
99,
97,
114,
103,
111,
32,
100,
111,
99,
32,
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101,
32,
45,
45,
110,
111,
45,
100,
101,
112,
115,
32,
45,
45,
97,
108,
108,
45,
102,
101,
97,
116,
117,
114,
101,
115,
10,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1776806247,
"nanos_since_epoch": 559409306
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ export CARGO_TARGET_DIR=/workspace/cache\n+ CARGO_TARGET_DIR=/workspace/cache\n+ export CARGO_HOME=/workspace/deps\n+ CARGO_HOME=/workspace/deps\n+ export HOME=/root\n+ HOME=/root\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ export 'RUSTDOCFLAGS=-D warnings'\n+ RUSTDOCFLAGS='-D warnings'\n+ cargo doc --workspace --no-deps --all-features\n Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Checking radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Checking radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Checking radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Checking radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Checking radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n Documenting radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n Documenting radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Documenting radicle v0.23.0 (/ci/src/crates/radicle)\n Checking radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Checking radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n Documenting radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Documenting radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Documenting radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Documenting radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n Documenting radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n Documenting radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)\n Documenting radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Documenting radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Documenting radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Documenting radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Documenting radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Documenting radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Documenting radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Documenting radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Documenting radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Documenting radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Documenting radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.55s\n Generated /workspace/cache/doc/radicle/index.html and 20 other files\n",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 204143423
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"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",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 204689515
},
"log_source": "Plan"
}{
"type": "execute_action",
"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",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 204914619
},
"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,
35,
32,
66,
101,
99,
97,
117,
115,
101,
32,
111,
102,
32,
97,
32,
40,
116,
101,
109,
112,
111,
114,
97,
114,
121,
41,
32,
108,
105,
109,
105,
116,
97,
116,
105,
111,
110,
32,
105,
110,
32,
65,
109,
98,
105,
101,
110,
116,
44,
32,
119,
101,
32,
110,
101,
101,
100,
32,
116,
111,
32,
115,
101,
116,
10,
35,
32,
116,
104,
101,
115,
101,
32,
118,
97,
114,
105,
97,
98,
108,
101,
115,
32,
109,
97,
110,
117,
97,
108,
108,
121,
46,
32,
79,
110,
99,
101,
32,
65,
109,
98,
105,
101,
110,
116,
32,
109,
97,
110,
97,
103,
101,
115,
32,
101,
110,
118,
105,
114,
111,
110,
109,
101,
110,
116,
10,
35,
32,
118,
97,
114,
105,
97,
98,
108,
101,
115,
32,
98,
101,
116,
116,
101,
114,
44,
32,
116,
104,
101,
115,
101,
32,
99,
97,
110,
32,
98,
101,
32,
100,
101,
108,
101,
116,
101,
100,
46,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
84,
65,
82,
71,
69,
84,
95,
68,
73,
82,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
99,
97,
99,
104,
101,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
100,
101,
112,
115,
10,
101,
120,
112,
111,
114,
116,
32,
72,
79,
77,
69,
61,
47,
114,
111,
111,
116,
10,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
34,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
36,
80,
65,
84,
72,
34,
10,
10,
35,
32,
84,
104,
101,
115,
101,
32,
97,
114,
101,
32,
98,
97,
115,
101,
100,
32,
111,
110,
32,
100,
101,
98,
105,
97,
110,
47,
99,
111,
110,
116,
114,
111,
108,
46,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
69,
77,
65,
73,
76,
61,
108,
105,
119,
64,
108,
105,
119,
46,
102,
105,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
70,
85,
76,
76,
78,
65,
77,
69,
61,
34,
76,
97,
114,
115,
32,
87,
105,
114,
122,
101,
110,
105,
117,
115,
34,
10,
10,
35,
32,
67,
108,
101,
97,
110,
32,
117,
112,
32,
97,
102,
116,
101,
114,
32,
116,
101,
115,
116,
115,
32,
97,
110,
100,
32,
100,
111,
99,
117,
109,
101,
110,
116,
97,
116,
105,
111,
110,
32,
98,
117,
105,
108,
100,
105,
110,
103,
46,
32,
84,
104,
101,
32,
68,
101,
98,
105,
97,
110,
10,
35,
32,
112,
97,
99,
107,
97,
103,
101,
32,
98,
117,
105,
108,
100,
105,
110,
103,
32,
116,
111,
111,
108,
115,
32,
100,
111,
32,
110,
111,
116,
32,
119,
97,
110,
116,
32,
99,
104,
97,
110,
103,
101,
115,
32,
111,
117,
116,
115,
105,
100,
101,
32,
116,
104,
101,
10,
35,
32,
96,
100,
101,
98,
105,
97,
110,
96,
32,
100,
105,
114,
101,
99,
116,
111,
114,
121,
44,
32,
99,
111,
109,
112,
97,
114,
101,
100,
32,
116,
111,
32,
119,
104,
97,
116,
32,
105,
115,
32,
99,
111,
109,
109,
105,
116,
116,
101,
100,
32,
116,
111,
32,
71,
105,
116,
44,
32,
102,
114,
111,
109,
10,
35,
32,
119,
104,
105,
99,
104,
32,
116,
104,
101,
32,
34,
117,
112,
115,
116,
114,
101,
97,
109,
32,
116,
97,
114,
98,
97,
108,
108,
34,
32,
105,
115,
32,
99,
114,
101,
97,
116,
101,
100,
46,
10,
103,
105,
116,
32,
114,
101,
115,
101,
116,
32,
45,
45,
104,
97,
114,
100,
10,
103,
105,
116,
32,
99,
108,
101,
97,
110,
32,
45,
102,
100,
120,
10,
103,
105,
116,
32,
115,
116,
97,
116,
117,
115,
32,
45,
45,
105,
103,
110,
111,
114,
101,
100,
10,
10,
35,
32,
85,
112,
100,
97,
116,
101,
32,
100,
101,
98,
105,
97,
110,
47,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
119,
105,
116,
104,
32,
97,
32,
110,
101,
119,
32,
118,
101,
114,
115,
105,
111,
110,
32,
115,
111,
32,
116,
104,
97,
116,
32,
101,
118,
101,
114,
121,
32,
114,
117,
110,
10,
35,
32,
99,
114,
101,
97,
116,
101,
115,
32,
97,
32,
110,
101,
119,
101,
114,
32,
118,
101,
114,
115,
105,
111,
110,
46,
32,
84,
104,
105,
115,
32,
97,
118,
111,
105,
100,
115,
32,
117,
115,
32,
104,
97,
118,
105,
110,
103,
32,
116,
111,
32,
117,
112,
100,
97,
116,
101,
32,
116,
104,
101,
10,
35,
32,
102,
105,
108,
101,
32,
109,
97,
110,
117,
97,
108,
108,
121,
32,
102,
111,
114,
32,
101,
118,
101,
114,
121,
32,
67,
73,
32,
114,
117,
110,
46,
10,
86,
61,
34,
36,
40,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
86,
101,
114,
115,
105,
111,
110,
32,
124,
32,
115,
101,
100,
32,
39,
115,
47,
45,
91,
94,
45,
93,
42,
36,
47,
47,
39,
41,
34,
10,
84,
61,
34,
36,
40,
100,
97,
116,
101,
32,
45,
117,
32,
34,
43,
37,
89,
37,
109,
37,
100,
84,
37,
72,
37,
77,
37,
83,
34,
41,
34,
10,
118,
101,
114,
115,
105,
111,
110,
61,
34,
36,
86,
46,
99,
105,
36,
84,
45,
49,
34,
10,
100,
99,
104,
32,
45,
118,
32,
34,
36,
118,
101,
114,
115,
105,
111,
110,
34,
32,
34,
67,
73,
32,
98,
117,
105,
108,
100,
32,
117,
110,
100,
101,
114,
32,
65,
109,
98,
105,
101,
110,
116,
46,
34,
10,
100,
99,
104,
32,
45,
114,
32,
39,
39,
10,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 256493771
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "HEAD is now at 80a37ad4d cli/test: Fix failures related to remote HEAD\nHEAD detached at 80a37ad4d\nnothing to commit, working tree clean\n",
"stderr": "+ export CARGO_TARGET_DIR=/workspace/cache\n+ CARGO_TARGET_DIR=/workspace/cache\n+ export CARGO_HOME=/workspace/deps\n+ CARGO_HOME=/workspace/deps\n+ export HOME=/root\n+ HOME=/root\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ export DEBEMAIL=liw@liw.fi\n+ DEBEMAIL=liw@liw.fi\n+ export 'DEBFULLNAME=Lars Wirzenius'\n+ DEBFULLNAME='Lars Wirzenius'\n+ git reset --hard\n+ git clean -fdx\n+ git status --ignored\n++ dpkg-parsechangelog -SVersion\n++ sed 's/-[^-]*$//'\n+ V=1.2.1\n++ date -u +%Y%m%dT%H%M%S\n+ T=20260421T211739\n+ version=1.2.1.ci20260421T211739-1\n+ dch -v 1.2.1.ci20260421T211739-1 'CI build under Ambient.'\n+ dch -r ''\n",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 617369713
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"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",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 632242297
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 648317756
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
47,
98,
105,
110,
47,
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
35,
33,
47,
117,
115,
114,
47,
98,
105,
110,
47,
101,
110,
118,
32,
98,
97,
115,
104,
10,
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
10,
101,
99,
104,
111,
32,
34,
80,
65,
84,
72,
32,
97,
116,
32,
115,
116,
97,
114,
116,
58,
32,
36,
80,
65,
84,
72,
34,
10,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
34,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
36,
80,
65,
84,
72,
34,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
99,
105,
47,
100,
101,
112,
115,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
69,
77,
65,
73,
76,
61,
108,
105,
119,
64,
108,
105,
119,
46,
102,
105,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
70,
85,
76,
76,
78,
65,
77,
69,
61,
34,
76,
97,
114,
115,
32,
87,
105,
114,
122,
101,
110,
105,
117,
115,
34,
10,
47,
98,
105,
110,
47,
101,
110,
118,
10,
10,
99,
111,
109,
109,
97,
110,
100,
32,
45,
118,
32,
99,
97,
114,
103,
111,
10,
99,
111,
109,
109,
97,
110,
100,
32,
45,
118,
32,
114,
117,
115,
116,
99,
10,
10,
99,
97,
114,
103,
111,
32,
45,
45,
118,
101,
114,
115,
105,
111,
110,
10,
114,
117,
115,
116,
99,
32,
45,
45,
118,
101,
114,
115,
105,
111,
110,
10,
10,
35,
32,
71,
101,
116,
32,
110,
97,
109,
101,
32,
97,
110,
100,
32,
118,
101,
114,
115,
105,
111,
110,
32,
111,
102,
32,
115,
111,
117,
114,
99,
101,
32,
112,
97,
99,
107,
97,
103,
101,
46,
10,
110,
97,
109,
101,
61,
34,
36,
40,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
83,
111,
117,
114,
99,
101,
41,
34,
10,
118,
101,
114,
115,
105,
111,
110,
61,
34,
36,
40,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
86,
101,
114,
115,
105,
111,
110,
41,
34,
10,
10,
35,
32,
71,
101,
116,
32,
117,
112,
115,
116,
114,
101,
97,
109,
32,
118,
101,
114,
115,
105,
111,
110,
58,
32,
101,
118,
101,
114,
121,
116,
104,
105,
110,
103,
32,
98,
101,
102,
111,
114,
101,
32,
116,
104,
101,
32,
108,
97,
115,
116,
32,
100,
97,
115,
104,
46,
10,
117,
118,
61,
34,
36,
40,
101,
99,
104,
111,
32,
34,
36,
118,
101,
114,
115,
105,
111,
110,
34,
32,
124,
32,
115,
101,
100,
32,
39,
115,
47,
45,
91,
94,
45,
93,
42,
36,
47,
47,
39,
41,
34,
10,
10,
35,
32,
70,
105,
108,
101,
115,
32,
116,
104,
97,
116,
32,
119,
105,
108,
108,
32,
98,
101,
32,
99,
114,
101,
97,
116,
101,
100,
46,
10,
97,
114,
99,
104,
61,
34,
36,
40,
100,
112,
107,
103,
32,
45,
45,
112,
114,
105,
110,
116,
45,
97,
114,
99,
104,
105,
116,
101,
99,
116,
117,
114,
101,
41,
34,
10,
111,
114,
105,
103,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
117,
118,
125,
46,
111,
114,
105,
103,
46,
116,
97,
114,
46,
120,
122,
34,
10,
100,
101,
98,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
118,
101,
114,
115,
105,
111,
110,
125,
95,
36,
123,
97,
114,
99,
104,
125,
46,
100,
101,
98,
34,
10,
99,
104,
97,
110,
103,
101,
115,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
118,
101,
114,
115,
105,
111,
110,
125,
95,
36,
123,
97,
114,
99,
104,
125,
46,
99,
104,
97,
110,
103,
101,
115,
34,
10,
10,
35,
32,
67,
114,
101,
97,
116,
101,
32,
34,
117,
112,
115,
116,
114,
101,
97,
109,
32,
116,
97,
114,
98,
97,
108,
108,
34,
46,
10,
103,
105,
116,
32,
97,
114,
99,
104,
105,
118,
101,
32,
72,
69,
65,
68,
32,
124,
32,
120,
122,
32,
62,
34,
36,
111,
114,
105,
103,
34,
10,
10,
35,
32,
66,
117,
105,
108,
100,
32,
112,
97,
99,
107,
97,
103,
101,
46,
10,
100,
112,
107,
103,
45,
98,
117,
105,
108,
100,
112,
97,
99,
107,
97,
103,
101,
32,
45,
117,
115,
32,
45,
117,
99,
10,
10,
35,
32,
68,
117,
109,
112,
32,
115,
111,
109,
101,
32,
105,
110,
102,
111,
114,
109,
97,
116,
105,
111,
110,
32,
116,
111,
32,
109,
97,
107,
101,
32,
105,
116,
32,
101,
97,
115,
105,
101,
114,
32,
116,
111,
32,
118,
105,
115,
117,
97,
108,
108,
121,
32,
118,
101,
114,
105,
102,
121,
10,
35,
32,
101,
118,
101,
114,
121,
116,
104,
105,
110,
103,
32,
108,
111,
111,
107,
115,
32,
79,
75,
46,
32,
65,
108,
115,
111,
44,
32,
116,
101,
115,
116,
32,
116,
104,
101,
32,
112,
97,
99,
107,
97,
103,
101,
32,
119,
105,
116,
104,
32,
116,
104,
101,
32,
108,
105,
110,
116,
105,
97,
110,
32,
116,
111,
111,
108,
46,
10,
10,
108,
115,
32,
45,
108,
32,
46,
46,
10,
102,
111,
114,
32,
120,
32,
105,
110,
32,
46,
46,
47,
42,
46,
100,
101,
98,
59,
32,
100,
111,
32,
100,
112,
107,
103,
32,
45,
99,
32,
34,
36,
120,
34,
59,
32,
100,
111,
110,
101,
10,
35,
32,
70,
73,
88,
77,
69,
58,
32,
100,
105,
115,
97,
98,
108,
101,
100,
32,
119,
104,
105,
108,
101,
32,
116,
104,
105,
115,
32,
112,
114,
101,
118,
101,
110,
116,
115,
32,
114,
97,
100,
105,
99,
108,
101,
45,
110,
97,
116,
105,
118,
101,
45,
99,
105,
32,
100,
101,
98,
32,
102,
114,
111,
109,
32,
98,
101,
105,
110,
103,
32,
98,
117,
105,
108,
116,
46,
10,
35,
32,
108,
105,
110,
116,
105,
97,
110,
32,
45,
105,
32,
45,
45,
97,
108,
108,
111,
119,
45,
114,
111,
111,
116,
32,
45,
45,
102,
97,
105,
108,
45,
111,
110,
32,
119,
97,
114,
110,
105,
110,
103,
32,
46,
46,
47,
42,
46,
99,
104,
97,
110,
103,
101,
115,
10,
10,
35,
32,
77,
111,
118,
101,
32,
102,
105,
108,
101,
115,
32,
116,
111,
32,
97,
114,
116,
105,
102,
97,
99,
116,
115,
32,
100,
105,
114,
101,
99,
116,
111,
114,
121,
46,
10,
109,
118,
32,
46,
46,
47,
42,
95,
42,
32,
47,
99,
105,
47,
97,
114,
116,
105,
102,
97,
99,
116,
115,
47,
46,
10,
32,
32,
32,
32,
32,
32,
32,
32
]
}
],
"timestamp": {
"secs_since_epoch": 1776806259,
"nanos_since_epoch": 650452424
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=280\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=b8920da0d36c4ad6ab2289774c75634d\nSHLVL=2\nJOURNAL_STREAM=8:14977\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nOLDPWD=/\n_=/bin/env\n/root/.cargo/bin/cargo\n/root/.cargo/bin/rustc\ncargo 1.90.0 (840b83a10 2025-07-30)\nrustc 1.90.0 (1159e78c4 2025-09-14)\ndpkg-buildpackage: info: source package radicle\ndpkg-buildpackage: info: source version 1.2.1.ci20260421T211739-1\ndpkg-buildpackage: info: source distribution unstable\ndpkg-buildpackage: info: source changed by Lars Wirzenius <liw@liw.fi>\ndpkg-buildpackage: info: host architecture amd64\ndh clean\n dh_clean\ndpkg-source: info: using source format '3.0 (quilt)'\ndpkg-source: info: building radicle using existing ./radicle_1.2.1.ci20260421T211739.orig.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260421T211739-1.debian.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260421T211739-1.dsc\nmake: 'build' is up to date.\ndh binary\n dh_update_autotools_config\n dh_autoreconf\n debian/rules override_dh_auto_build\nmake[1]: Entering directory '/ci/src'\nscripts/build-man-pages.sh . *.adoc\nBuilding git-remote-rad.1.adoc..\nBuilding rad-id.1.adoc..\nBuilding rad-patch.1.adoc..\nBuilding rad.1.adoc..\nBuilding radicle-node.1.adoc..\nmake[1]: Leaving directory '/ci/src'\n debian/rules override_dh_auto_test\nmake[1]: Entering directory '/ci/src'\necho tests are disabled, for now\ntests are disabled, for now\nmake[1]: Leaving directory '/ci/src'\n create-stamp debian/debhelper-build-stamp\n dh_testroot\n dh_prep\n debian/rules override_dh_auto_install\nmake[1]: Entering directory '/ci/src'\nmkdir -p debian/radicle/usr\ncargo install --offline --locked --path=crates/radicle-cli --root=debian/radicle/usr\ncargo install --offline --locked --path=crates/radicle-node --root=debian/radicle/usr\ncargo install --offline --locked --path=crates/radicle-remote-helper --root=debian/radicle/usr\nfind debian/radicle -name '.crates*' -delete\nmake[1]: Leaving directory '/ci/src'\n dh_install\n dh_installdocs\n dh_installchangelogs\n dh_installman\n dh_lintian\n dh_perl\n dh_link\n dh_strip_nondeterminism\n dh_compress\n dh_fixperms\n dh_missing\n dh_strip\n dh_makeshlibs\n dh_shlibdeps\n dh_installdeb\n dh_gencontrol\n dh_md5sums\n dh_builddeb\ndpkg-deb: building package 'radicle' in '../radicle_1.2.1.ci20260421T211739-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 13288\ndrwxr-xr-x 2 root root 4096 Apr 21 21:12 artifacts\ndrwxr-xr-x 5 root root 4096 Apr 21 14:25 cache\ndrwxr-xr-x 3 root root 4096 Apr 21 21:17 deps\n-rw-r--r-- 1 root root 2088 Apr 21 21:17 radicle_1.2.1.ci20260421T211739-1.debian.tar.xz\n-rw-r--r-- 1 root root 1028 Apr 21 21:17 radicle_1.2.1.ci20260421T211739-1.dsc\n-rw-r--r-- 1 root root 5907 Apr 21 21:20 radicle_1.2.1.ci20260421T211739-1_amd64.buildinfo\n-rw-r--r-- 1 root root 2023 Apr 21 21:20 radicle_1.2.1.ci20260421T211739-1_amd64.changes\n-rw-r--r-- 1 root root 12232344 Apr 21 21:20 radicle_1.2.1.ci20260421T211739-1_amd64.deb\n-rw-r--r-- 1 root root 1332144 Apr 21 21:17 radicle_1.2.1.ci20260421T211739.orig.tar.xz\ndrwxr-xr-x 14 root root 4096 Apr 21 21:17 src\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/bin/\n-rwxr-xr-x root/root 9233944 2026-04-21 21:17 ./usr/bin/git-remote-rad\n-rwxr-xr-x root/root 31030888 2026-04-21 21:17 ./usr/bin/rad\n-rwxr-xr-x root/root 13337104 2026-04-21 21:17 ./usr/bin/radicle-node\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/doc/\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/doc/radicle/\n-rw-r--r-- root/root 289 2026-04-21 21:17 ./usr/share/doc/radicle/changelog.Debian.gz\n-rw-r--r-- root/root 12201 2026-04-21 21:17 ./usr/share/doc/radicle/changelog.gz\n-rw-r--r-- root/root 357 2026-04-21 21:17 ./usr/share/doc/radicle/copyright\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/lintian/\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root 121 2026-04-21 21:17 ./usr/share/lintian/overrides/radicle\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/man/\ndrwxr-xr-x root/root 0 2026-04-21 21:17 ./usr/share/man/man1/\n-rw-r--r-- root/root 558 2026-04-21 21:17 ./usr/share/man/man1/git-remote-rad.1.gz\n-rw-r--r-- root/root 2701 2026-04-21 21:17 ./usr/share/man/man1/rad-id.1.gz\n-rw-r--r-- root/root 4363 2026-04-21 21:17 ./usr/share/man/man1/rad-patch.1.gz\n-rw-r--r-- root/root 3719 2026-04-21 21:17 ./usr/share/man/man1/rad.1.gz\n-rw-r--r-- root/root 494 2026-04-21 21:17 ./usr/share/man/man1/radicle-node.1.gz\n",
"stderr": "+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ export CARGO_HOME=/ci/deps\n+ CARGO_HOME=/ci/deps\n+ export DEBEMAIL=liw@liw.fi\n+ DEBEMAIL=liw@liw.fi\n+ export 'DEBFULLNAME=Lars Wirzenius'\n+ DEBFULLNAME='Lars Wirzenius'\n+ /bin/env\n+ command -v cargo\n+ command -v rustc\n+ cargo --version\n+ rustc --version\n++ dpkg-parsechangelog -SSource\n+ name=radicle\n++ dpkg-parsechangelog -SVersion\n+ version=1.2.1.ci20260421T211739-1\n++ echo 1.2.1.ci20260421T211739-1\n++ sed 's/-[^-]*$//'\n+ uv=1.2.1.ci20260421T211739\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../radicle_1.2.1.ci20260421T211739.orig.tar.xz\n+ deb=../radicle_1.2.1.ci20260421T211739-1_amd64.deb\n+ changes=../radicle_1.2.1.ci20260421T211739-1_amd64.changes\n+ git archive HEAD\n+ xz\n+ dpkg-buildpackage -us -uc\n dpkg-source --before-build .\n debian/rules clean\n dpkg-source -b .\n debian/rules build\n debian/rules binary\n Installing radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Compiling radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Finished `release` profile [optimized] target(s) in 1m 18s\n Installing debian/radicle/usr/bin/rad\n Installed package `radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)` (executable `rad`)\nwarning: be sure to add `debian/radicle/usr/bin` to your PATH to be able to run the installed binaries\n Installing radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Compiling radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Compiling radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Compiling radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n Finished `release` profile [optimized] target(s) in 58.27s\n Installing debian/radicle/usr/bin/radicle-node\n Installed package `radicle-node v0.19.0 (/ci/src/crates/radicle-node)` (executable `radicle-node`)\nwarning: be sure to add `debian/radicle/usr/bin` to your PATH to be able to run the installed binaries\n Installing radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Finished `release` profile [optimized] target(s) in 11.94s\n Installing debian/radicle/usr/bin/git-remote-rad\n Installed package `radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)` (executable `git-remote-rad`)\nwarning: be sure to add `debian/radicle/usr/bin` to your PATH to be able to run the installed binaries\n dpkg-genbuildinfo -O../radicle_1.2.1.ci20260421T211739-1_amd64.buildinfo\n dpkg-genchanges -O../radicle_1.2.1.ci20260421T211739-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../radicle_1.2.1.ci20260421T211739-1_amd64.deb\n+ mv ../radicle_1.2.1.ci20260421T211739-1.debian.tar.xz ../radicle_1.2.1.ci20260421T211739-1.dsc ../radicle_1.2.1.ci20260421T211739-1_amd64.buildinfo ../radicle_1.2.1.ci20260421T211739-1_amd64.changes ../radicle_1.2.1.ci20260421T211739-1_amd64.deb ../radicle_1.2.1.ci20260421T211739.orig.tar.xz /ci/artifacts/.\n",
"timestamp": {
"secs_since_epoch": 1776806421,
"nanos_since_epoch": 834633426
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1776806421,
"nanos_since_epoch": 968314897
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776806421,
"nanos_since_epoch": 970447772
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776806435,
"nanos_since_epoch": 889959615
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776806435,
"nanos_since_epoch": 890597540
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776806435,
"nanos_since_epoch": 910556460
},
"log_source": "Plan"
}{
"type": "plan_succeeded",
"timestamp": {
"secs_since_epoch": 1776806435,
"nanos_since_epoch": 911057231
},
"log_source": "Plan"
}{
"type": "executor_ends_successfully",
"timestamp": {
"secs_since_epoch": 1776806435,
"nanos_since_epoch": 911147508
},
"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": "Created",
"patch": {
"id": "2985d3a8cc120e4c6a2464668f87c2d3b24fa98f",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": "lorenz"
},
"title": "Fix the test failures related to remote default branch (HEAD)",
"state": {
"status": "open",
"conflicts": []
},
"before": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"after": "80a37ad4d0006086b613744e89d5de5a81720b7e",
"commits": [
"80a37ad4d0006086b613744e89d5de5a81720b7e"
],
"target": "6ce2d00be237e75524cd31129be6766935736c1a",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "2985d3a8cc120e4c6a2464668f87c2d3b24fa98f",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": "lorenz"
},
"description": "The following two tests assumed that HEAD would always be there in the\n'rad' remote. It turns out, however, that this isn't necessarily the case,\nfor example on Debian releases (as consistently noticed in multiple CI runs).\n\nThis change fixes this issue by explicitly setting the remote head, where\nthis matters:\n\n- crates/radicle-cli/examples/rad-patch-fetch-2.md\n- crates/radicle-cli/examples/rad-patch-via-push.md",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "c17a5a9a76dea6c1ed060584aa4ef908c07c2211",
"timestamp": 1776669510
},
{
"id": "52778141a7a568e3e9bc702b9f820186b483f688",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": "lorenz"
},
"description": "Fix the test failures related to remote default branch (HEAD)\n\nThe following two tests assumed that HEAD would always be there in the\n'rad' remote. It turns out, however, that this isn't necessarily the case,\ndepending on the git version that's used.\n\nGit versions older that v2.48.0 do not touch 'refs/remotes/<remote>/HEAD'.\n\nGit v2.48.0 and newer will update 'refs/remotes/<remote>/HEAD' unless the\nconfiguration 'remote.<remote>.followRemoteHEAD'. With these versions,\nsetting that configuration to \"never\" emulates the behaviour of older\nversions.\n\nTherefore, to ensure that test results are consistent across pre-v2.48.0\ngit and v2.48.0 or newer git, the fixture of test repositories now include\nsetting 'remote.rad.followRemoteHEAD=never', and adjusting the outputs that\nare affected.\n\nThese files are affected:\n\n- crates/radicle/src/test/fixtures.rs\n- crates/radicle-cli/examples/rad-patch-fetch-2.md\n- crates/radicle-cli/examples/rad-patch-via-push.md",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "188cbee1d62f73380d345b3ca36dadbe09258ec1",
"timestamp": 1776765179
},
{
"id": "d2180d66c8cf8ae7755dba0038a08db65e686bb6",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": "lorenz"
},
"description": "Rewording",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "80a37ad4d0006086b613744e89d5de5a81720b7e",
"timestamp": 1776805889
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
<empty log>