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": 1777989581,
"nanos_since_epoch": 990572040
},
"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": 1777989581,
"nanos_since_epoch": 991225584
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1777989581,
"nanos_since_epoch": 991443413
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 30451876
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 30861620
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 30895428
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 31065841
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 183324885
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1777989582,
"nanos_since_epoch": 186023785
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1777989584,
"nanos_since_epoch": 149744545
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1777989584,
"nanos_since_epoch": 152331546
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 61949256
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 66357278
},
"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": 1777989602,
"nanos_since_epoch": 69519241
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 336090320
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 338477762
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 339219420
},
"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": 1777989602,
"nanos_since_epoch": 339249975
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 378009978
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 381688001
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 384829927
},
"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": 1777989602,
"nanos_since_epoch": 387867189
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 395986996
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 398915170
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 401614350
},
"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": 1777989602,
"nanos_since_epoch": 403536263
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 450398457
},
"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": 1777989602,
"nanos_since_epoch": 453099045
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 522590465
},
"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": 1777989602,
"nanos_since_epoch": 525324850
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989602,
"nanos_since_epoch": 562225084
},
"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": 1777989602,
"nanos_since_epoch": 564937340
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 453991513
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_fmt",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 454461291
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 454663305
},
"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": 1777989603,
"nanos_since_epoch": 454671991
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 488896930
},
"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": 1777989603,
"nanos_since_epoch": 489588135
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 538828685
},
"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": 1777989603,
"nanos_since_epoch": 541564448
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989603,
"nanos_since_epoch": 574552523
},
"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": 1777989603,
"nanos_since_epoch": 575014153
},
"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-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\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-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Checking radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n 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 10.90s\n",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 579381925
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 579926709
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 580140168
},
"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": 1777989614,
"nanos_since_epoch": 580149046
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 638237233
},
"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": 1777989614,
"nanos_since_epoch": 638777217
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 688662969
},
"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": 1777989614,
"nanos_since_epoch": 689152010
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989614,
"nanos_since_epoch": 725434694
},
"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": 1777989614,
"nanos_since_epoch": 728429130
},
"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-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Compiling radicle v0.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-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)\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-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.82s\n",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 623258335
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 623793293
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 624009099
},
"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": 1777989631,
"nanos_since_epoch": 624019127
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 678201194
},
"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": 1777989631,
"nanos_since_epoch": 678653579
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 728472011
},
"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": 1777989631,
"nanos_since_epoch": 728913139
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1777989631,
"nanos_since_epoch": 764347629
},
"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": 1777989631,
"nanos_since_epoch": 767068993
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "\nrunning 341 tests\ntest canonical::formatter::test::ascii_control_characters ... ok\ntest canonical::formatter::test::ordered_nested_object ... ok\ntest canonical::formatter::test::securesystemslib_asserts ... ok\ntest cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok\ntest cob::cache::migrations::_2::tests::test_migration_2 ... 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_reference ... ok\ntest cob::issue::test::test_invalid_tx ... ok\ntest cob::issue::test::test_issue_all ... ok\ntest cob::issue::test::test_issue_comment ... ok\ntest cob::issue::test::test_issue_create_and_assign ... ok\ntest cob::issue::test::test_issue_comment_redact ... ok\ntest cob::issue::test::test_issue_create_and_get ... ok\ntest cob::issue::test::test_issue_create_and_change_state ... ok\ntest cob::issue::test::test_issue_create_and_unassign ... ok\ntest cob::issue::test::test_issue_create_and_reassign ... ok\ntest cob::issue::test::test_issue_edit ... ok\ntest cob::issue::test::test_issue_edit_description ... ok\ntest cob::issue::test::test_issue_label ... ok\ntest cob::issue::test::test_issue_multilines ... 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::thread::tests::prop_ordering ... ok\ntest cob::thread::tests::test_comment_edit_missing ... ok\ntest cob::thread::tests::test_comment_edit_redacted ... ok\ntest cob::thread::tests::test_comment_redact_missing ... ok\ntest cob::thread::tests::test_duplicate_comments ... ok\ntest cob::thread::tests::test_edit_comment ... ok\ntest cob::thread::tests::test_redact_comment ... ok\ntest cob::thread::tests::test_timeline ... ok\ntest git::canonical::protect::tests::refs_rad ... ok\ntest git::canonical::protect::tests::refs_rad_id ... ok\ntest git::canonical::protect::tests::refs_radieschen ... ok\ntest git::canonical::quorum::test::merge_base_commutative ... ok\ntest git::canonical::quorum::test::test_merge_bases ... ok\ntest git::canonical::rules::tests::test_canonical ... ok\ntest git::canonical::rules::tests::test_deserialization ... ok\ntest git::canonical::rules::tests::test_deserialize_extensions ... ok\ntest git::canonical::rules::tests::test_order ... ok\ntest git::canonical::rules::tests::test_roundtrip ... ok\ntest git::canonical::rules::tests::test_rule_validate_failures ... ok\ntest git::canonical::rules::tests::test_rule_validate_success ... ok\ntest git::canonical::rules::tests::test_special_branches ... ok\ntest git::canonical::tests::test_commit_quorum_fork_of_a_fork ... ok\ntest git::canonical::tests::test_commit_quorum_forked_merge_commits ... ok\ntest git::canonical::tests::test_commit_quorum_groups ... ok\ntest git::canonical::tests::test_commit_quorum_linear ... ok\ntest git::canonical::tests::test_commit_quorum_merges ... ok\ntest git::canonical::tests::test_commit_quorum_single ... ok\ntest git::canonical::tests::test_commit_quorum_three_way_fork ... ok\ntest git::canonical::tests::test_commit_quorum_two_way_fork ... ok\ntest git::canonical::tests::test_quorum_different_types ... ok\ntest git::canonical::tests::test_quorum_properties ... ok\ntest git::canonical::tests::test_tag_quorum ... ok\ntest git::test::test_version_from_str ... ok\ntest git::test::test_version_ord ... ok\ntest identity::did::test::test_did_encode_decode ... ok\ntest identity::did::test::test_did_vectors ... ok\ntest cob::patch::cache::tests::test_find_by_revision ... ok\ntest identity::doc::test::test_canonical_doc ... ok\ntest identity::doc::test::test_canonical_example ... ok\ntest identity::doc::test::test_duplicate_dids ... ok\ntest identity::doc::test::test_future_version_error ... ok\ntest identity::doc::test::test_is_valid_version ... ok\ntest identity::doc::test::test_max_delegates ... ok\ntest identity::doc::test::test_not_found ... ok\ntest identity::doc::test::test_parse_version ... ok\ntest identity::doc::test::test_visibility_json ... ok\ntest identity::doc::update::test::test_can_update_crefs ... ok\ntest identity::doc::update::test::test_cannot_include_default_branch_rule ... ok\ntest identity::doc::update::test::test_default_branch_rule_exists_after_verification ... ok\ntest identity::project::test::test_project_name ... ok\ntest node::address::store::test::test_alias ... ok\ntest node::address::store::test::test_disconnected ... ok\ntest node::address::store::test::test_disconnected_ban ... ok\ntest node::address::store::test::test_empty ... ok\ntest node::address::store::test::test_entries ... ok\ntest node::address::store::test::test_entries_skips_unparsable_address ... ok\ntest node::address::store::test::test_get_none ... ok\ntest node::address::store::test::test_insert_and_get ... ok\ntest node::address::store::test::test_insert_and_remove ... ok\ntest node::address::store::test::test_insert_and_update ... ok\ntest node::address::store::test::test_insert_duplicate ... ok\ntest node::address::store::test::test_node_aliases ... ok\ntest node::address::store::test::test_remove_nothing ... ok\ntest node::command::test::command_result ... ok\ntest node::config::test::deserialize_migrating_scope ... ok\ntest node::config::test::fetch_level_min ... ok\ntest node::config::test::onion_absent ... ok\ntest node::config::test::onion_null ... ok\ntest node::config::test::partial ... ok\ntest node::config::test::regression_ipv6_address_brackets ... ok\ntest node::config::test::regression_ipv6_address_no_brackets ... ok\ntest node::config::test::serialize_migrating_scope ... ok\ntest node::config::test::user_agent_custom ... ok\ntest node::config::test::user_agent_default ... ok\ntest node::config::test::user_agent_default_explicit ... ok\ntest node::config::test::user_agent_opt_out ... ok\ntest node::db::config::test::database_config_valid_combinations ... ok\ntest node::db::config::test::invalid ... ok\ntest node::db::test::migration_8::all_ipv6_formatted_dns_addresses_are_retyped ... ok\ntest node::db::test::migration_8::dns_address_starting_with_bracket_but_missing_closing_bracket_colon_is_unaffected ... ok\ntest node::db::test::migration_8::dns_address_with_bracket_not_at_start_is_unaffected ... ok\ntest node::db::test::migration_8::ipv4_address_is_unaffected ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_deleted_when_correct_ipv6_row_already_exists ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_retyped_to_ipv6 ... ok\ntest node::db::test::migration_8::migration_applies_to_all_nodes ... ok\ntest node::db::test::migration_8::plain_dns_hostname_without_brackets_is_unaffected ... ok\ntest node::db::test::migration_8::retype_preserves_address_metadata ... ok\ntest node::db::test::migration_9::bracketed_non_ipv6_garbage_is_deleted ... ok\ntest node::db::test::migration_9::dns_row_is_unaffected_even_when_inner_part_has_no_colon ... ok\ntest node::db::test::migration_9::empty_brackets_ipv6_row_is_deleted ... ok\ntest node::db::test::migration_9::full_ipv6_address_is_kept ... ok\ntest node::db::test::migration_9::ipv4_row_is_unaffected ... ok\ntest node::db::test::migration_9::loopback_address_is_kept ... ok\ntest node::db::test::migration_9::unspecified_address_is_kept ... ok\ntest node::db::test::test_version ... ok\ntest node::features::test::test_operations ... ok\ntest node::notifications::store::test::test_branch_notifications ... ok\ntest node::notifications::store::test::test_clear ... ok\ntest node::notifications::store::test::test_cob_notifications ... ok\ntest node::notifications::store::test::test_counts_by_repo ... ok\ntest node::notifications::store::test::test_duplicate_notifications ... ok\ntest node::notifications::store::test::test_notification_status ... ok\ntest node::policy::store::test::test_follow_and_unfollow_node ... ok\ntest node::policy::store::test::test_node_aliases ... ok\ntest node::policy::store::test::test_node_policies ... ok\ntest node::policy::store::test::test_node_policy ... ok\ntest node::policy::store::test::test_repo_policies ... ok\ntest node::policy::store::test::test_repo_policy ... ok\ntest node::policy::store::test::test_seed_and_unseed_repo ... ok\ntest node::policy::store::test::test_update_alias ... ok\ntest node::policy::store::test::test_update_scope ... ok\ntest node::refs::store::test::test_count ... ok\ntest node::refs::store::test::test_set_and_delete ... ok\ntest node::refs::store::test::test_set_and_get ... ok\ntest node::routing::test::test_count ... ok\ntest node::routing::test::test_entries ... ok\ntest node::routing::test::test_insert_and_get ... ok\ntest node::routing::test::test_insert_and_get_resources ... ok\ntest node::routing::test::test_insert_and_remove ... ok\ntest node::routing::test::test_insert_duplicate ... ok\ntest node::routing::test::test_insert_existing_updated_time ... ok\ntest node::routing::test::test_len ... ok\ntest node::routing::test::test_prune ... ok\ntest node::routing::test::test_remove_many ... ok\ntest node::routing::test::test_remove_redundant ... ok\ntest node::routing::test::test_update_existing_multi ... ok\ntest node::sync::announce::test::all_synced_nodes_are_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_adapts_target_to_reach ... ok\ntest node::sync::announce::test::announcer_preferred_seeds_or_replica_factor ... ok\ntest node::sync::announce::test::announcer_reached_max_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_min_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_synced_with_unknown_node ... ok\ntest node::sync::announce::test::announcer_timed_out ... ok\ntest node::sync::announce::test::announcer_with_replication_factor_zero_and_preferred_seeds ... ok\ntest node::sync::announce::test::cannot_construct_announcer ... ok\ntest node::sync::announce::test::construct_node_appears_in_multiple_input_sets ... ok\ntest node::sync::announce::test::construct_only_preferred_seeds_provided ... ok\ntest node::sync::announce::test::invariant_progress_should_match_state ... ok\ntest node::sync::announce::test::local_node_in_multiple_sets ... ok\ntest node::sync::announce::test::local_node_in_preferred_seeds ... ok\ntest node::sync::announce::test::local_node_in_synced_set ... ok\ntest node::sync::announce::test::local_node_in_unsynced_set ... ok\ntest node::sync::announce::test::local_node_only_in_all_sets_results_in_no_seeds_error ... ok\ntest node::sync::announce::test::preferred_seeds_already_synced ... ok\ntest node::sync::announce::test::synced_with_local_node_is_ignored ... ok\ntest node::sync::announce::test::synced_with_same_node_multiple_times ... ok\ntest node::sync::announce::test::timed_out_after_reaching_success ... ok\ntest node::sync::fetch::test::all_nodes_are_candidates ... ok\ntest node::sync::fetch::test::all_nodes_are_fetchable ... ok\ntest node::sync::fetch::test::could_not_reach_target ... ok\ntest node::sync::fetch::test::ignores_duplicates_and_local_node ... ok\ntest node::sync::fetch::test::preferred_seeds_target_returned_over_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_max_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_preferred_seeds ... ok\ntest node::sync::fetch::test::reaches_target_of_replicas ... ok\ntest node::sync::test::ensure_replicas_construction ... ok\ntest node::sync::test::replicas_constrain_to ... ok\ntest node::test::test_address ... ok\ntest node::test::test_alias ... ok\ntest node::test::test_command_result ... ok\ntest node::test::test_user_agent ... ok\ntest node::timestamp::tests::test_timestamp_max ... ok\ntest profile::config::test::schema ... ok\ntest profile::test::canonicalize_home ... ok\ntest profile::test::test_config ... ok\ntest rad::tests::test_checkout ... ok\ntest rad::tests::test_fork ... ok\ntest rad::tests::test_init ... ok\ntest storage::git::tests::test_references_of ... ok\ntest storage::git::tests::test_sign_refs ... ok\ntest storage::git::transport::local::url::test::test_url_parse ... ok\ntest storage::git::transport::local::url::test::test_url_to_string ... ok\ntest storage::git::transport::remote::url::test::test_url_parse ... ok\ntest identity::doc::test::prop_encode_decode ... ok\ntest storage::refs::sigrefs::git::properties::idempotent_write ... ok\ntest storage::refs::sigrefs::git::properties::initial_commit_roundtrip ... ok\ntest storage::refs::sigrefs::property::idempotent ... ok\ntest storage::refs::sigrefs::git::properties::chain_roundtrip ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::identity_root_error ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::missing_commit ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::too_many_parents ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::tree_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::doc_blob_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::missing_identity ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_none ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_some ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::find_reference_error ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::missing_sigrefs ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::resolve_tip_ok ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::restore ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root_with_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_mismatched_identity_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_signature_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::invalid_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_no_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::alternating ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::chain ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::multiple ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::root_at_head ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::single_commit ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::two_commits ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_verify_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_both ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_refs ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_signature ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_signature_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_signature_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::tree_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_commit_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::no_head ... ok\ntest storage::refs::sigrefs::write::test::head_reader::read_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::reference_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_parse_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_parse_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::commit_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::head_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::never_write_rad_sigrefs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::reference_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged_force_writes_new_commit ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::sign_error ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_tree_error ... ok\ntest storage::refs::tests::prop_canonical_roundtrip ... ok\ntest storage::refs::tests::test_rid_verification ... ok\ntest storage::tests::test_storage ... ok\ntest test::assert::test::assert_with_message ... ok\ntest test::assert::test::test_assert_no_move ... ok\ntest test::assert::test::test_assert_panic_0 - should panic ... ok\ntest test::assert::test::test_assert_panic_1 - should panic ... ok\ntest test::assert::test::test_assert_panic_2 - should panic ... ok\ntest test::assert::test::test_assert_succeed ... ok\ntest test::assert::test::test_panic_message ... ok\ntest version::test::test_version ... ok\ntest storage::refs::sigrefs::property::roundtrip ... ok\n\ntest result: ok. 341 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.36s\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_parse_multiple_payloads ... ok\ntest commands::id::args::test::should_not_parse_single_payloads ... ok\ntest commands::init::args::test::should_not_parse_rid_url ... ok\ntest commands::id::args::test::should_parse_single_payload ... ok\ntest commands::init::args::test::should_parse_rid_non_urn ... ok\ntest commands::init::args::test::should_parse_rid_urn ... ok\ntest commands::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::inspect::test::test_tree ... ok\ntest commands::patch::review::builder::tests::test_review_comments_before ... ok\ntest commands::patch::review::builder::tests::test_review_comments_multiline ... ok\ntest commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok\ntest commands::publish::args::test::should_not_parse_rid_url ... ok\ntest commands::publish::args::test::should_parse_rid_non_urn ... ok\ntest commands::publish::args::test::should_parse_rid_urn ... ok\ntest commands::watch::args::test::should_parse_ref_str ... ok\ntest git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok\ntest git::pretty_diff::test::test_pretty ... ignored\ntest git::unified_diff::test::test_diff_content_encode_decode_content ... ok\ntest git::unified_diff::test::test_diff_encode_decode_diff ... ok\ntest terminal::args::test::should_not_parse ... ok\ntest terminal::args::test::should_parse_nid ... ok\ntest terminal::args::test::should_parse_rid ... ok\ntest terminal::format::test::test_bytes ... ok\ntest terminal::format::test::test_strip_comments ... ok\ntest terminal::patch::test::test_create_display_message ... ok\ntest terminal::patch::test::test_edit_display_message ... ok\ntest terminal::patch::test::test_update_display_message ... ok\n\ntest result: ok. 45 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 118 tests\ntest commands::clone::rad_clone ... ok\ntest commands::checkout::rad_checkout ... ok\ntest commands::clone::rad_clone_bare ... ok\ntest commands::clone::rad_clone_connect ... ok\ntest commands::clone::rad_clone_all ... ok\ntest commands::clone::rad_clone_directory ... ok\ntest commands::clone::rad_clone_partial_fail ... ok\ntest commands::clone::rad_clone_unknown ... ok\ntest commands::clone::test_clone_without_seeds ... ok\ntest commands::clone::rad_clone_scope ... ok\ntest commands::cob::rad_cob_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_annotated_tags ... ok\ntest commands::git::git_push_canonical_lightweight_tags ... ok\ntest commands::git::git_push_diverge ... ok\ntest commands::git::git_push_force_with_lease ... ok\ntest commands::git::git_push_converge ... ok\ntest commands::git::git_push_rollback ... ok\ntest commands::git::git_tag ... ok\ntest commands::id::rad_id_collaboration ... ignored, slow\ntest commands::id::rad_id ... ok\ntest commands::id::rad_id_conflict ... ok\ntest commands::id::rad_id_private ... ok\ntest commands::id::rad_id_multi_delegate ... ok\ntest commands::id::rad_id_threshold_soft_fork ... ok\ntest commands::id::rad_id_threshold ... ok\ntest commands::id::rad_id_unknown_field ... ok\ntest commands::id::rad_id_unauthorized_delegate ... ok\ntest commands::id::rad_id_update_delete_field ... ok\ntest commands::init::rad_init ... ignored, part of many other tests\ntest commands::init::rad_init_bare ... ok\ntest commands::init::rad_init_detached_head ... ok\ntest commands::init::rad_init_existing ... ok\ntest commands::init::rad_init_existing_bare ... ok\ntest commands::init::rad_init_no_git ... ok\ntest commands::init::rad_init_no_seed ... ok\ntest commands::init::rad_init_private ... ok\ntest commands::init::rad_init_private_clone ... ok\ntest commands::inbox::rad_inbox ... ok\ntest commands::init::rad_init_private_no_seed ... ok\ntest commands::init::rad_init_private_clone_seed ... ok\ntest commands::init::rad_init_private_seed ... ok\ntest commands::init::rad_init_sync_not_connected ... ok\ntest commands::init::rad_init_sync_preferred ... ok\ntest commands::init::rad_init_sync_and_clone ... ok\ntest commands::init::rad_init_with_existing_remote ... ok\ntest commands::init::rad_init_sync_timeout ... ok\ntest commands::init::rad_publish ... ok\ntest commands::issue::rad_issue ... ok\ntest commands::jj::rad_jj_bare ... ignored, the bare repository does not have a `rad` remote, and so it cannot determine the RID of the repository\ntest commands::jj::rad_jj_colocated_patch ... ok\ntest commands::issue::rad_issue_list ... ok\ntest commands::node::rad_node_connect ... ok\ntest commands::node::rad_node_connect_without_address ... ok\ntest commands::patch::rad_merge_after_update ... ok\ntest commands::patch::rad_merge_no_ff ... ok\ntest commands::node::rad_node ... ok\ntest commands::patch::rad_merge_via_push ... ok\ntest commands::patch::rad_patch ... ok\ntest commands::patch::rad_patch_ahead_behind ... ok\ntest commands::patch::rad_patch_change_base ... ok\ntest commands::patch::rad_patch_checkout ... ok\ntest commands::patch::rad_patch_checkout_revision ... ok\ntest commands::patch::rad_patch_checkout_force ... ok\ntest commands::patch::rad_patch_detached_head ... ok\ntest commands::patch::rad_patch_diff ... ok\ntest commands::patch::rad_patch_draft ... ok\ntest commands::patch::rad_patch_delete ... ok\ntest commands::patch::rad_patch_edit ... ok\ntest commands::patch::rad_patch_fetch_2 ... ok\ntest commands::patch::rad_patch_merge_draft ... ok\ntest commands::patch::rad_patch_fetch_1 ... 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_push_and_pull_patches ... ok\ntest commands::patch::rad_review_by_hunk ... ok\ntest commands::policy::rad_block ... ok\ntest commands::policy::rad_seed_and_follow ... ok\ntest commands::policy::rad_seed_many ... ok\ntest commands::policy::rad_seed_policy_allow_no_scope ... ok\ntest commands::policy::rad_seed_scope ... ok\ntest commands::policy::rad_unseed ... ok\ntest commands::policy::rad_unseed_many ... ok\ntest commands::patch::rad_patch_pull_update ... ok\ntest commands::sigpipe::config ... ok\ntest commands::sigpipe::help ... ok\ntest commands::sigpipe::rad_self ... ok\ntest commands::remote::rad_remote ... ok\ntest commands::sync::rad_sync ... ok\ntest commands::sync::rad_sync_without_node ... ok\ntest commands::sync::rad_fetch ... ok\ntest commands::utility::framework_home ... ok\ntest commands::utility::rad_auth ... ok\ntest commands::utility::rad_auth_errors ... ok\ntest commands::utility::rad_clean ... ok\ntest commands::utility::rad_config ... ok\ntest commands::utility::rad_diff ... ok\ntest commands::sync::test_replication_via_seed ... ok\ntest commands::utility::rad_help ... ok\ntest commands::utility::rad_inspect ... ok\ntest commands::utility::rad_key_mismatch ... ok\ntest commands::utility::rad_self ... ok\ntest commands::utility::rad_warn_old_nodes ... ok\ntest commands::watch::rad_watch ... ok\ntest commands::workflow::rad_workflow ... ok\ntest commands::utility::rad_fork ... ok\ntest rad_remote ... ok\n\ntest result: ok. 115 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 58.46s\n\n\nrunning 3 tests\ntest tests::test_parse ... ok\ntest tests::test_run ... ok\ntest tests::test_example_spaced_brackets ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 9 tests\ntest object::tests::test_serde ... ok\ntest tests::git::roundtrip ... ok\ntest tests::git::list_cobs ... ok\ntest tests::git::traverse_cobs ... ok\ntest tests::git::update_cob ... ok\ntest tests::invalid_parse_refstr ... ok\ntest type_name::test::invalid_typenames ... ok\ntest type_name::test::valid_typenames ... ok\ntest tests::parse_refstr ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s\n\n\nrunning 4 tests\ntest repo::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_fold_multiple_roots ... ok\ntest tests::test_fold_reject ... ok\ntest tests::test_fold_sorting_1 ... ok\ntest tests::test_fold_sorting_2 ... ok\ntest tests::test_complex ... ok\ntest tests::test_get ... ok\ntest tests::test_is_empty ... ok\ntest tests::test_len ... ok\ntest tests::test_merge_1 ... ok\ntest tests::test_merge_2 ... ok\ntest tests::test_prune_1 ... ok\ntest tests::test_prune_2 ... ok\ntest tests::test_remove ... ok\ntest tests::test_prune_by_sorting ... ok\ntest tests::test_siblings ... ok\n\ntest result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest stage::test::valid_refspecs ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 24 tests\ntest commit::parse::test::error::invalid_author ... ok\ntest commit::parse::test::error::invalid_committer ... ok\ntest commit::parse::test::error::invalid_format_continuation_without_preceding_header ... ok\ntest commit::parse::test::error::invalid_parent ... ok\ntest commit::parse::test::error::invalid_tree ... ok\ntest commit::parse::test::error::missing_author ... ok\ntest commit::parse::test::error::missing_committer ... ok\ntest commit::parse::test::error::missing_header_body_separator ... ok\ntest commit::parse::test::error::missing_tree_empty_header ... ok\ntest commit::parse::test::error::missing_tree_wrong_first_line ... ok\ntest commit::parse::test::success::commit_gpgsig_is_preserved_and_strip_removes_it ... ok\ntest commit::parse::test::success::commit_last_paragraph_kept_in_message_when_not_all_trailers ... ok\ntest commit::parse::test::success::commit_with_extra_headers ... ok\ntest commit::parse::test::success::commit_with_multiline_gpgsig ... ok\ntest commit::parse::test::success::commit_with_single_parent ... ok\ntest commit::parse::test::success::commit_with_trailers ... ok\ntest commit::parse::test::success::merge_commit ... ok\ntest commit::parse::test::success::root_commit ... ok\ntest commit::parse::test::unit::body_last_paragraph_not_trailers_stays_in_message ... ok\ntest commit::parse::test::success::roundtrip ... ok\ntest commit::parse::test::unit::body_no_paragraph_separator_means_no_trailers ... ok\ntest commit::parse::test::unit::trailers_accepts_empty_input ... ok\ntest commit::parse::test::unit::trailers_rejects_invalid_token_chars ... ok\ntest commit::parse::test::unit::trailers_rejects_line_without_separator ... ok\n\ntest result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 9 tests\ntest test::component ... ok\ntest test::component_invalid - should panic ... ok\ntest test::pattern ... ok\ntest test::qualified ... ok\ntest test::qualified_invalid - should panic ... ok\ntest test::qualified_pattern ... ok\ntest test::qualified_pattern_invalid - should panic ... ok\ntest test::refname ... ok\ntest test::refname_invalid - should panic ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest serde_impls::test::test_localtime ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 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_block_active_connection ... ok\ntest tests::e2e::test_background_foreground_fetch ... ok\ntest tests::e2e::test_block_prevents_connection ... ok\ntest tests::e2e::test_block_prevents_fetch ... ok\ntest tests::e2e::test_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_unseeded ... ok\ntest tests::e2e::test_fetch_up_to_date ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update ... ok\ntest tests::e2e::test_inventory_sync_basic ... ok\ntest tests::e2e::test_inventory_sync_bridge ... ok\ntest tests::e2e::test_inventory_sync_ring ... ok\ntest tests::e2e::test_large_fetch ... ok\ntest tests::e2e::test_migrated_clone ... ok\ntest tests::e2e::test_missing_remote ... ok\ntest tests::e2e::test_multiple_offline_inits ... ok\ntest tests::e2e::test_non_fast_forward_identity_doc ... ok\ntest tests::e2e::test_non_fast_forward_sigrefs ... ok\ntest tests::e2e::test_outdated_delegate_sigrefs ... ok\ntest tests::e2e::test_outdated_sigrefs ... ok\ntest tests::e2e::test_replication ... ok\ntest tests::e2e::test_inventory_sync_star ... ok\ntest tests::e2e::test_replication_invalid ... ok\ntest tests::e2e::test_replication_ref_in_sigrefs ... ok\ntest tests::prop_inventory_exchange_dense ... ok\ntest tests::test_announcement_rebroadcast ... ok\ntest tests::test_announcement_rebroadcast_duplicates ... ok\ntest tests::test_announcement_rebroadcast_timestamp_filtered ... ok\ntest tests::test_announcement_relay ... ok\ntest tests::test_connection_kept_alive ... ok\ntest tests::test_disconnecting_unresponsive_peer ... ok\ntest tests::test_fetch_missing_inventory_on_gossip ... ok\ntest tests::test_fetch_missing_inventory_on_schedule ... ok\ntest tests::test_inbound_connection ... ok\ntest tests::test_init_and_seed ... ok\ntest tests::test_inventory_decode ... ok\ntest tests::test_inventory_pruning ... ok\ntest tests::test_inventory_relay ... ok\ntest tests::test_inventory_relay_bad_timestamp ... ok\ntest tests::test_inventory_sync ... ok\ntest tests::test_maintain_connections ... ok\ntest tests::test_maintain_connections_failed_attempt ... ok\ntest tests::test_maintain_connections_transient ... ok\ntest tests::test_outbound_connection ... ok\ntest tests::test_persistent_peer_connect ... ok\ntest tests::test_persistent_peer_reconnect_attempt ... ok\ntest tests::test_persistent_peer_reconnect_success ... 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_announcement_message_amplification ... 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_synced_event ... ok\ntest tests::test_seed_repo_subscribe ... ok\ntest tests::test_seeding ... ok\ntest wire::test::test_inventory_ann_with_extension ... ok\ntest wire::test::test_pong_message_with_extension ... ok\ntest tests::test_refs_announcement_relay_public ... ok\n\ntest result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.40s\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_roundtrip ... ok\n\ntest result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 99 tests\ntest deserializer::test::test_decode_next ... ok\ntest deserializer::test::test_unparsed ... ok\ntest deserializer::test::prop_decode_next ... ok\ntest fetcher::service::tests::test_fetch_coalescing_different_refs ... ok\ntest fetcher::test::queue::properties::capacity::bounded ... ok\ntest fetcher::test::queue::properties::capacity::capacity_reached_returns_same_item ... ok\ntest fetcher::test::queue::properties::capacity::rejection ... ok\ntest fetcher::test::queue::properties::dequeue::drained_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::empty_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::enables_reenqueue ... ok\ntest fetcher::test::queue::properties::capacity::restored_after_dequeue ... ok\ntest fetcher::test::queue::properties::equality::reflexive ... ok\ntest fetcher::test::queue::properties::equality::symmetric ... ok\ntest fetcher::test::queue::properties::fifo::interleaved_operations ... ok\ntest fetcher::test::queue::properties::fifo::ordering ... ok\ntest fetcher::test::queue::properties::equality::transitive ... ok\ntest fetcher::test::queue::properties::merge::combines_refs ... ok\ntest fetcher::test::queue::properties::merge::different_rid_accepted ... ok\ntest fetcher::test::queue::properties::merge::does_not_increase_queue_length ... ok\ntest fetcher::test::queue::properties::merge::longer_timeout_preserved ... ok\ntest fetcher::test::queue::properties::merge::empty_refs_fetches_all ... ok\ntest fetcher::test::queue::properties::merge::same_rid_merges_anywhere_in_queue ... 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::queue::properties::merge::succeed_when_at_capacity ... 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_start_first_fetch_for_node ... ok\ntest fetcher::test::state::command::fetch::fetch_same_repo_different_refs_enqueues ... ok\ntest fetcher::test::state::command::fetched::complete_single_ongoing ... ok\ntest fetcher::test::state::command::fetched::complete_one_of_multiple ... ok\ntest fetcher::test::state::command::fetched::non_existent_returns_not_found ... ok\ntest fetcher::test::state::command::fetched::complete_then_dequeue_fifo ... ok\ntest fetcher::test::state::concurrent::fetched_then_cancel ... ok\ntest fetcher::test::state::concurrent::interleaved_operations ... 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_message_decoder ... ok\ntest wire::message::tests::prop_roundtrip_message ... 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_zero_bytes_encode_decode ... 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.65s\n\n\nrunning 12 tests\ntest protocol::tests::test_empty ... ok\ntest protocol::tests::test_capabilities ... ok\ntest protocol::tests::test_fetch ... ok\ntest protocol::tests::test_fetch_whitespace ... ok\ntest protocol::tests::test_list ... ok\ntest protocol::tests::test_invalid ... ok\ntest protocol::tests::test_list_for_push ... ok\ntest protocol::tests::test_option ... ok\ntest protocol::tests::test_option_whitespace_preservation ... ok\ntest protocol::tests::test_push ... 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 cell::test::test_width ... ok\ntest ansi::tests::wrapping ... ok\ntest element::test::test_spaced ... ok\ntest element::test::test_width ... ok\ntest element::test::test_truncate ... ok\ntest table::test::test_table ... ok\ntest table::test::test_table_border_maximized ... ok\ntest table::test::test_table_border ... ok\ntest table::test::test_table_truncate ... ok\ntest table::test::test_table_border_truncated ... ok\ntest table::test::test_table_unicode ... ok\ntest table::test::test_table_unicode_truncate ... ok\ntest table::test::test_truncate ... ok\ntest textarea::test::test_wrapping ... ok\ntest textarea::test::test_wrapping_code_block ... ok\ntest textarea::test::test_wrapping_fenced_block ... ok\ntest textarea::test::test_wrapping_paragraphs ... ok\ntest vstack::test::test_vstack ... ok\ntest vstack::test::test_vstack_maximize ... 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 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 6 tests\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... 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-feef8a2fb5d9097b)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-2cbf9a688504111d)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-26d21292927690bc)\n Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-888006076f7cc98a)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli_test-3dd7c8adc3cccc36)\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-8a709a6153133cb4)\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_log-b9f1e6e516b2e852)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_node-aff1e5d9156f8153)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_node-c7a273296da6b787)\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-b1241c7718cbb27f)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/git_remote_rad-1d12cbf37490b4b7)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_schemars-ea562c5c105863bf)\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_log\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": 1777989728,
"nanos_since_epoch": 782320937
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1777989729,
"nanos_since_epoch": 487078763
},
"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": 1777989729,
"nanos_since_epoch": 487234803
},
"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": 1777989729,
"nanos_since_epoch": 487443539
},
"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\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/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-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Checking radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Checking radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)\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-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\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-log v0.1.0 (/ci/src/crates/radicle-log)\n Documenting radicle-term v0.17.0 (/ci/src/crates/radicle-term)\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-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n Documenting radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Documenting radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n Documenting radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n Documenting radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n Documenting radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)\n Documenting radicle v0.23.0 (/ci/src/crates/radicle)\n Documenting radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Documenting radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n Documenting radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n Documenting radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Documenting radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Documenting radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Documenting radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n Documenting radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Documenting radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Documenting radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.28s\n Generated /workspace/cache/doc/radicle/index.html and 21 other files\n",
"timestamp": {
"secs_since_epoch": 1777989740,
"nanos_since_epoch": 878076966
},
"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": 1777989740,
"nanos_since_epoch": 924827924
},
"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": 1777989740,
"nanos_since_epoch": 931992917
},
"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": 1777989740,
"nanos_since_epoch": 947727975
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "HEAD is now at 94e577cf0 log: New crate for logger implementations\nHEAD detached at 94e577cf0\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\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/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=20260505T140221\n+ version=1.2.1.ci20260505T140221-1\n+ dch -v 1.2.1.ci20260505T140221-1 'CI build under Ambient.'\n+ dch -r ''\n",
"timestamp": {
"secs_since_epoch": 1777989741,
"nanos_since_epoch": 202783026
},
"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": 1777989741,
"nanos_since_epoch": 203256127
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1777989741,
"nanos_since_epoch": 203455674
},
"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": 1777989741,
"nanos_since_epoch": 203678663
},
"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\nMEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=379\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nMEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=d91546990eb5452b8cc46cc0ad447f29\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:3137\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/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.ci20260505T140221-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.ci20260505T140221.orig.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260505T140221-1.debian.tar.xz\ndpkg-source: info: building radicle in radicle_1.2.1.ci20260505T140221-1.dsc\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_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.ci20260505T140221-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 13396\ndrwxr-xr-x 2 root root 4096 May 5 13:59 artifacts\ndrwxr-xr-x 5 root root 4096 May 5 11:09 cache\ndrwxr-xr-x 3 root root 4096 May 5 14:04 deps\n-rw-r--r-- 1 root root 2096 May 5 14:02 radicle_1.2.1.ci20260505T140221-1.debian.tar.xz\n-rw-r--r-- 1 root root 1028 May 5 14:02 radicle_1.2.1.ci20260505T140221-1.dsc\n-rw-r--r-- 1 root root 5380 May 5 14:05 radicle_1.2.1.ci20260505T140221-1_amd64.buildinfo\n-rw-r--r-- 1 root root 2023 May 5 14:05 radicle_1.2.1.ci20260505T140221-1_amd64.changes\n-rw-r--r-- 1 root root 12339732 May 5 14:05 radicle_1.2.1.ci20260505T140221-1_amd64.deb\n-rw-r--r-- 1 root root 1337696 May 5 14:02 radicle_1.2.1.ci20260505T140221.orig.tar.xz\ndrwxr-xr-x 14 root root 4096 May 5 14:02 src\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/bin/\n-rwxr-xr-x root/root 9308592 2026-05-05 14:02 ./usr/bin/git-remote-rad\n-rwxr-xr-x root/root 31197800 2026-05-05 14:02 ./usr/bin/rad\n-rwxr-xr-x root/root 13466144 2026-05-05 14:02 ./usr/bin/radicle-node\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/doc/\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/doc/radicle/\n-rw-r--r-- root/root 289 2026-05-05 14:02 ./usr/share/doc/radicle/changelog.Debian.gz\n-rw-r--r-- root/root 12650 2026-05-05 13:59 ./usr/share/doc/radicle/changelog.gz\n-rw-r--r-- root/root 357 2026-05-05 13:59 ./usr/share/doc/radicle/copyright\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/lintian/\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root 121 2026-05-05 13:59 ./usr/share/lintian/overrides/radicle\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/man/\ndrwxr-xr-x root/root 0 2026-05-05 14:02 ./usr/share/man/man1/\n-rw-r--r-- root/root 556 2026-05-05 14:02 ./usr/share/man/man1/git-remote-rad.1.gz\n-rw-r--r-- root/root 2699 2026-05-05 14:02 ./usr/share/man/man1/rad-id.1.gz\n-rw-r--r-- root/root 4363 2026-05-05 14:02 ./usr/share/man/man1/rad-patch.1.gz\n-rw-r--r-- root/root 3715 2026-05-05 14:02 ./usr/share/man/man1/rad.1.gz\n-rw-r--r-- root/root 491 2026-05-05 14:02 ./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'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/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.ci20260505T140221-1\n++ echo 1.2.1.ci20260505T140221-1\n++ sed 's/-[^-]*$//'\n+ uv=1.2.1.ci20260505T140221\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../radicle_1.2.1.ci20260505T140221.orig.tar.xz\n+ deb=../radicle_1.2.1.ci20260505T140221-1_amd64.deb\n+ changes=../radicle_1.2.1.ci20260505T140221-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 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-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)\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-cli v0.20.0 (/ci/src/crates/radicle-cli)\n Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Finished `release` profile [optimized] target(s) in 1m 18s\n Installing debian/radicle/usr/bin/rad\n Installed package `radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)` (executable `rad`)\nwarning: be sure to add `debian/radicle/usr/bin` to your PATH to be able to run the installed binaries\n Installing radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n Compiling radicle 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-term v0.17.0 (/ci/src/crates/radicle-term)\n Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Compiling radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\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 57.24s\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.76s\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\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 from: /lib64/ld-linux-x86-64.so.2\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 to: /lib64/ld-linux-x86-64.so.2.usr-is-merged\n dpkg-genbuildinfo -O../radicle_1.2.1.ci20260505T140221-1_amd64.buildinfo\n dpkg-genchanges -O../radicle_1.2.1.ci20260505T140221-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../radicle_1.2.1.ci20260505T140221-1_amd64.deb\n+ mv ../radicle_1.2.1.ci20260505T140221-1.debian.tar.xz ../radicle_1.2.1.ci20260505T140221-1.dsc ../radicle_1.2.1.ci20260505T140221-1_amd64.buildinfo ../radicle_1.2.1.ci20260505T140221-1_amd64.changes ../radicle_1.2.1.ci20260505T140221-1_amd64.deb ../radicle_1.2.1.ci20260505T140221.orig.tar.xz /ci/artifacts/.\n",
"timestamp": {
"secs_since_epoch": 1777989901,
"nanos_since_epoch": 792821055
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "deb",
"packages": ".",
"timestamp": {
"secs_since_epoch": 1777989901,
"nanos_since_epoch": 896808849
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1777989901,
"nanos_since_epoch": 896991793
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1777989920,
"nanos_since_epoch": 433796530
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1777989920,
"nanos_since_epoch": 437446605
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1777989920,
"nanos_since_epoch": 470863761
},
"log_source": "Plan"
}{
"type": "plan_succeeded",
"timestamp": {
"secs_since_epoch": 1777989920,
"nanos_since_epoch": 471336102
},
"log_source": "Plan"
}{
"type": "executor_ends_successfully",
"timestamp": {
"secs_since_epoch": 1777989920,
"nanos_since_epoch": 471557302
},
"log_source": "Plan"
}{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Updated",
"patch": {
"id": "561a3569f5f958d17b1e506d7f1eb8d2f35e28bd",
"author": {
"id": "did:key:z6MkwGoyYxt6A2VE3fvZyH2rgiWdsXHBeV7jm7GSByS2aagA",
"alias": "ade"
},
"title": "logger: Respect config file log level",
"state": {
"status": "open",
"conflicts": []
},
"before": "998f527bd4d971525137458adbb6e44efa4ad52c",
"after": "94e577cf034b238697c4e11a5bcc156e79207f9c",
"commits": [
"94e577cf034b238697c4e11a5bcc156e79207f9c",
"5eae519b5464ec9ae664df96140d61d5fc426fc3"
],
"target": "5d93a46c0e32d07e4eb00d6ac2c02e4bd2db9fdc",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "561a3569f5f958d17b1e506d7f1eb8d2f35e28bd",
"author": {
"id": "did:key:z6MkwGoyYxt6A2VE3fvZyH2rgiWdsXHBeV7jm7GSByS2aagA",
"alias": "ade"
},
"description": "- Fixes a bug where the log level set in the config file was\n ignored: `Logger` and `StderrLogger` captured the level in a\n `self.level` field at construction time and checked it in\n `Log::enabled`. After config was loaded, the global\n `log::set_max_level` was updated but `self.level` was not,\n so verbose messages were dropped by the per-instance filter\n even when the global filter allowed them.\n- Make `log::set_max_level` the single source of truth: remove\n the `level` field and have `Log::enabled` defer to\n `log::max_level()` so the two filters can no longer drift.\n- Update call sites to construct loggers without a level.\n- Disable the structured logger's internal filter (set to\n \"trace\") so `log::set_max_level` is the sole control point\n there too.",
"base": "998f527bd4d971525137458adbb6e44efa4ad52c",
"oid": "5eae519b5464ec9ae664df96140d61d5fc426fc3",
"timestamp": 1777972537
},
{
"id": "1864eef2367f8b651f662455d2b40d688807cd01",
"author": {
"id": "did:key:z6MkwGoyYxt6A2VE3fvZyH2rgiWdsXHBeV7jm7GSByS2aagA",
"alias": "ade"
},
"description": "Move logging-related module `radicle::logging` into its own crate.",
"base": "998f527bd4d971525137458adbb6e44efa4ad52c",
"oid": "59cb65a763f05c2e7563ff97d6ffdb6d7b0b3872",
"timestamp": 1777988952
},
{
"id": "7b5540470254b65c677e650f0d3393fbb8351e14",
"author": {
"id": "did:key:z6MkwGoyYxt6A2VE3fvZyH2rgiWdsXHBeV7jm7GSByS2aagA",
"alias": "ade"
},
"description": "Amend commit msg",
"base": "998f527bd4d971525137458adbb6e44efa4ad52c",
"oid": "94e577cf034b238697c4e11a5bcc156e79207f9c",
"timestamp": 1777989526
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
<empty log>