CI run for sshca

Radicle repository id rad:z24MZ7A64C7c9MmcNfR2X7GtQUk14

Triggered by

{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:z24MZ7A64C7c9MmcNfR2X7GtQUk14",
    "name": "sshca",
    "description": "Tool for SSH certificate authorities",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
    ]
  },
  "pusher": {
    "id": "did:key:z6MkkYez6QAFWvmdudjrfMXySu1NTpSrraJotCJFwGgkmgx8",
    "alias": "ci0"
  },
  "before": "dfbb754c21053afed5fe5f724e8be526509a51fb",
  "after": "dfbb754c21053afed5fe5f724e8be526509a51fb",
  "branch": "main",
  "commits": [
    "dfbb754c21053afed5fe5f724e8be526509a51fb"
  ]
}

Run log

[2025-06-28T09:05:39Z INFO  ambient] ambient starts
[=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: Extracting tar archive from /dev/vdb
./
./plan.yaml
./run-ci

INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
ambient-execute-plan 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: shell
  shell: |
    subplot docgen sshca.subplot -o /workspace/artifacts/sshca.html
- action: shell
  shell: |
    export DEBEMAIL=liw@liw.fi
    export DEBFULLNAME="Lars Wirzenius"
    export CARGO_TARGET_DIR=/workspace/cache
    export CARGO_HOME=/workspace/deps
    export HOME=/root
    export PATH="/root/.cargo/bin:$PATH"

    # Clean up after tests and documentation building.
    git reset --hard
    git clean -fdx
    git status --ignored

    V="$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')"
    T="$(date -u "+%Y%m%dT%H%M%S")"
    version="$V.ci$T-1"
    dch -v "$version" "CI build under Ambient."
    dch -r ''
- action: deb
- 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


RUN: Action Mkdir {
    pathname: "/workspace",
}
RUN: Action finished OK
RUN: Action Mkdir {
    pathname: "/workspace/artifacts",
}
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vdc",
    directory: "/workspace/src",
}
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vdf",
    directory: "/workspace/deps",
}
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vde",
    directory: "/workspace/cache",
}
RUN: Action finished OK
RUN: Action Spawn {
    argv: [
        "find",
        "/workspace",
        "-maxdepth",
        "2",
        "-ls",
    ],
}
SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
       cwd=/workspace/src (exists? true)
       extra_env=[]
  1048577      4 drwxr-xr-x   6 root     root         4096 Jun 28 09:04 /workspace
  1062129      4 drwxr-xr-x   5 root     root         4096 Jun  7 11:15 /workspace/cache
  1062130      4 drwxr-xr-x   2 root     root         4096 Jun  7 11:14 /workspace/cache/tmp
  1066728      4 -rw-r--r--   1 root     root         1034 Jun 28 04:11 /workspace/cache/.rustc_info.json
  1062131      4 drwxr-xr-x   7 root     root         4096 Jun 28 04:11 /workspace/cache/debug
  1064973      4 drwxr-xr-x   7 root     root         4096 Jun 28 04:11 /workspace/cache/release
  1048579      4 drwxr-xr-x   8 root     root         4096 Jun 28 09:04 /workspace/src
  1048621      4 drwxr-xr-x   2 root     root         4096 Jun 28 09:04 /workspace/src/tests
  1048606      4 drwxr-xr-x   3 root     root         4096 Jun 28 09:04 /workspace/src/debian
  1048620      4 -rw-r--r--   1 root     root          634 Jun 28 09:04 /workspace/src/Cargo.toml
  1048616     36 -rw-r--r--   1 root     root        34150 Jun 28 09:04 /workspace/src/sshca.md
  1048586      4 drwxr-xr-x   4 root     root         4096 Jun 28 09:04 /workspace/src/src
  1048728     44 -rw-r--r--   1 root     root        44103 Jun 28 09:04 /workspace/src/Cargo.lock
  1048605      4 -rw-r--r--   1 root     root          225 Jun 28 09:04 /workspace/src/sshca.subplot
  1048617      4 -rw-r--r--   1 root     root         1320 Jun 28 09:04 /workspace/src/README.md
  1048580      4 drwxr-xr-x   2 root     root         4096 Jun 28 09:04 /workspace/src/.radicle
  1048618      4 -rw-r--r--   1 root     root          106 Jun 28 09:04 /workspace/src/build.rs
  1048583      4 drwxr-xr-x   2 root     root         4096 Jun 28 09:04 /workspace/src/subplot
  1048619      4 -rw-r--r--   1 root     root           49 Jun 28 09:04 /workspace/src/.gitignore
  1048623      4 drwxr-xr-x   8 root     root         4096 Jun 28 09:04 /workspace/src/.git
  1048604      4 -rw-r--r--   1 root     root           20 Jun 28 09:04 /workspace/src/config.yaml
  1048582      4 -rwxr-xr-x   1 root     root          915 Jun 28 09:04 /workspace/src/check
  1048578      4 drwxr-xr-x   2 root     root         4096 Jun 28 09:04 /workspace/artifacts
  1048729      4 drwxr-xr-x   3 root     root         4096 Jun 28 09:04 /workspace/deps
  1048730      0 -rw-r--r--   1 root     root            0 Jun 28 04:10 /workspace/deps/.package-cache-mutate
  1048731     88 -rw-r--r--   1 root     root        90112 Jun 28 09:04 /workspace/deps/.global-cache
  1048733      4 drwxr-xr-x   5 root     root         4096 Jun  7 11:14 /workspace/deps/registry
  1048732      0 -rw-r--r--   1 root     root            0 Jun  7 11:13 /workspace/deps/.package-cache
RUN: Action finished OK
RUN: Action CargoFmt
SPAWN: argv=["cargo", "fmt", "--check"]
       cwd=/workspace/src (exists? true)
       extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")]
RUN: Action finished OK
RUN: Action CargoClippy
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
       cwd=/workspace/src (exists? true)
       extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")]
   Compiling proc-macro2 v1.0.82
   Compiling unicode-ident v1.0.12
   Compiling libc v0.2.154
   Compiling memchr v2.7.2
   Compiling version_check v0.9.4
   Compiling serde v1.0.201
   Compiling syn v1.0.109
   Compiling thiserror v1.0.60
   Compiling autocfg v1.3.0
   Compiling quote v1.0.36
   Compiling once_cell v1.19.0
   Compiling syn v2.0.63
   Compiling indexmap v1.9.3
   Compiling proc-macro-error-attr v1.0.4
   Compiling aho-corasick v1.1.3
   Compiling crossbeam-utils v0.8.19
   Compiling itoa v1.0.11
   Compiling cfg-if v1.0.0
   Compiling regex-syntax v0.8.3
   Compiling log v0.4.21
   Compiling proc-macro-error v1.0.4
   Compiling regex-automata v0.4.6
   Compiling rustix v0.38.34
   Compiling serde_json v1.0.117
   Compiling same-file v1.0.6
   Compiling ryu v1.0.18
   Compiling anyhow v1.0.83
   Compiling walkdir v2.5.0
   Compiling getrandom v0.2.15
   Compiling ucd-trie v0.1.6
   Compiling time-core v0.1.2
   Compiling num-conv v0.1.0
   Compiling crossbeam-epoch v0.9.18
   Compiling serde_derive v1.0.201
   Compiling thiserror-impl v1.0.60
   Compiling time-macros v0.2.18
   Compiling rand_core v0.6.4
   Compiling pest v2.7.10
   Compiling bstr v1.9.1
   Compiling powerfmt v0.2.0
   Compiling ppv-lite86 v0.2.17
   Compiling unic-common v0.9.0
   Compiling hashbrown v0.12.3
   Compiling unic-char-range v0.9.0
   Compiling heck v0.4.1
   Compiling bitflags v1.3.2
   Compiling bitflags v2.5.0
   Compiling unicode-width v0.1.12
   Compiling libm v0.2.8
   Compiling pest_meta v2.7.10
   Compiling clap_derive v3.2.25
   Compiling unic-char-property v0.9.0
   Compiling unic-ucd-version v0.9.0
   Compiling rand_chacha v0.3.1
   Compiling globset v0.4.14
   Compiling deranged v0.3.11
   Compiling crossbeam-deque v0.8.5
   Compiling atty v0.2.14
   Compiling unicase v2.7.0
   Compiling termcolor v1.4.1
   Compiling linked-hash-map v0.5.6
   Compiling cc v1.0.97
   Compiling linux-raw-sys v0.4.13
   Compiling os_str_bytes v6.6.1
   Compiling clap_lex v0.2.4
   Compiling yaml-rust v0.4.5
   Compiling pikchr v0.1.3
   Compiling time v0.3.36
   Compiling ignore v0.4.22
   Compiling rand v0.8.5
   Compiling pest_generator v2.7.10
   Compiling unic-ucd-segment v0.9.0
   Compiling regex v1.10.4
   Compiling pulldown-cmark v0.9.6
   Compiling smawk v0.3.2
   Compiling strsim v0.10.0
   Compiling textwrap v0.16.1
   Compiling fastrand v2.1.0
   Compiling unicode-linebreak v0.1.5
   Compiling deunicode v1.4.4
   Compiling either v1.11.0
   Compiling slug v0.1.5
   Compiling textwrap v0.15.2
   Compiling itertools v0.12.1
   Compiling tempfile v3.10.1
   Compiling clap v3.2.25
   Compiling git-testament-derive v0.2.0
   Compiling humansize v2.1.3
   Compiling pest_derive v2.7.10
   Compiling unic-segment v0.9.0
   Compiling globwalk v0.8.1
   Compiling serde_yaml v0.8.26
   Compiling subplot v0.6.0
   Compiling getopts v0.2.21
   Compiling lazy_static v1.4.0
   Compiling humantime v2.1.0
   Compiling percent-encoding v2.3.1
   Compiling tera v1.19.1
   Compiling env_logger v0.9.3
   Compiling roadmap v0.4.5
   Compiling pandoc v0.8.11
   Compiling git-testament v0.2.5
   Compiling tempfile-fast v0.3.4
   Compiling serde-aux v4.5.0
   Compiling pandoc_ast v0.7.3
   Compiling tracing-attributes v0.1.27
   Compiling tracing-core v0.1.32
   Compiling file_diff v1.0.0
   Compiling pin-project-lite v0.2.14
   Compiling base64 v0.13.1
   Compiling tracing v0.1.40
   Compiling fehler-macros v1.0.0
   Compiling subplot-build v0.6.0
   Compiling glob v0.3.1
   Compiling subplotlib v0.6.0
   Compiling fehler v1.0.0
   Compiling subplotlib-derive v0.6.0
   Compiling sshca v0.1.0 (/workspace/src)
    Checking filetime v0.2.23
    Checking dirs-sys-next v0.1.2
    Checking fs2 v0.4.3
    Checking remove_dir_all v0.7.0
    Checking state v0.5.3
    Checking shell-words v1.1.0
    Checking unescape v0.1.0
    Checking directories-next v2.0.0
error: variables can be used directly in the `format!` string
   --> src/cert.rs:204:12
    |
204 |         Ok(format!("+{}{}", n, unit))
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = 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
    |
204 -         Ok(format!("+{}{}", n, unit))
204 +         Ok(format!("+{n}{unit}"))
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/ca.rs:104:13
    |
104 |             println!("{}", json);
    |             ^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
104 -             println!("{}", json);
104 +             println!("{json}");
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/ca.rs:134:13
    |
134 |             println!("{}", json);
    |             ^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
134 -             println!("{}", json);
134 +             println!("{json}");
    |

error: variables can be used directly in the `format!` string
  --> src/cmd/host.rs:77:17
   |
77 |                 println!("{}", json);
   |                 ^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
   |
77 -                 println!("{}", json);
77 +                 println!("{json}");
   |

error: variables can be used directly in the `format!` string
   --> src/cmd/host.rs:103:13
    |
103 |             println!("{}", json);
    |             ^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
103 -             println!("{}", json);
103 +             println!("{json}");
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/host.rs:182:13
    |
182 |             write!(file, "{}", cert).map_err(|e| CAError::Write(output.into(), e))?;
    |             ^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
182 -             write!(file, "{}", cert).map_err(|e| CAError::Write(output.into(), e))?;
182 +             write!(file, "{cert}").map_err(|e| CAError::Write(output.into(), e))?;
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/host.rs:184:13
    |
184 |             print!("{}", cert);
    |             ^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
184 -             print!("{}", cert);
184 +             print!("{cert}");
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/host.rs:417:17
    |
417 |                 println!("{}", p);
    |                 ^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
417 -                 println!("{}", p);
417 +                 println!("{p}");
    |

error: variables can be used directly in the `format!` string
  --> src/cmd/user.rs:68:17
   |
68 |                 println!("{}", json);
   |                 ^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
   |
68 -                 println!("{}", json);
68 +                 println!("{json}");
   |

error: variables can be used directly in the `format!` string
  --> src/cmd/user.rs:94:13
   |
94 |             println!("{}", json);
   |             ^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
   |
94 -             println!("{}", json);
94 +             println!("{json}");
   |

error: variables can be used directly in the `format!` string
   --> src/cmd/user.rs:184:13
    |
184 |             write!(file, "{}", cert).map_err(|e| CAError::Write(filename.into(), e))?;
    |             ^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
184 -             write!(file, "{}", cert).map_err(|e| CAError::Write(filename.into(), e))?;
184 +             write!(file, "{cert}").map_err(|e| CAError::Write(filename.into(), e))?;
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/user.rs:186:13
    |
186 |             print!("{}", cert)
    |             ^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
186 -             print!("{}", cert)
186 +             print!("{cert}")
    |

error: variables can be used directly in the `format!` string
   --> src/cmd/user.rs:306:17
    |
306 |                 println!("{}", p);
    |                 ^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
help: change this to
    |
306 -                 println!("{}", p);
306 +                 println!("{p}");
    |

error: could not compile `sshca` (lib) due to 13 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `sshca` (lib test) due to 13 previous errors
ERROR: Action failed: command failed: ["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
ERROR: command failed: ["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
EXIT CODE: 1
[2025-06-28T09:05:39Z INFO  ambient] ambient ends successfully