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": 1776961196,
"nanos_since_epoch": 604436175
},
"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": 1776961196,
"nanos_since_epoch": 612631690
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 612711727
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 612970268
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 613124579
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 613151123
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 613334716
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 787747479
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1776961196,
"nanos_since_epoch": 787784730
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1776961199,
"nanos_since_epoch": 181941292
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776961199,
"nanos_since_epoch": 181979383
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 7369775
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 10403612
},
"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": 1776961214,
"nanos_since_epoch": 12742392
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 20760879
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 23290814
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 25563456
},
"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": 1776961214,
"nanos_since_epoch": 28209345
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 38641213
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 41508443
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 44086058
},
"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": 1776961214,
"nanos_since_epoch": 46728282
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 54557933
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 57464511
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 60179871
},
"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": 1776961214,
"nanos_since_epoch": 62066769
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 122717042
},
"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": 1776961214,
"nanos_since_epoch": 125457791
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 239292456
},
"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": 1776961214,
"nanos_since_epoch": 239331749
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961214,
"nanos_since_epoch": 291453554
},
"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": 1776961214,
"nanos_since_epoch": 291492276
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 255250506
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 257485745
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 259512386
},
"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": 1776961215,
"nanos_since_epoch": 261497189
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 303434498
},
"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": 1776961215,
"nanos_since_epoch": 306165232
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 396713659
},
"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": 1776961215,
"nanos_since_epoch": 396753385
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961215,
"nanos_since_epoch": 445254653
},
"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": 1776961215,
"nanos_since_epoch": 445295704
},
"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-cli v0.20.0 (/ci/src/crates/radicle-cli)\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 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.02s\n",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 612891129
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 633928221
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 635965538
},
"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": 1776961226,
"nanos_since_epoch": 637913823
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 680926521
},
"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": 1776961226,
"nanos_since_epoch": 683607264
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 775476033
},
"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": 1776961226,
"nanos_since_epoch": 775515290
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961226,
"nanos_since_epoch": 828365197
},
"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": 1776961226,
"nanos_since_epoch": 828422727
},
"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-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.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-cli v0.20.0 (/ci/src/crates/radicle-cli)\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-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 16.04s\n",
"timestamp": {
"secs_since_epoch": 1776961242,
"nanos_since_epoch": 964997699
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1776961242,
"nanos_since_epoch": 965064245
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1776961242,
"nanos_since_epoch": 965299636
},
"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": 1776961242,
"nanos_since_epoch": 965308689
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961243,
"nanos_since_epoch": 32440386
},
"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": 1776961243,
"nanos_since_epoch": 35114478
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961243,
"nanos_since_epoch": 125940141
},
"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": 1776961243,
"nanos_since_epoch": 125983456
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1776961243,
"nanos_since_epoch": 174785902
},
"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": 1776961243,
"nanos_since_epoch": 177523417
},
"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_migration_2 ... ok\ntest cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok\ntest cob::cache::tests::test_check_version ... ok\ntest cob::cache::tests::test_migrate_to ... ok\ntest cob::common::test::test_color ... ok\ntest cob::common::test::test_emojis ... ok\ntest cob::common::test::test_title ... ok\ntest cob::identity::test::prop_json_eq_str ... ok\ntest cob::identity::test::test_identity_redact_revision ... ok\ntest cob::identity::test::test_identity_reject_concurrent ... ok\ntest cob::identity::test::test_identity_remove_delegate_concurrent ... ok\ntest cob::identity::test::test_identity_updates ... ok\ntest cob::identity::test::test_identity_update_rejected ... ok\ntest cob::identity::test::test_identity_updates_concurrent ... ok\ntest cob::identity::test::test_identity_updates_concurrent_outdated ... ok\ntest cob::issue::cache::tests::test_counts ... ok\ntest cob::issue::cache::tests::test_get ... ok\ntest cob::issue::cache::tests::test_is_empty ... ok\ntest cob::issue::cache::tests::test_list ... ok\ntest cob::issue::cache::tests::test_list_by_status ... ok\ntest cob::identity::test::test_valid_identity ... 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::issue::test::test_issue_reply ... ok\ntest cob::patch::cache::tests::test_counts ... ok\ntest cob::patch::cache::tests::test_get ... ok\ntest cob::patch::cache::tests::test_is_empty ... ok\ntest cob::patch::cache::tests::test_list ... ok\ntest cob::patch::cache::tests::test_list_by_status ... ok\ntest cob::patch::cache::tests::test_remove ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_null_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_with_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_without_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_v2 ... ok\ntest cob::patch::encoding::review::test::test_review_summary ... ok\ntest cob::patch::test::test_json ... ok\ntest cob::patch::test::test_json_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::patch::cache::tests::test_find_by_revision ... 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 cob::thread::tests::prop_ordering ... 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 git::canonical::tests::test_quorum_properties ... 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 profile::config::test::schema ... ok\ntest profile::test::canonicalize_home ... ok\ntest profile::test::test_config ... ok\ntest rad::tests::test_checkout ... ok\ntest rad::tests::test_fork ... ok\ntest rad::tests::test_init ... ok\ntest storage::git::tests::test_references_of ... ok\ntest storage::git::tests::test_sign_refs ... ok\ntest storage::git::transport::local::url::test::test_url_parse ... ok\ntest storage::git::transport::local::url::test::test_url_to_string ... ok\ntest storage::git::transport::remote::url::test::test_url_parse ... ok\ntest storage::refs::sigrefs::property::idempotent ... ok\ntest identity::doc::test::prop_encode_decode ... 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.26s\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::id::args::test::should_parse_single_payload ... ok\ntest commands::init::args::test::should_not_parse_rid_url ... ok\ntest commands::init::args::test::should_parse_rid_non_urn ... ok\ntest commands::inspect::test::test_tree ... ok\ntest commands::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::init::args::test::should_parse_rid_urn ... 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_bytes ... ok\ntest terminal::format::test::test_strip_comments ... 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.02s\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_partial_fail ... ok\ntest commands::clone::rad_clone_unknown ... 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_identity ... ok\ntest commands::cob::rad_cob_update ... ok\ntest commands::cob::test_cob_deletion ... ok\ntest commands::cob::test_cob_replication ... ok\ntest commands::git::git_push_amend ... ok\ntest commands::git::git_push_and_fetch ... ok\ntest commands::git::git_push_canonical_lightweight_tags ... ok\ntest commands::git::git_push_canonical_annotated_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_unauthorized_delegate ... ok\ntest commands::id::rad_id_update_delete_field ... ok\ntest commands::init::rad_init ... ignored, part of many other tests\ntest commands::init::rad_init_bare ... ok\ntest commands::init::rad_init_detached_head ... ok\ntest commands::init::rad_init_existing ... ok\ntest commands::init::rad_init_existing_bare ... ok\ntest commands::init::rad_init_no_git ... ok\ntest commands::inbox::rad_inbox ... ok\ntest commands::init::rad_init_private ... ok\ntest commands::init::rad_init_no_seed ... 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 ... ok\ntest commands::node::rad_node_connect ... ok\ntest commands::patch::rad_merge_after_update ... ok\ntest commands::node::rad_node_connect_without_address ... 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_checkout ... ok\ntest commands::patch::rad_patch_change_base ... 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_review_by_hunk ... ok\ntest commands::policy::rad_block ... ok\ntest commands::patch::rad_push_and_pull_patches ... 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_fetch ... ok\ntest commands::sync::rad_sync ... 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::sync::test_replication_via_seed ... ok\ntest commands::utility::rad_diff ... ok\ntest commands::utility::rad_config ... 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 175.44s\n\n\nrunning 3 tests\ntest tests::test_parse ... ok\ntest tests::test_run ... ok\ntest tests::test_example_spaced_brackets ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 9 tests\ntest object::tests::test_serde ... ok\ntest tests::git::roundtrip ... ok\ntest tests::git::list_cobs ... ok\ntest tests::git::traverse_cobs ... ok\ntest tests::git::update_cob ... ok\ntest tests::invalid_parse_refstr ... ok\ntest type_name::test::invalid_typenames ... ok\ntest type_name::test::valid_typenames ... ok\ntest tests::parse_refstr ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.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_remove ... ok\ntest ssh::agent::test::test_agent_encoding_sign ... ok\ntest ssh::fmt::test::test_fingerprint ... ok\ntest ssh::fmt::test::test_key ... ok\ntest ssh::keystore::tests::test_init_no_passphrase ... ok\ntest ssh::keystore::tests::test_signer ... ok\ntest tests::prop_encode_decode ... ok\ntest tests::prop_key_equality ... ok\ntest tests::test_e25519_dh ... ok\ntest tests::test_encode_decode ... ok\ntest ssh::keystore::tests::test_init_passphrase ... ok\n\ntest result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.27s\n\n\nrunning 20 tests\ntest tests::test_contains ... ok\ntest tests::test_cycle ... ok\ntest tests::test_dependencies ... ok\ntest tests::test_diamond ... ok\ntest tests::test_fold_diamond ... ok\ntest tests::test_complex ... ok\ntest tests::test_fold_multiple_roots ... ok\ntest tests::test_fold_reject ... ok\ntest tests::test_fold_sorting_1 ... ok\ntest tests::test_get ... ok\ntest tests::test_fold_sorting_2 ... 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_prune_by_sorting ... ok\ntest tests::test_remove ... 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_parent ... ok\ntest commit::parse::test::error::invalid_tree ... ok\ntest commit::parse::test::error::missing_author ... ok\ntest commit::parse::test::error::missing_committer ... ok\ntest commit::parse::test::error::missing_header_body_separator ... ok\ntest commit::parse::test::error::missing_tree_empty_header ... ok\ntest commit::parse::test::error::missing_tree_wrong_first_line ... ok\ntest commit::parse::test::success::commit_last_paragraph_kept_in_message_when_not_all_trailers ... ok\ntest commit::parse::test::success::commit_gpgsig_is_preserved_and_strip_removes_it ... ok\ntest commit::parse::test::success::commit_with_extra_headers ... ok\ntest commit::parse::test::success::commit_with_multiline_gpgsig ... ok\ntest commit::parse::test::success::commit_with_single_parent ... ok\ntest commit::parse::test::success::commit_with_trailers ... ok\ntest commit::parse::test::success::root_commit ... ok\ntest commit::parse::test::success::merge_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_line_without_separator ... ok\ntest commit::parse::test::unit::trailers_rejects_invalid_token_chars ... 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_pattern ... ok\ntest test::qualified_invalid - should panic ... ok\ntest test::qualified_pattern_invalid - should panic ... ok\ntest test::refname_invalid - should panic ... ok\ntest test::refname ... 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 fingerprint::tests::matching ... ok\ntest reactor::timer::tests::test_next ... ok\ntest reactor::timer::tests::test_wake ... ok\ntest reactor::timer::tests::test_wake_exact ... ok\ntest control::tests::test_seed_unseed ... 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_dont_fetch_owned_refs ... ok\ntest tests::e2e::test_concurrent_fetches ... ok\ntest tests::e2e::test_fetch_followed_remotes ... ok\ntest tests::e2e::test_fetch_preserve_owned_refs ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update ... ok\ntest tests::e2e::test_fetch_unseeded ... 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_identity_doc ... ok\ntest tests::e2e::test_non_fastforward_sigrefs ... ok\ntest tests::e2e::test_outdated_delegate_sigrefs ... ok\ntest tests::e2e::test_outdated_sigrefs ... ok\ntest tests::e2e::test_replication ... ok\ntest tests::e2e::test_replication_invalid ... ok\ntest tests::e2e::test_replication_ref_in_sigrefs ... ok\ntest tests::test_announcement_message_amplification ... ok\ntest tests::test_announcement_rebroadcast ... ok\ntest tests::prop_inventory_exchange_dense ... ok\ntest tests::test_announcement_rebroadcast_timestamp_filtered ... ok\ntest tests::test_announcement_rebroadcast_duplicates ... 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_persistent_peer_connect ... ok\ntest tests::test_inventory_pruning ... ok\ntest tests::test_persistent_peer_reconnect_success ... ok\ntest tests::test_persistent_peer_reconnect_attempt ... ok\ntest tests::test_ping_response ... ok\ntest tests::test_queued_fetch_from_ann_same_rid ... ok\ntest tests::test_queued_fetch_from_command_same_rid ... ok\ntest tests::test_queued_fetch_max_capacity ... 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_seed_repo_subscribe ... ok\ntest tests::test_refs_synced_event ... 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 105.39s\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::different_rid_accepted ... ok\ntest fetcher::test::queue::properties::merge::combines_refs ... ok\ntest fetcher::test::queue::properties::merge::does_not_increase_queue_length ... ok\ntest fetcher::test::queue::properties::merge::longer_timeout_preserved ... ok\ntest fetcher::test::queue::properties::merge::empty_refs_fetches_all ... 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.31s\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_list_for_push ... ok\ntest protocol::tests::test_option ... ok\ntest protocol::tests::test_push ... ok\ntest protocol::tests::test_option_whitespace_preservation ... ok\ntest protocol::tests::test_push_delete ... ok\ntest protocol::tests::test_push_force ... 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_border_truncated ... ok\ntest table::test::test_table_truncate ... 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 ... ok\ntest textarea::test::test_wrapping_code_block ... 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>::max (line 96) ... ok\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>::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": 1776961540,
"nanos_since_epoch": 857651943
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1776961541,
"nanos_since_epoch": 555499343
},
"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": 1776961541,
"nanos_since_epoch": 555671663
},
"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": 1776961541,
"nanos_since_epoch": 555698580
},
"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-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\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-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Documenting radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)\n Documenting radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\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-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Documenting radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Documenting radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.23s\n Generated /workspace/cache/doc/radicle/index.html and 20 other files\n",
"timestamp": {
"secs_since_epoch": 1776961552,
"nanos_since_epoch": 863105524
},
"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": 1776961552,
"nanos_since_epoch": 906985274
},
"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": 1776961552,
"nanos_since_epoch": 914122614
},
"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": 1776961552,
"nanos_since_epoch": 929796994
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "HEAD is now at f015e70848 simulation/README: Note for running on NixOS\nHEAD detached at f015e70848\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=20260423T162553\n+ version=1.2.1.ci20260423T162553-1\n+ dch -v 1.2.1.ci20260423T162553-1 'CI build under Ambient.'\n+ dch -r ''\n",
"timestamp": {
"secs_since_epoch": 1776961553,
"nanos_since_epoch": 260903236
},
"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": 1776961553,
"nanos_since_epoch": 275451356
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1776961553,
"nanos_since_epoch": 291222385
},
"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": 1776961553,
"nanos_since_epoch": 293363194
},
"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=282\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=d615c8aaf8ea4fd2851556a8a5819693\nSHLVL=2\nJOURNAL_STREAM=8:13633\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.ci20260423T162553-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.ci20260423T162553.orig.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260423T162553-1.debian.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260423T162553-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.ci20260423T162553-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 13352\ndrwxr-xr-x 2 root root 4096 Apr 23 16:19 artifacts\ndrwxr-xr-x 5 root root 4096 Apr 23 07:59 cache\ndrwxr-xr-x 3 root root 4096 Apr 23 16:25 deps\n-rw-r--r-- 1 root root 2088 Apr 23 16:25 radicle_1.2.1.ci20260423T162553-1.debian.tar.xz\n-rw-r--r-- 1 root root 1028 Apr 23 16:25 radicle_1.2.1.ci20260423T162553-1.dsc\n-rw-r--r-- 1 root root 5907 Apr 23 16:28 radicle_1.2.1.ci20260423T162553-1_amd64.buildinfo\n-rw-r--r-- 1 root root 2023 Apr 23 16:28 radicle_1.2.1.ci20260423T162553-1_amd64.changes\n-rw-r--r-- 1 root root 12288960 Apr 23 16:28 radicle_1.2.1.ci20260423T162553-1_amd64.deb\n-rw-r--r-- 1 root root 1341704 Apr 23 16:25 radicle_1.2.1.ci20260423T162553.orig.tar.xz\ndrwxr-xr-x 14 root root 4096 Apr 23 16:25 src\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/bin/\n-rwxr-xr-x root/root 9244896 2026-04-23 16:25 ./usr/bin/git-remote-rad\n-rwxr-xr-x root/root 30980640 2026-04-23 16:25 ./usr/bin/rad\n-rwxr-xr-x root/root 13339288 2026-04-23 16:25 ./usr/bin/radicle-node\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/doc/\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/doc/radicle/\n-rw-r--r-- root/root 290 2026-04-23 16:25 ./usr/share/doc/radicle/changelog.Debian.gz\n-rw-r--r-- root/root 12326 2026-04-23 16:25 ./usr/share/doc/radicle/changelog.gz\n-rw-r--r-- root/root 357 2026-04-23 16:25 ./usr/share/doc/radicle/copyright\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/lintian/\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root 121 2026-04-23 16:25 ./usr/share/lintian/overrides/radicle\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/man/\ndrwxr-xr-x root/root 0 2026-04-23 16:25 ./usr/share/man/man1/\n-rw-r--r-- root/root 557 2026-04-23 16:25 ./usr/share/man/man1/git-remote-rad.1.gz\n-rw-r--r-- root/root 2701 2026-04-23 16:25 ./usr/share/man/man1/rad-id.1.gz\n-rw-r--r-- root/root 4362 2026-04-23 16:25 ./usr/share/man/man1/rad-patch.1.gz\n-rw-r--r-- root/root 3717 2026-04-23 16:25 ./usr/share/man/man1/rad.1.gz\n-rw-r--r-- root/root 493 2026-04-23 16:25 ./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.ci20260423T162553-1\n++ echo 1.2.1.ci20260423T162553-1\n++ sed 's/-[^-]*$//'\n+ uv=1.2.1.ci20260423T162553\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../radicle_1.2.1.ci20260423T162553.orig.tar.xz\n+ deb=../radicle_1.2.1.ci20260423T162553-1_amd64.deb\n+ changes=../radicle_1.2.1.ci20260423T162553-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 16s\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 56.95s\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.72s\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.ci20260423T162553-1_amd64.buildinfo\n dpkg-genchanges -O../radicle_1.2.1.ci20260423T162553-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../radicle_1.2.1.ci20260423T162553-1_amd64.deb\n+ mv ../radicle_1.2.1.ci20260423T162553-1.debian.tar.xz ../radicle_1.2.1.ci20260423T162553-1.dsc ../radicle_1.2.1.ci20260423T162553-1_amd64.buildinfo ../radicle_1.2.1.ci20260423T162553-1_amd64.changes ../radicle_1.2.1.ci20260423T162553-1_amd64.deb ../radicle_1.2.1.ci20260423T162553.orig.tar.xz /ci/artifacts/.\n",
"timestamp": {
"secs_since_epoch": 1776961711,
"nanos_since_epoch": 675500373
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1776961711,
"nanos_since_epoch": 775844583
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776961711,
"nanos_since_epoch": 776022291
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1776961725,
"nanos_since_epoch": 29036752
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776961725,
"nanos_since_epoch": 31656097
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1776961725,
"nanos_since_epoch": 70624969
},
"log_source": "Plan"
}{
"type": "plan_succeeded",
"timestamp": {
"secs_since_epoch": 1776961725,
"nanos_since_epoch": 74837007
},
"log_source": "Plan"
}{
"type": "executor_ends_successfully",
"timestamp": {
"secs_since_epoch": 1776961725,
"nanos_since_epoch": 76559019
},
"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": "1a437f7b0679cff046983b3e0c68172466d05308",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"title": "simulation: Manual simulation with Timoni & K8s",
"state": {
"status": "open",
"conflicts": []
},
"before": "b687817696bb6de77dd906a89750c2051b36d325",
"after": "f015e708489c97f572f6cd8d3c4053b87b7bbba0",
"commits": [
"f015e708489c97f572f6cd8d3c4053b87b7bbba0",
"995ee9ae2c6e6b417fa963a731166fc84312dc0d",
"ed7ebaf1969c6b6a8b7bd6304844942fc820093b",
"e0883df0204f9d15e674dd9c7a6074ffd147ff0c",
"4cc4589e6a16af858aa00b756a5832f9c51b402a",
"6a3db75a26f255f3c8cb711ac2abbe478f1fc487",
"a758baab86227d30a4a8c4ab1842b0e6e3c8f23c",
"89c47b55f9f46fc9b5a1e198c9a160ca62f4565c",
"b9202eb02f55b24c550ead86c8f738346f757d44",
"9919539ae8c0a433ded99dff9dec4183fe2eddf4"
],
"target": "b687817696bb6de77dd906a89750c2051b36d325",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "1a437f7b0679cff046983b3e0c68172466d05308",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "In anticipation of `cargo test` based simulation tests, this patch \nintroduces a Timoni module and justfile to manaually deploy a basic\nRadicle network inside of K8s defined in the `instances/network.cue`.\n\nThe Timoni module creates a set of roles: `peer`, `seed`, `bootstrap` \nthat can be arranged into toplogies for deployment in a k8s system. \nImages are provided by Radicle Garden via quay.io.\n\nTalos is the K8s cluster manager, provisioning by default on QEMU.\n\nThe `network.cue` topology definition creates a v1.8.0 `peer` and\n`bootstrap` node that can be manually interacted with inside the \nsimulation network.",
"base": "48551cde934370c0cf8a4127385d4a4a41c5ba4d",
"oid": "f4d85a3b1df5e1a2edab2289463417bf21e1aaca",
"timestamp": 1776076020
},
{
"id": "544abbb26c909f353858a6993e86e69161318286",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "",
"base": "48551cde934370c0cf8a4127385d4a4a41c5ba4d",
"oid": "fdb5b31a6aaeb2fe4c8622eb7bd77c378abe34fc",
"timestamp": 1776335191
},
{
"id": "46894bd268d80cdc146407e70b947f5ad7aac268",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Rebased",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "b6231ddb5e0e3ed8b823db4120a56c7b8cf35a26",
"timestamp": 1776438028
},
{
"id": "5afe029feab9270e80c490fcf617531cab54df1d",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "simulation: Extract external address configuration bash commands\n\nNames the set of commands that extract the external address and set in\nthe configuration of the `start` script for `seed` and `bootstrap` nodes.",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "ce34d6fd42ce66ed483111a83262cbca58c86460",
"timestamp": 1776698846
},
{
"id": "1c07129f151ef72fb9aa84f1901d0a367556fe79",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "simulation: Switch externalAddress config parsing to jq",
"base": "07c624499cdc34a7804f673ed373c66ce2af1acc",
"oid": "f5b7431ebf90e88153c7ce331a711382f6c10d91",
"timestamp": 1776858492
},
{
"id": "d7d05cf7da3a8821b74273dbc8dc177f66cfe331",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": "fintohaps"
},
"description": "Changes:\n- Rebase\n- Introduced requirements to flake.nix\n- Applied fix to find OVMF when on NixOS\n- Added note in simulation/README.md for required `configuration.nix` additions on NixOS",
"base": "b687817696bb6de77dd906a89750c2051b36d325",
"oid": "f015e708489c97f572f6cd8d3c4053b87b7bbba0",
"timestamp": 1776961178
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
<empty log>