CI run for rad:z39mP9rQAaGmERfUMPULfPUi473tY

Radicle repository id rad:z39mP9rQAaGmERfUMPULfPUi473tY

Table of Contents

Run log

[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`
[=3h[=3hBdsDxe: 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)
Welcome to GRUB!


INFO: 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

Trigger message

{
  "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
      }
    ]
  }
}

Ambient stdout

[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

Ambient stderr

<empty log>