Radicle repository id rad:z39mP9rQAaGmERfUMPULfPUi473tY
[2025-11-14T00:42:05Z INFO ambient] ambient starts
deprecated: the `cpus` field is replaced by `qemu.cpus`
deprecated: the `memory` field is replaced by `qemu.memory`
[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0): Not Found
BdsDxe: loading Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0)
[0m[30m[47mWelcome to GRUB!
[0m[37m[40m[0m[30m[40m[2J[01;01H[0m[37m[40mINFO: Block devices
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 370K 0 rom
vda 254:0 0 100G 0 disk
├─vda1 254:1 0 953M 0 part
└─vda2 254:2 0 99.1G 0 part /
vdb 254:16 0 6.1M 1 disk
vdc 254:32 0 6.6M 1 disk
vdd 254:48 0 953.7M 0 disk
vde 254:64 0 27.9G 0 disk
vdf 254:80 0 925.3M 1 disk
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad 0 2025-11-14 00:41 ./
-rw-r--r-- _rad/_rad 877 2025-11-14 00:41 ./plan.yaml
-rwxr-xr-x _rad/_rad 6361344 2025-11-14 00:41 ./run-ci
INFO: Extracted files:
5767197 4 drwxr-xr-x 2 1000 1000 4096 Nov 14 00:41 .
5767198 4 -rw-r--r-- 1 1000 1000 877 Nov 14 00:41 ./plan.yaml
5767199 6216 -rwxr-xr-x 1 1000 1000 6361344 Nov 14 00:41 ./run-ci
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
[2025-11-14T00:41:50Z TRACE ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z DEBUG ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z INFO ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z WARN ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z ERROR ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
RunnablePlan::from_file: filename=plan.yaml
steps:
- action: mkdir
pathname: /workspace
- action: mkdir
pathname: /workspace/artifacts
- action: tar_extract
archive: /dev/vdc
directory: /workspace/src
- action: tar_extract
archive: /dev/vdf
directory: /workspace/deps
- action: tar_extract
archive: /dev/vde
directory: /workspace/cache
- action: spawn
argv:
- find
- /workspace
- -maxdepth
- '2'
- -ls
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_build
- action: cargo_test
- action: tar_create
archive: /dev/vde
directory: /workspace/cache
- action: tar_create
archive: /dev/vdd
directory: /workspace/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /workspace
source_dir: /workspace/src
deps_dir: /workspace/deps
cache_dir: /workspace/cache
artifacts_dir: /workspace/artifacts
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action Mkdir {
pathname: "/workspace",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=Mkdir {
pathname: "/workspace",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action Mkdir {
pathname: "/workspace/artifacts",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=Mkdir {
pathname: "/workspace/artifacts",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
[2025-11-14T00:41:52Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:52Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:52Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
}
[2025-11-14T00:41:52Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
}
[2025-11-14T00:41:52Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:52Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
[2025-11-14T00:41:58Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
}
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
}
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
cwd=/workspace/src (exists? true)
1572865 4 drwxr-xr-x 6 root root 4096 Nov 14 00:41 /workspace
1573475 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/deps
1602428 120 -rw-r--r-- 1 root root 122880 Nov 14 00:41 /workspace/deps/.global-cache
1602430 0 -rw-r--r-- 1 root root 0 Sep 10 13:34 /workspace/deps/.package-cache
1573476 4 drwxr-xr-x 5 root root 4096 Sep 10 13:34 /workspace/deps/registry
1602429 0 -rw-r--r-- 1 root root 0 Sep 10 13:34 /workspace/deps/.package-cache-mutate
1572867 4 drwxr-xr-x 9 root root 4096 Nov 14 00:41 /workspace/src
1572902 92 -rw-r--r-- 1 root root 90685 Nov 14 00:41 /workspace/src/demo.png
1572968 4 drwxr-xr-x 8 root root 4096 Nov 14 00:41 /workspace/src/.git
1572894 4 -rw-r--r-- 1 root root 3624 Nov 14 00:41 /workspace/src/flake.nix
1572954 12 -rw-r--r-- 1 root root 9723 Nov 14 00:41 /workspace/src/LICENSE-APACHE
1572868 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/src/src
1572961 4 -rw-r--r-- 1 root root 88 Nov 14 00:41 /workspace/src/.gitsigners
1572901 4 -rw-r--r-- 1 root root 87 Nov 14 00:41 /workspace/src/deny.toml
1572955 4 -rw-r--r-- 1 root root 2074 Nov 14 00:41 /workspace/src/Cargo.toml
1572904 4 drwxr-xr-x 5 root root 4096 Nov 14 00:41 /workspace/src/bin
1572893 4 -rw-r--r-- 1 root root 77 Nov 14 00:41 /workspace/src/rust-toolchain.toml
1572966 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/.cargo
1572903 4 -rw-r--r-- 1 root root 1172 Nov 14 00:41 /workspace/src/build.rs
1572953 4 -rw-r--r-- 1 root root 1079 Nov 14 00:41 /workspace/src/LICENSE-MIT
1572952 12 -rw-r--r-- 1 root root 8533 Nov 14 00:41 /workspace/src/README.md
1572895 4 -rw-r--r-- 1 root root 2945 Nov 14 00:41 /workspace/src/flake.lock
1572896 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/examples
1572963 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/src/.github
1572956 108 -rw-r--r-- 1 root root 108154 Nov 14 00:41 /workspace/src/Cargo.lock
1572958 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/.radicle
1572957 4 -rw-r--r-- 1 root root 3089 Nov 14 00:41 /workspace/src/CHANGELOG.md
1572962 4 -rw-r--r-- 1 root root 31 Nov 14 00:41 /workspace/src/.gitignore
1602431 4 drwxr-xr-x 3 root root 4096 Sep 20 05:44 /workspace/cache
1602432 4 -rw-r--r-- 1 root root 1037 Nov 14 00:41 /workspace/cache/.rustc_info.json
1602433 4 drwxr-xr-x 7 root root 4096 Nov 12 14:54 /workspace/cache/debug
1572866 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/artifacts
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action CargoFmt
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=CargoFmt
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.88.0 (873a06493 2025-05-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.88 (6b00bc3880 2025-06-23)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.88.0 (6b00bc388 2025-06-23)
SPAWN: argv=["cargo", "fmt", "--check"]
cwd=/workspace/src (exists? true)
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action CargoClippy
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=CargoClippy
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.88.0 (873a06493 2025-05-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.88 (6b00bc3880 2025-06-23)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.88.0 (6b00bc388 2025-06-23)
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
cwd=/workspace/src (exists? true)
Compiling radicle-tui v0.6.0 (/workspace/src)
error: unused import: `radicle::node`
--> bin/commands/inbox/list.rs:20:5
|
20 | use radicle::node;
| ^^^^^^^^^^^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
error: unused variable: `mode`
--> bin/commands/inbox/list.rs:134:17
|
134 | let mode = match &context.mode.repository() {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
|
= note: `-D unused-variables` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_variables)]`
error: variant `ApplySorting` is never constructed
--> bin/commands/inbox/list.rs:266:5
|
259 | pub enum Message {
| ------- variant in this enum
...
266 | ApplySorting,
| ^^^^^^^^^^^^
|
= note: `Message` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
= note: `-D dead-code` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(dead_code)]`
error: called `map(..).flatten()` on `Iterator`
--> bin/commands/inbox/list/ui.rs:301:14
|
301 | .map(|f| match f {
| ______________^
302 | | NotificationFilter::State(state) => Some(state),
303 | | _ => None,
304 | | })
305 | | .flatten()
| |______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten
= note: `-D clippy::map-flatten` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::map_flatten)]`
help: try replacing `map` with `filter_map` and remove the `.flatten()`
|
301 ~ .filter_map(|f| match f {
302 + NotificationFilter::State(state) => Some(state),
303 + _ => None,
304 + })
|
error: using `.iter().next()` on an array
--> bin/commands/inbox/list.rs:85:9
|
85 | self.inner.iter().next().cloned()
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `self.inner.first()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice
= note: `-D clippy::iter-next-slice` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::iter_next_slice)]`
error: redundant closure
--> bin/ui/items/notification.rs:447:42
|
447 | types.iter().any(|other| match_type(other))
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `match_type`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `-D clippy::redundant-closure` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::redundant_closure)]`
error: variables can be used directly in the `format!` string
--> bin/ui/items/notification.rs:592:40
|
592 | ... return Err(format!("Unparsed input remaining: '{}'", remaining));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `-D clippy::uninlined-format-args` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::uninlined_format_args)]`
help: change this to
|
592 - return Err(format!("Unparsed input remaining: '{}'", remaining));
592 + return Err(format!("Unparsed input remaining: '{remaining}'"));
|
error: variables can be used directly in the `format!` string
--> bin/ui/items/notification.rs:605:35
|
605 | Err(e) => Err(format!("Parse error: {}", e)),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
605 - Err(e) => Err(format!("Parse error: {}", e)),
605 + Err(e) => Err(format!("Parse error: {e}")),
|
error: could not compile `radicle-tui` (bin "rad-tui") due to 8 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `radicle-tui` (bin "rad-tui" test) due to 8 previous errors
[2025-11-14T00:42:02Z ERROR ambient_ci::plan] ERROR: Action failed: failed to execute cargo
[2025-11-14T00:42:02Z ERROR ambient_ci::plan] caused by: command failed: "cargo": exit code 101
ERROR: failed to execute cargo
caused by: command failed: "cargo": exit code 101
EXIT CODE: 1
[2025-11-14T00:42:05Z INFO ambient] ambient ends successfully
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z39mP9rQAaGmERfUMPULfPUi473tY",
"name": "radicle-tui",
"description": "Radicle terminal user interface",
"private": false,
"default_branch": "main",
"delegates": [
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkswQE8gwZw924amKatxnNCXA55BMupMmRg7LvJuim2C1V",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "cd0ff439a0580ef9cc15d6e1a45fb5fa8a3e528f",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"title": "bin/inbox: Improve loading & filtering notifications",
"state": {
"status": "draft",
"conflicts": []
},
"before": "ee20b956ad6fd11194160bcebb2b640134fe7607",
"after": "f06dad54979a7c7889cf8af4670a1ce0f43b3b85",
"commits": [
"f06dad54979a7c7889cf8af4670a1ce0f43b3b85",
"c66a399c8ae426654b22dda9351337cd9b25c0e0",
"904586f8c6a83b9f19b429c54e43f1c2b2067825",
"fe60e62dd784890f45080b2a8a15e19e2577b63e",
"c7aff1b4b97a7b8c544e11b46d8486c6ffd0924a",
"df8eedef7a81a92e66fec7edaab05988d4491241",
"5b90f92b5fcc3a9d5a14b5e99d5645dd019d53ca",
"1a768ecea03c9efef5ab7efdf0620b47e1aac2b2",
"4ec2cd1ee338b76e4d239ade31894aa9a86d6ffd"
],
"target": "ee20b956ad6fd11194160bcebb2b640134fe7607",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "cd0ff439a0580ef9cc15d6e1a45fb5fa8a3e528f",
"author": {
"id": "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"alias": "erikli"
},
"description": "Firstly, this patch reworks the filter expression grammar and fixes some issues\naround the filter's UI integration.\n\nSecondly, this implements an async notification loading mechanism using a\nworker that sends progress updates to the app's message channel.",
"base": "ee20b956ad6fd11194160bcebb2b640134fe7607",
"oid": "f06dad54979a7c7889cf8af4670a1ce0f43b3b85",
"timestamp": 1763080816
}
]
}
}[2025-11-14T00:41:37Z INFO ambient] ambient starts
[2025-11-14T00:41:37Z DEBUG ambient] load default configuration file /home/_rad/.config/ambient/config.yaml if it exists
deprecated: the `cpus` field is replaced by `qemu.cpus`
deprecated: the `memory` field is replaced by `qemu.memory`
[2025-11-14T00:41:37Z DEBUG ambient] complete configuration: Config {
tmpdir: "/home/_rad/tmp",
image_store: "/home/_rad/ambient-images",
projects: "/dev/null",
state: "/home/_rad/ambient-state",
rsync_target: None,
rsync_target_base: None,
rsync_target_map: None,
dput_target: None,
executor: Some(
"/usr/bin/ambient-execute-plan",
),
artifacts_max_size: Byte(
1000000000,
),
cache_max_size: Byte(
30000000000,
),
qemu: QemuConfig {
cpus: 2,
memory: Byte(
12000000000,
),
kvm_binary: "/usr/bin/kvm",
ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
},
}
[2025-11-14T00:41:37Z DEBUG ambient] configuration: Config {
tmpdir: "/home/_rad/tmp",
image_store: "/home/_rad/ambient-images",
projects: "/dev/null",
state: "/home/_rad/ambient-state",
rsync_target: None,
rsync_target_base: None,
rsync_target_map: None,
dput_target: None,
executor: Some(
"/usr/bin/ambient-execute-plan",
),
artifacts_max_size: Byte(
1000000000,
),
cache_max_size: Byte(
30000000000,
),
qemu: QemuConfig {
cpus: 2,
memory: Byte(
12000000000,
),
kvm_binary: "/usr/bin/kvm",
ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
},
}
[2025-11-14T00:41:37Z DEBUG ambient_ci::project] load project state from /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/meta.yaml
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] latest commit: "ee20b956ad6fd11194160bcebb2b640134fe7607"
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] is a git repository
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] git repository is clean
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] current (HEAD) commit: f06dad54979a7c7889cf8af4670a1ce0f43b3b85
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] no dry run requested
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] forced run requested
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] run? true
[2025-11-14T00:41:37Z INFO ambient_ci::run] project rad:z39mP9rQAaGmERfUMPULfPUi473tY: running CI
[2025-11-14T00:41:37Z DEBUG ambient_ci::run] Executing pre-plan steps
[2025-11-14T00:41:37Z DEBUG ambient_ci::plan] RUN: Action CargoFetch {
sourcedir: "/tmp/.tmpC7oYc7/src",
}
[2025-11-14T00:41:37Z DEBUG ambient_ci::action] Plan::execute: plan=CargoFetch {
sourcedir: "/tmp/.tmpC7oYc7/src",
}
[2025-11-14T00:41:37Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/bin:/home/_rad/.radicle/bin:/home/_rad/.cargo/bin",
"CARGO_HOME": "/home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/dependencies",
"CARGO_TARGET_DIR": "/home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/cache",
},
source_dir: "/tmp/.tmpC7oYc7/src",
}
SPAWN: argv=["cargo", "--version"]
cwd=/tmp/.tmpC7oYc7/src (exists? true)
cargo 1.88.0 (873a06493 2025-05-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/tmp/.tmpC7oYc7/src (exists? true)
clippy 0.1.88 (6b00bc3880 2025-06-23)
SPAWN: argv=["rustc", "--version"]
cwd=/tmp/.tmpC7oYc7/src (exists? true)
rustc 1.88.0 (6b00bc388 2025-06-23)
SPAWN: argv=["cargo", "fetch"]
cwd=/tmp/.tmpC7oYc7/src (exists? true)
[2025-11-14T00:41:38Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:38Z DEBUG ambient_ci::plan] All actions were performed successfully
[2025-11-14T00:41:38Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpdNk7G6/src.tar
[2025-11-14T00:41:38Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpdNk7G6/deps.tar
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] create_executor_vdrive: executor="/usr/bin/ambient-execute-plan"
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] create_executor_vdrive: plan=RunnablePlan {
steps: [
Mkdir {
pathname: "/workspace",
},
Mkdir {
pathname: "/workspace/artifacts",
},
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
},
CargoFmt,
CargoClippy,
CargoBuild,
CargoTest,
TarCreate {
archive: "/dev/vde",
directory: "/workspace/cache",
},
TarCreate {
archive: "/dev/vdd",
directory: "/workspace/artifacts",
},
],
executor_drive: Some(
"/dev/vdb",
),
source_drive: Some(
"/dev/vdc",
),
artifact_drive: Some(
"/dev/vdd",
),
cache_drive: Some(
"/dev/vde",
),
deps_drive: Some(
"/dev/vdf",
),
workspace_dir: Some(
"/workspace",
),
source_dir: Some(
"/workspace/src",
),
deps_dir: Some(
"/workspace/deps",
),
cache_dir: Some(
"/workspace/cache",
),
artifacts_dir: Some(
"/workspace/artifacts",
),
}
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] executor bin /usr/bin/ambient-execute-plan
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] copying /usr/bin/ambient-execute-plan to /home/_rad/tmp/.tmpdNk7G6/ambient-execute-plan/run-ci
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] copy OK: true
[2025-11-14T00:41:42Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpdNk7G6/executor.tar
[2025-11-14T00:41:47Z DEBUG ambient_ci::project] removing run log file /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::project] statedir is /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY, exists? true
[2025-11-14T00:41:47Z DEBUG ambient_ci::project] creating run log file /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::project] created run log file /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log OK
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] with_hostname called: "ambient"
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] with_runcmd called: "echo xyzzy > /dev/ttyS1"
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] with_runcmd called: "\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n"
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] with_runcmd called: "poweroff"
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] LocalDataStoreBuilder: LocalDataStoreBuilder {
hostname: Some(
"ambient",
),
network: false,
bootcmd: [],
runcmd: [
"echo xyzzy > /dev/ttyS1",
"\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
"poweroff",
],
}
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] run QEMU
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] create copy-on-write image and UEFI vars file
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu_utils] qemu-img create /home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/vm.qcow2 backing on /home/_rad/ambient.qcow2
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] create cloud-init ISO file
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] LocalDataStore: LocalDataStore {
hostname: "ambient",
network: false,
bootcmd: [],
runcmd: [
"echo xyzzy > /dev/ttyS1",
"\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
"poweroff",
],
}
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] write /tmp/.tmp0wkfhX/meta-data
[2025-11-14T00:41:47Z DEBUG ambient_ci::cloud_init] write /tmp/.tmp0wkfhX/user-data
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] set console log file to /home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/console.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::util] create file /home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/console.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] set run file to /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::util] create file /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log
[2025-11-14T00:41:47Z DEBUG ambient_ci::qemu] run QEMU: QemuArgs {
args: [
"-m",
"11444",
"-smp",
"cpus=2",
"-cpu",
"kvm64",
"-machine",
"type=q35,accel=kvm,usb=off",
"-uuid",
"a85c9de7-edc0-4e54-bead-112e5733582c",
"-boot",
"strict=on",
"-name",
"ambient-ci-vm",
"-rtc",
"base=utc,driftfix=slew",
"-display",
"none",
"-device",
"virtio-rng-pci",
"-serial",
"file:/home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/console.log",
"-serial",
"file:/home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/run.log",
"-drive",
"if=pflash,format=raw,unit=0,file=/usr/share/ovmf/OVMF.fd,readonly=on",
"-drive",
"if=pflash,format=raw,unit=1,file=/home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/vars.fd",
"-drive",
"format=qcow2,if=virtio,file=/home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/vm.qcow2",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpdNk7G6/executor.tar,readonly=on",
"-cdrom",
"/home/_rad/tmp/.tmpiOvbLt/.tmpa9Yxnq/cloud_init.iso",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpdNk7G6/src.tar,readonly=on",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpdNk7G6/artifacts.tar",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpdNk7G6/cache.tar",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpdNk7G6/deps.tar,readonly=on",
"-nodefaults",
"-no-user-config",
],
}
[2025-11-14T00:42:04Z DEBUG ambient_ci::qemu] QEMU finished OK
[2025-11-14T00:42:04Z DEBUG ambient_ci::qemu] run log:
--------------------==========
[2025-11-14T00:41:50Z TRACE ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z DEBUG ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z INFO ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z WARN ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
[2025-11-14T00:41:50Z ERROR ambient_execute_plan] ambient-execute-plan version 0.9.0@e618b21 starts
RunnablePlan::from_file: filename=plan.yaml
steps:
- action: mkdir
pathname: /workspace
- action: mkdir
pathname: /workspace/artifacts
- action: tar_extract
archive: /dev/vdc
directory: /workspace/src
- action: tar_extract
archive: /dev/vdf
directory: /workspace/deps
- action: tar_extract
archive: /dev/vde
directory: /workspace/cache
- action: spawn
argv:
- find
- /workspace
- -maxdepth
- '2'
- -ls
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_build
- action: cargo_test
- action: tar_create
archive: /dev/vde
directory: /workspace/cache
- action: tar_create
archive: /dev/vdd
directory: /workspace/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /workspace
source_dir: /workspace/src
deps_dir: /workspace/deps
cache_dir: /workspace/cache
artifacts_dir: /workspace/artifacts
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action Mkdir {
pathname: "/workspace",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=Mkdir {
pathname: "/workspace",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action Mkdir {
pathname: "/workspace/artifacts",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=Mkdir {
pathname: "/workspace/artifacts",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:50Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
}
[2025-11-14T00:41:50Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:50Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
[2025-11-14T00:41:52Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:52Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:52Z DEBUG ambient_ci::plan] RUN: Action TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
}
[2025-11-14T00:41:52Z DEBUG ambient_ci::action] Plan::execute: plan=TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
}
[2025-11-14T00:41:52Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
[2025-11-14T00:41:52Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
[2025-11-14T00:41:58Z TRACE ambient_ci::vdrive] extraction OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
}
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
}
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
cwd=/workspace/src (exists? true)
1572865 4 drwxr-xr-x 6 root root 4096 Nov 14 00:41 /workspace
1573475 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/deps
1602428 120 -rw-r--r-- 1 root root 122880 Nov 14 00:41 /workspace/deps/.global-cache
1602430 0 -rw-r--r-- 1 root root 0 Sep 10 13:34 /workspace/deps/.package-cache
1573476 4 drwxr-xr-x 5 root root 4096 Sep 10 13:34 /workspace/deps/registry
1602429 0 -rw-r--r-- 1 root root 0 Sep 10 13:34 /workspace/deps/.package-cache-mutate
1572867 4 drwxr-xr-x 9 root root 4096 Nov 14 00:41 /workspace/src
1572902 92 -rw-r--r-- 1 root root 90685 Nov 14 00:41 /workspace/src/demo.png
1572968 4 drwxr-xr-x 8 root root 4096 Nov 14 00:41 /workspace/src/.git
1572894 4 -rw-r--r-- 1 root root 3624 Nov 14 00:41 /workspace/src/flake.nix
1572954 12 -rw-r--r-- 1 root root 9723 Nov 14 00:41 /workspace/src/LICENSE-APACHE
1572868 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/src/src
1572961 4 -rw-r--r-- 1 root root 88 Nov 14 00:41 /workspace/src/.gitsigners
1572901 4 -rw-r--r-- 1 root root 87 Nov 14 00:41 /workspace/src/deny.toml
1572955 4 -rw-r--r-- 1 root root 2074 Nov 14 00:41 /workspace/src/Cargo.toml
1572904 4 drwxr-xr-x 5 root root 4096 Nov 14 00:41 /workspace/src/bin
1572893 4 -rw-r--r-- 1 root root 77 Nov 14 00:41 /workspace/src/rust-toolchain.toml
1572966 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/.cargo
1572903 4 -rw-r--r-- 1 root root 1172 Nov 14 00:41 /workspace/src/build.rs
1572953 4 -rw-r--r-- 1 root root 1079 Nov 14 00:41 /workspace/src/LICENSE-MIT
1572952 12 -rw-r--r-- 1 root root 8533 Nov 14 00:41 /workspace/src/README.md
1572895 4 -rw-r--r-- 1 root root 2945 Nov 14 00:41 /workspace/src/flake.lock
1572896 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/examples
1572963 4 drwxr-xr-x 3 root root 4096 Nov 14 00:41 /workspace/src/.github
1572956 108 -rw-r--r-- 1 root root 108154 Nov 14 00:41 /workspace/src/Cargo.lock
1572958 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/src/.radicle
1572957 4 -rw-r--r-- 1 root root 3089 Nov 14 00:41 /workspace/src/CHANGELOG.md
1572962 4 -rw-r--r-- 1 root root 31 Nov 14 00:41 /workspace/src/.gitignore
1602431 4 drwxr-xr-x 3 root root 4096 Sep 20 05:44 /workspace/cache
1602432 4 -rw-r--r-- 1 root root 1037 Nov 14 00:41 /workspace/cache/.rustc_info.json
1602433 4 drwxr-xr-x 7 root root 4096 Nov 12 14:54 /workspace/cache/debug
1572866 4 drwxr-xr-x 2 root root 4096 Nov 14 00:41 /workspace/artifacts
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action CargoFmt
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=CargoFmt
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.88.0 (873a06493 2025-05-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.88 (6b00bc3880 2025-06-23)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.88.0 (6b00bc388 2025-06-23)
SPAWN: argv=["cargo", "fmt", "--check"]
cwd=/workspace/src (exists? true)
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-11-14T00:41:58Z DEBUG ambient_ci::plan] RUN: Action CargoClippy
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: plan=CargoClippy
[2025-11-14T00:41:58Z DEBUG ambient_ci::action] Plan::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HOME": "/root",
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
},
source_dir: "/workspace/src",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.88.0 (873a06493 2025-05-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.88 (6b00bc3880 2025-06-23)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.88.0 (6b00bc388 2025-06-23)
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
cwd=/workspace/src (exists? true)
Compiling radicle-tui v0.6.0 (/workspace/src)
error: unused import: `radicle::node`
--> bin/commands/inbox/list.rs:20:5
|
20 | use radicle::node;
| ^^^^^^^^^^^^^
|
= note: `-D unused-imports` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_imports)]`
error: unused variable: `mode`
--> bin/commands/inbox/list.rs:134:17
|
134 | let mode = match &context.mode.repository() {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
|
= note: `-D unused-variables` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(unused_variables)]`
error: variant `ApplySorting` is never constructed
--> bin/commands/inbox/list.rs:266:5
|
259 | pub enum Message {
| ------- variant in this enum
...
266 | ApplySorting,
| ^^^^^^^^^^^^
|
= note: `Message` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
= note: `-D dead-code` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(dead_code)]`
error: called `map(..).flatten()` on `Iterator`
--> bin/commands/inbox/list/ui.rs:301:14
|
301 | .map(|f| match f {
| ______________^
302 | | NotificationFilter::State(state) => Some(state),
303 | | _ => None,
304 | | })
305 | | .flatten()
| |______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten
= note: `-D clippy::map-flatten` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::map_flatten)]`
help: try replacing `map` with `filter_map` and remove the `.flatten()`
|
301 ~ .filter_map(|f| match f {
302 + NotificationFilter::State(state) => Some(state),
303 + _ => None,
304 + })
|
error: using `.iter().next()` on an array
--> bin/commands/inbox/list.rs:85:9
|
85 | self.inner.iter().next().cloned()
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling: `self.inner.first()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice
= note: `-D clippy::iter-next-slice` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::iter_next_slice)]`
error: redundant closure
--> bin/ui/items/notification.rs:447:42
|
447 | types.iter().any(|other| match_type(other))
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `match_type`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `-D clippy::redundant-closure` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::redundant_closure)]`
error: variables can be used directly in the `format!` string
--> bin/ui/items/notification.rs:592:40
|
592 | ... return Err(format!("Unparsed input remaining: '{}'", remaining));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `-D clippy::uninlined-format-args` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::uninlined_format_args)]`
help: change this to
|
592 - return Err(format!("Unparsed input remaining: '{}'", remaining));
592 + return Err(format!("Unparsed input remaining: '{remaining}'"));
|
error: variables can be used directly in the `format!` string
--> bin/ui/items/notification.rs:605:35
|
605 | Err(e) => Err(format!("Parse error: {}", e)),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
|
605 - Err(e) => Err(format!("Parse error: {}", e)),
605 + Err(e) => Err(format!("Parse error: {e}")),
|
error: could not compile `radicle-tui` (bin "rad-tui") due to 8 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `radicle-tui` (bin "rad-tui" test) due to 8 previous errors
[2025-11-14T00:42:02Z ERROR ambient_ci::plan] ERROR: Action failed: failed to execute cargo
[2025-11-14T00:42:02Z ERROR ambient_ci::plan] caused by: command failed: "cargo": exit code 101
ERROR: failed to execute cargo
caused by: command failed: "cargo": exit code 101
EXIT CODE: 1
====================
[2025-11-14T00:42:04Z DEBUG ambient_ci::qemu] QEMU: CI run under exit code 1
[2025-11-14T00:42:05Z DEBUG ambient_ci::run] CI run exit code from QEMU: 1
[2025-11-14T00:42:05Z DEBUG ambient_ci::project] write project state to /home/_rad/ambient-state/rad:z39mP9rQAaGmERfUMPULfPUi473tY/meta.yaml
ERROR: CI run failed inside QEMU
<empty log>