CI run log: rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x

Radicle info

Trigger message
{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x",
    "name": "obnam",
    "description": "Explore implementation of backup fundamentals",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
    ]
  },
  "pusher": {
    "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
    "alias": "liw"
  },
  "before": "b55fefea0d0268816d3d3738de738b854e7e307a",
  "after": "b55fefea0d0268816d3d3738de738b854e7e307a",
  "branch": "main",
  "commits": [
    "b55fefea0d0268816d3d3738de738b854e7e307a",
    "e7d9c2078b68743eefadee909796c91ff6455a28",
    "70e35d6954b0024eb912ab3f22a64e5d65d96012"
  ]
}
Ambient stdout
executor from config: /usr/bin/ambient-execute-plan
executor from PATH: /usr/bin/ambient-execute-plan
run CI for rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x
Ambient stderr
<empty log>

Pre-plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.15.0@eeab732
  2. 0 ms: Runnable plan
    steps:
    - action: mkdir
      pathname: /ci
    - action: mkdir
      pathname: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/secrets
    - action: mkdir
      pathname: /ci/deps
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    - action: shell
      shell: ln -sf /ci /workspace
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    - action: cargo_fetch
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    secrets_drive: null
    workspace_dir: /ci
    source_dir: /ci/src
    deps_dir: /ci/deps
    cache_dir: /ci/cache
    artifacts_dir: /ci/artifacts
    secrets_dir: null
    envs: {}
    
  3. 0 ms: Execute action: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 1 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  5. 2 ms: Execute action: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  6. 2 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  7. 2 ms: Execute action: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  8. 2 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  9. 2 ms: Execute action: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  10. 2 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  11. 2 ms: Execute action: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  12. 2 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  13. 3 ms: Execute action: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  14. 3 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  15. 3 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 57 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 57 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 63 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 63 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 3393 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 3393 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 3400 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 3400 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 3407 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 3407 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 3407 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 3442 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 3442 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 3442 ms: Execute action: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  30. 3453 ms: Action succeeded: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  31. 3458 ms: Execute action: cargo_fetch
    - action: cargo_fetch
    
  32. 3461 ms: Start program: cargo
    • cargo
    • --version
  33. 3496 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.96.1 (356927216 2026-06-26)
      
    • Stderr
  34. 3496 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  35. 3562 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.96 (31fca3adb2 2026-06-26)
      
    • Stderr
  36. 3562 ms: Start program: rustc
    • rustc
    • --version
  37. 3583 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.96.1 (31fca3adb 2026-06-26)
      
    • Stderr
  38. 3589 ms: Start program: cargo
    • cargo
    • fetch
    • --locked
  39. 10456 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
          Updating crates.io index
       Downloading crates ...
        Downloaded fastrand v2.3.0
        Downloaded bitflags v2.11.0
        Downloaded litemap v0.8.1
        Downloaded dunce v1.0.5
        Downloaded windows-targets v0.52.6
        Downloaded openssl-probe v0.2.1
        Downloaded semver v1.0.27
        Downloaded cpufeatures v0.3.0
        Downloaded spin v0.9.8
        Downloaded git-testament v0.2.6
        Downloaded git-testament-derive v0.2.1
        Downloaded crypto-common v0.1.7
        Downloaded dirs-sys-next v0.1.2
        Downloaded directories-next v2.0.0
        Downloaded strsim v0.11.1
        Downloaded serde_path_to_error v0.1.20
        Downloaded clap v4.5.51
        Downloaded opaque-debug v0.3.1
        Downloaded axum-macros v0.5.0
        Downloaded cipher v0.4.4
        Downloaded windows_aarch64_msvc v0.53.1
        Downloaded typenum v1.19.0
        Downloaded jiff-static v0.2.16
        Downloaded quinn v0.11.9
        Downloaded axum-core v0.5.6
        Downloaded aes v0.8.4
        Downloaded hyper-util v0.1.20
        Downloaded axum v0.8.8
        Downloaded tokio-util v0.7.18
        Downloaded hashbrown v0.16.0
        Downloaded h2 v0.4.13
        Downloaded portable-atomic v1.11.1
        Downloaded webpki-root-certs v1.0.6
        Downloaded quinn-proto v0.11.14
        Downloaded aws-lc-rs v1.16.2
        Downloaded hyper v1.8.1
        Downloaded combine v4.6.7
        Downloaded zerocopy v0.8.47
        Downloaded iri-string v0.7.10
        Downloaded jni v0.21.1
        Downloaded windows_aarch64_gnullvm v0.42.2
        Downloaded jiff v0.2.16
        Downloaded rustls v0.23.37
        Downloaded windows_x86_64_gnullvm v0.42.2
        Downloaded windows_x86_64_gnullvm v0.52.6
        Downloaded windows_aarch64_gnullvm v0.52.6
        Downloaded windows_i686_gnullvm v0.52.6
        Downloaded tracing v0.1.44
        Downloaded windows_i686_gnu v0.53.1
        Downloaded rand v0.9.2
        Downloaded indexmap v2.12.0
        Downloaded http v1.4.0
        Downloaded zerocopy-derive v0.8.47
        Downloaded security-framework v3.7.0
        Downloaded rustls-webpki v0.103.10
        Downloaded clap_builder v4.5.51
        Downloaded windows_x86_64_msvc v0.42.2
        Downloaded windows_i686_msvc v0.53.1
        Downloaded windows_aarch64_msvc v0.42.2
        Downloaded windows_x86_64_gnu v0.42.2
        Downloaded windows_i686_gnullvm v0.53.1
        Downloaded windows_i686_msvc v0.42.2
        Downloaded windows_i686_gnu v0.42.2
        Downloaded encoding_rs v0.8.35
        Downloaded windows_x86_64_msvc v0.52.6
        Downloaded windows_aarch64_msvc v0.52.6
        Downloaded windows_x86_64_gnu v0.52.6
        Downloaded windows_i686_gnu v0.52.6
        Downloaded windows_i686_msvc v0.52.6
        Downloaded windows_x86_64_gnu v0.53.1
        Downloaded windows_x86_64_msvc v0.53.1
        Downloaded winapi v0.3.9
        Downloaded version_check v0.9.5
        Downloaded rand_core v0.6.4
        Downloaded cc v1.2.57
        Downloaded matchit v0.8.4
        Downloaded aead v0.5.2
        Downloaded inout v0.1.4
        Downloaded ctr v0.9.2
        Downloaded cpufeatures v0.2.17
        Downloaded generic-array v0.14.7
        Downloaded polyval v0.6.2
        Downloaded winnow v0.7.13
        Downloaded httparse v1.10.1
        Downloaded tinyvec v1.11.0
        Downloaded rustls-platform-verifier v0.6.2
        Downloaded web-sys v0.3.85
        Downloaded libc v0.2.177
        Downloaded windows_aarch64_gnullvm v0.53.1
        Downloaded windows_x86_64_gnullvm v0.53.1
        Downloaded tokio v1.49.0
        Downloaded aes-gcm-siv v0.11.1
        Downloaded clap_lex v0.7.6
        Downloaded terminal_size v0.4.3
        Downloaded clap_derive v4.5.49
        Downloaded libredox v0.1.10
        Downloaded redox_users v0.4.6
        Downloaded serde_norway v0.9.42
        Downloaded quinn-udp v0.5.14
        Downloaded ring v0.17.14
        Downloaded thiserror v1.0.69
        Downloaded schannel v0.1.29
        Downloaded core-foundation-sys v0.8.7
        Downloaded ryu v1.0.20
        Downloaded log v0.4.28
        Downloaded windows-sys v0.61.2
        Downloaded windows-sys v0.60.2
        Downloaded tracing-core v0.1.36
        Downloaded unsafe-libyaml-norway v0.2.15
        Downloaded toml_parser v1.0.4
        Downloaded jobserver v0.1.34
        Downloaded rustls-pki-types v1.14.0
        Downloaded serde_spanned v1.0.3
        Downloaded toml_datetime v0.7.3
        Downloaded toml_writer v1.0.4
        Downloaded toml v0.9.8
        Downloaded clingwrap v0.6.0
        Downloaded anstyle-parse v0.2.7
        Downloaded anstyle v1.0.13
        Downloaded core-foundation v0.9.4
        Downloaded linux-raw-sys v0.11.0
        Downloaded cfg_aliases v0.2.1
        Downloaded untrusted v0.9.0
        Downloaded tokio-rustls v0.26.4
        Downloaded regex-automata v0.4.13
        Downloaded anstyle-query v1.1.5
        Downloaded once_cell_polyfill v1.70.2
        Downloaded anstyle-wincon v3.0.11
        Downloaded colorchoice v1.0.4
        Downloaded is_terminal_polyfill v1.70.2
        Downloaded utf8parse v0.2.2
        Downloaded anstream v0.6.21
        Downloaded env_filter v0.1.4
        Downloaded miniz_oxide v0.8.9
        Downloaded ipnet v2.12.0
        Downloaded ppv-lite86 v0.2.21
        Downloaded rand_chacha v0.9.0
        Downloaded rand_core v0.9.5
        Downloaded tinyvec_macros v0.1.1
        Downloaded walkdir v2.5.0
        Downloaded core-foundation v0.10.1
        Downloaded fiat-crypto v0.3.0
        Downloaded universal-hash v0.5.1
        Downloaded portable-atomic-util v0.2.4
        Downloaded env_logger v0.11.8
        Downloaded crc32fast v1.5.0
        Downloaded adler2 v2.0.1
        Downloaded simd-adler32 v0.3.8
        Downloaded flate2 v1.1.8
        Downloaded wasmparser v0.244.0
        Downloaded thiserror-impl v1.0.69
        Downloaded fs_extra v1.3.0
        Downloaded getrandom v0.2.16
        Downloaded wit-component v0.244.0
        Downloaded fnv v1.0.7
        Downloaded try-lock v0.2.5
        Downloaded jni-sys v0.3.0
        Downloaded windows-targets v0.42.2
        Downloaded security-framework-sys v2.17.0
        Downloaded cmake v0.1.57
        Downloaded find-msvc-tools v0.1.9
        Downloaded windows-sys v0.45.0
        Downloaded shlex v1.3.0
        Downloaded windows-sys v0.52.0
        Downloaded web-time v1.1.0
        Downloaded hostname v0.4.2
        Downloaded mutants v0.0.3
        Downloaded cobs v0.3.0
        Downloaded embedded-io v0.4.0
        Downloaded embedded-io v0.6.1
        Downloaded critical-section v1.2.0
        Downloaded atomic-polyfill v1.0.3
        Downloaded byteorder v1.5.0
        Downloaded hash32 v0.2.1
        Downloaded rustc_version v0.4.1
        Downloaded scopeguard v1.2.0
        Downloaded lock_api v0.4.14
        Downloaded wit-parser v0.244.0
        Downloaded equivalent v1.0.2
        Downloaded winapi-i686-pc-windows-gnu v0.4.0
        Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
        Downloaded mime v0.3.17
        Downloaded lru-slab v0.1.2
        Downloaded rustc-hash v2.1.1
        Downloaded same-file v1.0.6
        Downloaded winapi-util v0.1.11
        Downloaded serde_urlencoded v0.7.1
        Downloaded rustix v1.1.2
        Downloaded heapless v0.7.17
        Downloaded postcard v1.1.3
        Downloaded chacha20 v0.10.0
        Downloaded r-efi v6.0.0
        Downloaded prettyplease v0.2.37
        Downloaded wit-bindgen-core v0.51.0
        Downloaded wasm-encoder v0.244.0
        Downloaded anyhow v1.0.102
        Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
        Downloaded rand v0.10.0
        Downloaded atomic-waker v1.1.2
        Downloaded httpdate v1.0.3
        Downloaded system-configuration-sys v0.6.0
        Downloaded windows-result v0.4.1
        Downloaded windows-strings v0.5.1
        Downloaded futures-util v0.3.31
        Downloaded reqwest v0.13.2
        Downloaded vcpkg v0.2.15
        Downloaded regex-syntax v0.8.8
        Downloaded heck v0.5.0
        Downloaded leb128fmt v0.1.0
        Downloaded wasm-metadata v0.244.0
        Downloaded id-arena v2.3.0
        Downloaded unicode-xid v0.2.6
        Downloaded wit-bindgen-rust v0.51.0
        Downloaded wit-bindgen v0.51.0
        Downloaded base64 v0.22.1
        Downloaded want v0.3.1
        Downloaded system-configuration v0.7.0
        Downloaded rustls-native-certs v0.8.3
        Downloaded tower v0.5.3
        Downloaded tower-http v0.6.8
        Downloaded hashbrown v0.15.5
        Downloaded wit-bindgen-rust-macro v0.51.0
        Downloaded getrandom v0.4.2
        Downloaded rand_core v0.10.0
        Downloaded http-body-util v0.1.3
        Downloaded hyper-rustls v0.27.7
        Downloaded futures-channel v0.3.31
        Downloaded windows-registry v0.6.1
        Downloaded cesu8 v1.1.0
        Downloaded rustls-platform-verifier-android v0.1.1
        Downloaded orion v0.17.12
        Downloaded syn v2.0.110
        Downloaded sync_wrapper v1.0.2
        Downloaded tower-layer v0.3.3
        Downloaded tower-service v0.3.3
        Downloaded futures-core v0.3.31
        Downloaded futures-io v0.3.32
        Downloaded futures-sink v0.3.32
        Downloaded futures-task v0.3.31
        Downloaded pin-utils v0.1.0
        Downloaded slab v0.4.12
        Downloaded wasm-bindgen-futures v0.4.58
        Downloaded fallible-iterator v0.3.0
        Downloaded fallible-streaming-iterator v0.1.9
        Downloaded foldhash v0.1.5
        Downloaded hashlink v0.10.0
        Downloaded pkg-config v0.3.32
        Downloaded rusqlite v0.37.0
        Downloaded icu_properties_data v2.1.2
        Downloaded wasip2 v1.0.1+wasi-0.2.4
        Downloaded aho-corasick v1.1.4
        Downloaded regex v1.12.2
        Downloaded time v0.3.44
        Downloaded pasetors v0.7.7
        Downloaded serde_json v1.0.149
        Downloaded http-body v1.0.1
        Downloaded icu_locale_core v2.1.1
        Downloaded zerovec v0.11.5
        Downloaded idna v1.1.0
        Downloaded uuid v1.20.0
        Downloaded bumpalo v3.19.1
        Downloaded serde v1.0.228
        Downloaded bytes v1.11.1
        Downloaded mio v1.1.0
        Downloaded tempfile v3.23.0
        Downloaded icu_normalizer_data v2.1.1
        Downloaded icu_normalizer v2.1.1
        Downloaded libsqlite3-sys v0.35.0
        Downloaded icu_collections v2.1.1
        Downloaded icu_provider v2.1.1
        Downloaded url v2.5.8
        Downloaded js-sys v0.3.85
        Downloaded wit-bindgen v0.46.0
        Downloaded wasm-bindgen v0.2.108
        Downloaded getrandom v0.3.4
        Downloaded memchr v2.7.6
        Downloaded serde_derive v1.0.228
        Downloaded serde_core v1.0.228
        Downloaded tinystr v0.8.2
        Downloaded zerotrie v0.2.3
        Downloaded icu_properties v2.1.2
        Downloaded smallvec v1.15.1
        Downloaded ed25519-compact v2.2.0
        Downloaded r-efi v5.3.0
        Downloaded once_cell v1.21.3
        Downloaded rustversion v1.0.22
        Downloaded wasm-bindgen-macro-support v0.2.108
        Downloaded itoa v1.0.15
        Downloaded zmij v1.0.18
        Downloaded thiserror v2.0.17
        Downloaded wasi v0.11.1+wasi-snapshot-preview1
        Downloaded pin-project-lite v0.2.16
        Downloaded writeable v0.6.2
        Downloaded stable_deref_trait v1.2.1
        Downloaded yoke-derive v0.8.1
        Downloaded yoke v0.8.1
        Downloaded synstructure v0.13.2
        Downloaded zerofrom v0.1.6
        Downloaded zerovec-derive v0.11.2
        Downloaded cfg-if v1.0.4
        Downloaded subtle v2.6.1
        Downloaded deranged v0.5.5
        Downloaded time-macros v0.2.24
        Downloaded zeroize v1.8.2
        Downloaded thiserror-impl v2.0.17
        Downloaded proc-macro2 v1.0.103
        Downloaded unicode-ident v1.0.22
        Downloaded errno v0.3.14
        Downloaded form_urlencoded v1.2.2
        Downloaded potential_utf v0.1.4
        Downloaded displaydoc v0.2.5
        Downloaded zerofrom-derive v0.1.6
        Downloaded idna_adapter v1.2.1
        Downloaded utf8_iter v1.0.4
        Downloaded percent-encoding v2.3.2
        Downloaded ct-codecs v1.1.6
        Downloaded wasm-bindgen-macro v0.2.108
        Downloaded wasm-bindgen-shared v0.2.108
        Downloaded powerfmt v0.2.0
        Downloaded num-conv v0.1.0
        Downloaded time-core v0.1.6
        Downloaded windows-targets v0.53.5
        Downloaded socket2 v0.6.2
        Downloaded quote v1.0.42
        Downloaded tokio-macros v2.6.0
        Downloaded windows-link v0.2.1
        Downloaded aws-lc-sys v0.39.0
      
  40. 10606 ms: Action succeeded: cargo_fetch
    - action: cargo_fetch
    
  41. 10608 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  42. 13107 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  43. 13107 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  44. 13108 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  45. 13108 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  46. 16135 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  47. 16135 ms: Plan succededThere was much rejoicing!
  48. 16135 ms: Executor ends successfullyPhew, nothing seems to have gone wrong.
Console log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
  Booting `Debian GNU/Linux'

Loading Linux 6.12.86+deb13-amd64 ...
Loading initial ramdisk ...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
Loading, please wait...
Starting systemd-udevd version 257.13-1~deb13u1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.41
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/vda2
fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 13 (trixie)!

[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-tracing.mount - Kernel Trace File System...
         Mounting tmp.mount - Temporary Directory /tmp...
         Starting kmod-static-nodes.service…eate List of Static Device Nodes...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-network-generator…k Units from Kernel Command Line...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Finished kmod-static-nodes.service…Create List of Static Device Nodes.
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-network-generator…ork Units from Kernel Command Line.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[  OK  ] Reached target network-pre.target - Preparation for Network.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-sysctl.service - Apply Kernel Variables...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-resolved.service - Network Name Resolution...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Set up automount efi.automount - EFI System Partition Automount.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting systemd-binfmt.service - Set Up Additional Binary Formats...
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
         Starting systemd-journal-catalog-u…ervice - Rebuild Journal Catalog...
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting systemd-networkd.service - Network Configuration...
[  OK  ] Finished systemd-journal-catalog-u….service - Rebuild Journal Catalog.
[  OK  ] Found device dev-ttyS0.device - /dev/ttyS0.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting ambient.service - Run build job for Ambient CI...
         Starting dbus.service - D-Bus System Message Bus...
         Starting grub-common.service - Record successful boot for GRUB...
         Starting systemd-logind.service - User Login Management...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
[  OK  ] Finished grub-common.service - Record successful boot for GRUB.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started systemd-networkd.service - Network Configuration.
[  OK  ] Reached target network.target - Network.
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-networkd-persiste…tent Storage in systemd-networkd...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.

Debian GNU/Linux 13 ambient-dev ttyS0

ambient-dev login: [  OK  ] Stopped ambient.service - Run build job for Ambient CI.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Stopped apt-daily.timer - Daily apt download activities.
[  OK  ] Stopped dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Stopped fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Stopped man-db.timer - Daily man-db regeneration.
[  OK  ] Stopped systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Closed systemd-rfkill.socket - Loa…ll Switch Status /dev/rfkill Watch.
         Stopping dbus.service - D-Bus System Message Bus...
         Stopping getty@tty1.service - Getty on tty1...
         Stopping serial-getty@ttyS0.service - Serial Getty on ttyS0...
         Stopping ssh.service - OpenBSD Secure Shell server...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-networkd-persiste…tent Storage in systemd-networkd...
         Stopping systemd-random-seed.service - Load/Save OS Random Seed...
[  OK  ] Stopped systemd-udev-load-credenti…- Load udev Rules from Credentials.
[  OK  ] Stopped dbus.service - D-Bus System Message Bus.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Stopped ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped getty@tty1.service - Getty on tty1.
[  OK  ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Closed sshd-unix-local.socket - Op…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Closed systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
         Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
         Stopping systemd-networkd.service - Network Configuration...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
[  OK  ] Stopped systemd-tmpfiles-setup.ser…reate System Files and Directories.
[  OK  ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[  OK  ] Stopped target local-fs.target - Local File Systems.
[  OK  ] Unset automount efi.automount - EFI System Partition Automount.
[  OK  ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target final.target - Late Shutdown Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
[   25.167373] reboot: Power down
Raw run log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
INFO: Block devices
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
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   5.3M  1 disk 
vdc    254:32   0   2.9M  1 disk 
vdd    254:48   0 953.7M  0 disk 
vde    254:64   0  27.9G  0 disk 
vdf    254:80   0   100G  0 disk 
vdg    254:96   0    10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2026-07-05 06:52 ./
-rw-r--r-- _rad/_rad      1294 2026-07-05 06:52 ./plan.yaml
-rwxr-xr-x _rad/_rad   5517632 2026-07-05 06:52 ./run-ci
INFO: Extracted files:
        6      0 drwxr-xr-x   2 1000     1000           80 Jul  5 06:52 .
       10   5392 -rwxr-xr-x   1 1000     1000      5517632 Jul  5 06:52 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1294 Jul  5 06:52 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.15.0@eeab732","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":152175},"log_source":"Plan"}
{"type":"runnable_plan","steps":[{"action":"mkdir","pathname":"/ci"},{"action":"mkdir","pathname":"/ci/artifacts"},{"action":"mkdir","pathname":"/ci/artifacts/debian"},{"action":"mkdir","pathname":"/ci/artifacts/rsync"},{"action":"mkdir","pathname":"/ci/secrets"},{"action":"mkdir","pathname":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src"},{"action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets"},{"action":"shell","shell":"ln -sf /ci /workspace"},{"action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true},{"action":"cargo_fetch"},{"action":"tar_create","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps"}],"executor_drive":"/dev/vdb","source_drive":"/dev/vdc","artifact_drive":"/dev/vdd","cache_drive":"/dev/vde","deps_drive":"/dev/vdf","secrets_drive":null,"workspace_dir":"/ci","source_dir":"/ci/src","deps_dir":"/ci/deps","cache_dir":"/ci/cache","artifacts_dir":"/ci/artifacts","secrets_dir":null,"envs":{},"timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":422699},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":652751},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":1968685},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2379915},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2414824},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2591653},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2620918},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2804866},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":2829719},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":3017687},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":3047602},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":3230889},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":3255721},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":3443870},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":57827790},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":57863073},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":63428016},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234333,"nanos_since_epoch":63449823},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":393591843},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":393638355},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":400772459},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":400801012},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":407522121},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":407558455},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[98,97,115,104]},{"Unix":[45,99]},{"Unix":[115,101,116,32,45,120,101,117,111,32,112,105,112,101,102,97,105,108,10,108,110,32,45,115,102,32,47,99,105,32,47,119,111,114,107,115,112,97,99,101,10]}],"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":407817655},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":442662598},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":442741931},"log_source":"Plan"}
{"type":"execute_action","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":442749599},"log_source":"Plan"}
{"type":"action_succeeded","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":454122207},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_fetch","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":458957409},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":461344329},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.96.1 (356927216 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":496506644},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[99,108,105,112,112,121]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":496558146},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.96 (31fca3adb2 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":562459572},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[114,117,115,116,99]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":562535058},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.96.1 (31fca3adb 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":583207462},"log_source":"Plan"}
copying relevant files to /tmp/.tmpasy6KT
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[102,101,116,99,104]},{"Unix":[45,45,108,111,99,107,101,100]}],"timestamp":{"secs_since_epoch":1783234336,"nanos_since_epoch":589474649},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"    Updating crates.io index\n Downloading crates ...\n  Downloaded fastrand v2.3.0\n  Downloaded bitflags v2.11.0\n  Downloaded litemap v0.8.1\n  Downloaded dunce v1.0.5\n  Downloaded windows-targets v0.52.6\n  Downloaded openssl-probe v0.2.1\n  Downloaded semver v1.0.27\n  Downloaded cpufeatures v0.3.0\n  Downloaded spin v0.9.8\n  Downloaded git-testament v0.2.6\n  Downloaded git-testament-derive v0.2.1\n  Downloaded crypto-common v0.1.7\n  Downloaded dirs-sys-next v0.1.2\n  Downloaded directories-next v2.0.0\n  Downloaded strsim v0.11.1\n  Downloaded serde_path_to_error v0.1.20\n  Downloaded clap v4.5.51\n  Downloaded opaque-debug v0.3.1\n  Downloaded axum-macros v0.5.0\n  Downloaded cipher v0.4.4\n  Downloaded windows_aarch64_msvc v0.53.1\n  Downloaded typenum v1.19.0\n  Downloaded jiff-static v0.2.16\n  Downloaded quinn v0.11.9\n  Downloaded axum-core v0.5.6\n  Downloaded aes v0.8.4\n  Downloaded hyper-util v0.1.20\n  Downloaded axum v0.8.8\n  Downloaded tokio-util v0.7.18\n  Downloaded hashbrown v0.16.0\n  Downloaded h2 v0.4.13\n  Downloaded portable-atomic v1.11.1\n  Downloaded webpki-root-certs v1.0.6\n  Downloaded quinn-proto v0.11.14\n  Downloaded aws-lc-rs v1.16.2\n  Downloaded hyper v1.8.1\n  Downloaded combine v4.6.7\n  Downloaded zerocopy v0.8.47\n  Downloaded iri-string v0.7.10\n  Downloaded jni v0.21.1\n  Downloaded windows_aarch64_gnullvm v0.42.2\n  Downloaded jiff v0.2.16\n  Downloaded rustls v0.23.37\n  Downloaded windows_x86_64_gnullvm v0.42.2\n  Downloaded windows_x86_64_gnullvm v0.52.6\n  Downloaded windows_aarch64_gnullvm v0.52.6\n  Downloaded windows_i686_gnullvm v0.52.6\n  Downloaded tracing v0.1.44\n  Downloaded windows_i686_gnu v0.53.1\n  Downloaded rand v0.9.2\n  Downloaded indexmap v2.12.0\n  Downloaded http v1.4.0\n  Downloaded zerocopy-derive v0.8.47\n  Downloaded security-framework v3.7.0\n  Downloaded rustls-webpki v0.103.10\n  Downloaded clap_builder v4.5.51\n  Downloaded windows_x86_64_msvc v0.42.2\n  Downloaded windows_i686_msvc v0.53.1\n  Downloaded windows_aarch64_msvc v0.42.2\n  Downloaded windows_x86_64_gnu v0.42.2\n  Downloaded windows_i686_gnullvm v0.53.1\n  Downloaded windows_i686_msvc v0.42.2\n  Downloaded windows_i686_gnu v0.42.2\n  Downloaded encoding_rs v0.8.35\n  Downloaded windows_x86_64_msvc v0.52.6\n  Downloaded windows_aarch64_msvc v0.52.6\n  Downloaded windows_x86_64_gnu v0.52.6\n  Downloaded windows_i686_gnu v0.52.6\n  Downloaded windows_i686_msvc v0.52.6\n  Downloaded windows_x86_64_gnu v0.53.1\n  Downloaded windows_x86_64_msvc v0.53.1\n  Downloaded winapi v0.3.9\n  Downloaded version_check v0.9.5\n  Downloaded rand_core v0.6.4\n  Downloaded cc v1.2.57\n  Downloaded matchit v0.8.4\n  Downloaded aead v0.5.2\n  Downloaded inout v0.1.4\n  Downloaded ctr v0.9.2\n  Downloaded cpufeatures v0.2.17\n  Downloaded generic-array v0.14.7\n  Downloaded polyval v0.6.2\n  Downloaded winnow v0.7.13\n  Downloaded httparse v1.10.1\n  Downloaded tinyvec v1.11.0\n  Downloaded rustls-platform-verifier v0.6.2\n  Downloaded web-sys v0.3.85\n  Downloaded libc v0.2.177\n  Downloaded windows_aarch64_gnullvm v0.53.1\n  Downloaded windows_x86_64_gnullvm v0.53.1\n  Downloaded tokio v1.49.0\n  Downloaded aes-gcm-siv v0.11.1\n  Downloaded clap_lex v0.7.6\n  Downloaded terminal_size v0.4.3\n  Downloaded clap_derive v4.5.49\n  Downloaded libredox v0.1.10\n  Downloaded redox_users v0.4.6\n  Downloaded serde_norway v0.9.42\n  Downloaded quinn-udp v0.5.14\n  Downloaded ring v0.17.14\n  Downloaded thiserror v1.0.69\n  Downloaded schannel v0.1.29\n  Downloaded core-foundation-sys v0.8.7\n  Downloaded ryu v1.0.20\n  Downloaded log v0.4.28\n  Downloaded windows-sys v0.61.2\n  Downloaded windows-sys v0.60.2\n  Downloaded tracing-core v0.1.36\n  Downloaded unsafe-libyaml-norway v0.2.15\n  Downloaded toml_parser v1.0.4\n  Downloaded jobserver v0.1.34\n  Downloaded rustls-pki-types v1.14.0\n  Downloaded serde_spanned v1.0.3\n  Downloaded toml_datetime v0.7.3\n  Downloaded toml_writer v1.0.4\n  Downloaded toml v0.9.8\n  Downloaded clingwrap v0.6.0\n  Downloaded anstyle-parse v0.2.7\n  Downloaded anstyle v1.0.13\n  Downloaded core-foundation v0.9.4\n  Downloaded linux-raw-sys v0.11.0\n  Downloaded cfg_aliases v0.2.1\n  Downloaded untrusted v0.9.0\n  Downloaded tokio-rustls v0.26.4\n  Downloaded regex-automata v0.4.13\n  Downloaded anstyle-query v1.1.5\n  Downloaded once_cell_polyfill v1.70.2\n  Downloaded anstyle-wincon v3.0.11\n  Downloaded colorchoice v1.0.4\n  Downloaded is_terminal_polyfill v1.70.2\n  Downloaded utf8parse v0.2.2\n  Downloaded anstream v0.6.21\n  Downloaded env_filter v0.1.4\n  Downloaded miniz_oxide v0.8.9\n  Downloaded ipnet v2.12.0\n  Downloaded ppv-lite86 v0.2.21\n  Downloaded rand_chacha v0.9.0\n  Downloaded rand_core v0.9.5\n  Downloaded tinyvec_macros v0.1.1\n  Downloaded walkdir v2.5.0\n  Downloaded core-foundation v0.10.1\n  Downloaded fiat-crypto v0.3.0\n  Downloaded universal-hash v0.5.1\n  Downloaded portable-atomic-util v0.2.4\n  Downloaded env_logger v0.11.8\n  Downloaded crc32fast v1.5.0\n  Downloaded adler2 v2.0.1\n  Downloaded simd-adler32 v0.3.8\n  Downloaded flate2 v1.1.8\n  Downloaded wasmparser v0.244.0\n  Downloaded thiserror-impl v1.0.69\n  Downloaded fs_extra v1.3.0\n  Downloaded getrandom v0.2.16\n  Downloaded wit-component v0.244.0\n  Downloaded fnv v1.0.7\n  Downloaded try-lock v0.2.5\n  Downloaded jni-sys v0.3.0\n  Downloaded windows-targets v0.42.2\n  Downloaded security-framework-sys v2.17.0\n  Downloaded cmake v0.1.57\n  Downloaded find-msvc-tools v0.1.9\n  Downloaded windows-sys v0.45.0\n  Downloaded shlex v1.3.0\n  Downloaded windows-sys v0.52.0\n  Downloaded web-time v1.1.0\n  Downloaded hostname v0.4.2\n  Downloaded mutants v0.0.3\n  Downloaded cobs v0.3.0\n  Downloaded embedded-io v0.4.0\n  Downloaded embedded-io v0.6.1\n  Downloaded critical-section v1.2.0\n  Downloaded atomic-polyfill v1.0.3\n  Downloaded byteorder v1.5.0\n  Downloaded hash32 v0.2.1\n  Downloaded rustc_version v0.4.1\n  Downloaded scopeguard v1.2.0\n  Downloaded lock_api v0.4.14\n  Downloaded wit-parser v0.244.0\n  Downloaded equivalent v1.0.2\n  Downloaded winapi-i686-pc-windows-gnu v0.4.0\n  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0\n  Downloaded mime v0.3.17\n  Downloaded lru-slab v0.1.2\n  Downloaded rustc-hash v2.1.1\n  Downloaded same-file v1.0.6\n  Downloaded winapi-util v0.1.11\n  Downloaded serde_urlencoded v0.7.1\n  Downloaded rustix v1.1.2\n  Downloaded heapless v0.7.17\n  Downloaded postcard v1.1.3\n  Downloaded chacha20 v0.10.0\n  Downloaded r-efi v6.0.0\n  Downloaded prettyplease v0.2.37\n  Downloaded wit-bindgen-core v0.51.0\n  Downloaded wasm-encoder v0.244.0\n  Downloaded anyhow v1.0.102\n  Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06\n  Downloaded rand v0.10.0\n  Downloaded atomic-waker v1.1.2\n  Downloaded httpdate v1.0.3\n  Downloaded system-configuration-sys v0.6.0\n  Downloaded windows-result v0.4.1\n  Downloaded windows-strings v0.5.1\n  Downloaded futures-util v0.3.31\n  Downloaded reqwest v0.13.2\n  Downloaded vcpkg v0.2.15\n  Downloaded regex-syntax v0.8.8\n  Downloaded heck v0.5.0\n  Downloaded leb128fmt v0.1.0\n  Downloaded wasm-metadata v0.244.0\n  Downloaded id-arena v2.3.0\n  Downloaded unicode-xid v0.2.6\n  Downloaded wit-bindgen-rust v0.51.0\n  Downloaded wit-bindgen v0.51.0\n  Downloaded base64 v0.22.1\n  Downloaded want v0.3.1\n  Downloaded system-configuration v0.7.0\n  Downloaded rustls-native-certs v0.8.3\n  Downloaded tower v0.5.3\n  Downloaded tower-http v0.6.8\n  Downloaded hashbrown v0.15.5\n  Downloaded wit-bindgen-rust-macro v0.51.0\n  Downloaded getrandom v0.4.2\n  Downloaded rand_core v0.10.0\n  Downloaded http-body-util v0.1.3\n  Downloaded hyper-rustls v0.27.7\n  Downloaded futures-channel v0.3.31\n  Downloaded windows-registry v0.6.1\n  Downloaded cesu8 v1.1.0\n  Downloaded rustls-platform-verifier-android v0.1.1\n  Downloaded orion v0.17.12\n  Downloaded syn v2.0.110\n  Downloaded sync_wrapper v1.0.2\n  Downloaded tower-layer v0.3.3\n  Downloaded tower-service v0.3.3\n  Downloaded futures-core v0.3.31\n  Downloaded futures-io v0.3.32\n  Downloaded futures-sink v0.3.32\n  Downloaded futures-task v0.3.31\n  Downloaded pin-utils v0.1.0\n  Downloaded slab v0.4.12\n  Downloaded wasm-bindgen-futures v0.4.58\n  Downloaded fallible-iterator v0.3.0\n  Downloaded fallible-streaming-iterator v0.1.9\n  Downloaded foldhash v0.1.5\n  Downloaded hashlink v0.10.0\n  Downloaded pkg-config v0.3.32\n  Downloaded rusqlite v0.37.0\n  Downloaded icu_properties_data v2.1.2\n  Downloaded wasip2 v1.0.1+wasi-0.2.4\n  Downloaded aho-corasick v1.1.4\n  Downloaded regex v1.12.2\n  Downloaded time v0.3.44\n  Downloaded pasetors v0.7.7\n  Downloaded serde_json v1.0.149\n  Downloaded http-body v1.0.1\n  Downloaded icu_locale_core v2.1.1\n  Downloaded zerovec v0.11.5\n  Downloaded idna v1.1.0\n  Downloaded uuid v1.20.0\n  Downloaded bumpalo v3.19.1\n  Downloaded serde v1.0.228\n  Downloaded bytes v1.11.1\n  Downloaded mio v1.1.0\n  Downloaded tempfile v3.23.0\n  Downloaded icu_normalizer_data v2.1.1\n  Downloaded icu_normalizer v2.1.1\n  Downloaded libsqlite3-sys v0.35.0\n  Downloaded icu_collections v2.1.1\n  Downloaded icu_provider v2.1.1\n  Downloaded url v2.5.8\n  Downloaded js-sys v0.3.85\n  Downloaded wit-bindgen v0.46.0\n  Downloaded wasm-bindgen v0.2.108\n  Downloaded getrandom v0.3.4\n  Downloaded memchr v2.7.6\n  Downloaded serde_derive v1.0.228\n  Downloaded serde_core v1.0.228\n  Downloaded tinystr v0.8.2\n  Downloaded zerotrie v0.2.3\n  Downloaded icu_properties v2.1.2\n  Downloaded smallvec v1.15.1\n  Downloaded ed25519-compact v2.2.0\n  Downloaded r-efi v5.3.0\n  Downloaded once_cell v1.21.3\n  Downloaded rustversion v1.0.22\n  Downloaded wasm-bindgen-macro-support v0.2.108\n  Downloaded itoa v1.0.15\n  Downloaded zmij v1.0.18\n  Downloaded thiserror v2.0.17\n  Downloaded wasi v0.11.1+wasi-snapshot-preview1\n  Downloaded pin-project-lite v0.2.16\n  Downloaded writeable v0.6.2\n  Downloaded stable_deref_trait v1.2.1\n  Downloaded yoke-derive v0.8.1\n  Downloaded yoke v0.8.1\n  Downloaded synstructure v0.13.2\n  Downloaded zerofrom v0.1.6\n  Downloaded zerovec-derive v0.11.2\n  Downloaded cfg-if v1.0.4\n  Downloaded subtle v2.6.1\n  Downloaded deranged v0.5.5\n  Downloaded time-macros v0.2.24\n  Downloaded zeroize v1.8.2\n  Downloaded thiserror-impl v2.0.17\n  Downloaded proc-macro2 v1.0.103\n  Downloaded unicode-ident v1.0.22\n  Downloaded errno v0.3.14\n  Downloaded form_urlencoded v1.2.2\n  Downloaded potential_utf v0.1.4\n  Downloaded displaydoc v0.2.5\n  Downloaded zerofrom-derive v0.1.6\n  Downloaded idna_adapter v1.2.1\n  Downloaded utf8_iter v1.0.4\n  Downloaded percent-encoding v2.3.2\n  Downloaded ct-codecs v1.1.6\n  Downloaded wasm-bindgen-macro v0.2.108\n  Downloaded wasm-bindgen-shared v0.2.108\n  Downloaded powerfmt v0.2.0\n  Downloaded num-conv v0.1.0\n  Downloaded time-core v0.1.6\n  Downloaded windows-targets v0.53.5\n  Downloaded socket2 v0.6.2\n  Downloaded quote v1.0.42\n  Downloaded tokio-macros v2.6.0\n  Downloaded windows-link v0.2.1\n  Downloaded aws-lc-sys v0.39.0\n","timestamp":{"secs_since_epoch":1783234343,"nanos_since_epoch":456569292},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_fetch","timestamp":{"secs_since_epoch":1783234343,"nanos_since_epoch":606183689},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234343,"nanos_since_epoch":608373078},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234346,"nanos_since_epoch":107195628},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234346,"nanos_since_epoch":107240798},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234346,"nanos_since_epoch":108871263},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234346,"nanos_since_epoch":109003238},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234349,"nanos_since_epoch":135634414},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783234349,"nanos_since_epoch":135678939},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783234349,"nanos_since_epoch":135902247},"log_source":"Plan"}
EXIT CODE: 0

Plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.15.0@eeab732
  2. 0 ms: Runnable plan
    steps:
    - action: mkdir
      pathname: /ci
    - action: mkdir
      pathname: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/secrets
    - action: mkdir
      pathname: /ci/deps
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    - action: shell
      shell: ln -sf /ci /workspace
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    - action: cargo_clippy
    - action: cargo_build
    - action: cargo_test
    - action: shell
      shell: |
        export PATH=/root/.cargo/bin:/bin:/sbin
        ls -l "$CARGO_TARGET_DIR"
        make TARGET= subplot doc
        find doc -ls
        mkdir -p /ci/artifacts/rsync
        cp obnam.html doc/*.html /ci/artifacts/rsync
    - action: custom
      name: dch
      args:
        debfullname: Lars Wirzenius
        debemail: liw@liw.fi
    - action: deb
      packages: debian
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    secrets_drive: null
    workspace_dir: /ci
    source_dir: /ci/src
    deps_dir: /ci/deps
    cache_dir: /ci/cache
    artifacts_dir: /ci/artifacts
    secrets_dir: null
    envs: {}
    
  3. 0 ms: Execute action: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 0 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  5. 1 ms: Execute action: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  6. 1 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  7. 1 ms: Execute action: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  8. 1 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  9. 1 ms: Execute action: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  10. 1 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  11. 1 ms: Execute action: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  12. 1 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  13. 1 ms: Execute action: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  14. 1 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  15. 54 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 69 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 69 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 1627 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 1629 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 5033 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 5033 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 5039 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 5039 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 5041 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 5041 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 5041 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 5047 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 5047 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 5047 ms: Execute action: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  30. 5048 ms: Action succeeded: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  31. 5048 ms: Execute action: cargo_clippy
    - action: cargo_clippy
    
  32. 5048 ms: Start program: cargo
    • cargo
    • --version
  33. 5089 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.96.1 (356927216 2026-06-26)
      
    • Stderr
  34. 5090 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  35. 5282 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.96 (31fca3adb2 2026-06-26)
      
    • Stderr
  36. 5283 ms: Start program: rustc
    • rustc
    • --version
  37. 5331 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.96.1 (31fca3adb 2026-06-26)
      
    • Stderr
  38. 5335 ms: Start program: cargo
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  39. 7669 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
          Checking obnam v0.10.0 (/ci/src/obnam)
          Checking obnam-server v0.1.0 (/ci/src/obnam-server)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.26s
      
  40. 7674 ms: Action succeeded: cargo_clippy
    - action: cargo_clippy
    
  41. 7676 ms: Execute action: cargo_build
    - action: cargo_build
    
  42. 7678 ms: Start program: cargo
    • cargo
    • --version
  43. 7689 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.96.1 (356927216 2026-06-26)
      
    • Stderr
  44. 7689 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  45. 7720 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.96 (31fca3adb2 2026-06-26)
      
    • Stderr
  46. 7720 ms: Start program: rustc
    • rustc
    • --version
  47. 7737 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.96.1 (31fca3adb 2026-06-26)
      
    • Stderr
  48. 7737 ms: Start program: cargo
    • cargo
    • build
    • --offline
    • --locked
    • --workspace
    • --all-targets
  49. 10875 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
         Compiling obnam v0.10.0 (/ci/src/obnam)
         Compiling obnam-server v0.1.0 (/ci/src/obnam-server)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.10s
      
  50. 10875 ms: Action succeeded: cargo_build
    - action: cargo_build
    
  51. 10875 ms: Execute action: cargo_test
    - action: cargo_test
    
  52. 10875 ms: Start program: cargo
    • cargo
    • --version
  53. 10894 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.96.1 (356927216 2026-06-26)
      
    • Stderr
  54. 10894 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  55. 10926 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.96 (31fca3adb2 2026-06-26)
      
    • Stderr
  56. 10926 ms: Start program: rustc
    • rustc
    • --version
  57. 10943 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.96.1 (31fca3adb 2026-06-26)
      
    • Stderr
  58. 10946 ms: Start program: cargo
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  59. 11753 ms: Program succeeded
    • Exit code: 0
    • Stdout
      running 54 tests
      test blobs::test::cant_init_nonexistent_dir ... ok
      test blobs::test::empty_dir_is_not_init ... ok
      test blobs::test::adds_blob ... ok
      test blobs::test::finds_blob_when_labels_match ... ok
      test blobs::test::finds_no_blob_in_empty_repo ... ok
      test blobs::test::finds_no_blob_when_none_match_label ... ok
      test blobs::test::inits_empty_dir ... ok
      test blobs::test::nonexistent_dir_is_not_init ... ok
      test blobs::test::has_no_blobs_initially ... ok
      test blobs::test::root_dir_is_not_init ... ok
      test chunk::test::chunk_round_trip ... ok
      test chunk::test::ciphertext_does_not_contain_plaintext ... ok
      test chunk::test::label_display ... ok
      test chunk::test::label_round_trip ... ok
      test chunk::test::metadata ... ok
      test chunk::test::metadata_round_trip ... ok
      test blobs::test::removes_blob ... ok
      test cipher::test::key ... ok
      test cipher::test::aead_round_trip ... ok
      test cipher::test::key_from_string ... ok
      test client::test::generates_key ... ok
      test client::test::gets_correct_key ... ok
      test client::test::has_name ... ok
      test client::test::has_no_keys_initially ... ok
      test client::test::serialiazion_round_trip ... ok
      test client::test::sets_old_versions ... ok
      test client_repo::test::puts_client ... ok
      test client_repo::test::removes_client ... ok
      test client_repo::test::removes_credential ... ok
      test client_repo::test::adds_credential ... ok
      test config::test::merge_files ... ok
      test config::test::valideted_config ... ok
      test credential::test::roundtrip_sop_credential ... ok
      test id::test::id_is_equal_to_itself ... ok
      test id::test::id_round_trip ... ok
      test credential::test::roundtrip_sop_method ... ok
      test id::test::one_is_expected ... ok
      test id::test::textual_id_is_printable_ascii ... ok
      test id::test::two_ids_are_different ... ok
      test label::test::colon ... ok
      test label::test::equals ... ok
      test label::test::label_is_equal_to_itself ... ok
      test label::test::question_mark ... ok
      test label::test::safe_label ... ok
      test label::test::slash ... ok
      test local_repo::test::finds_chunk ... ok
      test local_repo::test::adds_and_gets_chunk ... ok
      test local_repo::test::has_no_chunks_initially ... ok
      test plaintext::test::compressed ... ok
      test plaintext::test::compression_round_trip ... ok
      test local_repo::test::removes_chunk ... ok
      test plaintext::test::uncompressed ... ok
      test sop::tests::cert_display ... ok
      test sop::tests::key_display ... ok
      
      test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 1 test
      test config::test::merges ... ok
      
      test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 3 tests
      test obnam/src/id.rs - id (line 5) ... ok
      test obnam/src/label.rs - label (line 5) ... ok
      test obnam/src/lib.rs - (line 12) ... ok
      
      test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      all doctests ran in 0.45s; merged doctests compilation took 0.44s
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
    • Stderr
          Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
           Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam-f06ddfb127cce3e9)
           Running unittests src/bin/obnam.rs (/ci/cache/cargo-target/debug/deps/obnam-8d692d497a9a1186)
           Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam_server-15488ee91db8706a)
           Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/obnam_server-fb5049dc6335387b)
         Doc-tests obnam
         Doc-tests obnam_server
      
  60. 11807 ms: Action succeeded: cargo_test
    - action: cargo_test
    
  61. 11809 ms: Execute action: shell: export PATH=/root/.cargo/bin:/bin:/sbin ls -l "$CARGO_TARGET_DIR" make TARGET= subplot doc find doc -ls mkdir -p /ci/artifacts/rsync cp obnam.html doc/*.html /ci/artifacts/rsync
    - action: shell
      shell: |
        export PATH=/root/.cargo/bin:/bin:/sbin
        ls -l "$CARGO_TARGET_DIR"
        make TARGET= subplot doc
        find doc -ls
        mkdir -p /ci/artifacts/rsync
        cp obnam.html doc/*.html /ci/artifacts/rsync
    
  62. 11814 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail export PATH=/root/.cargo/bin:/bin:/sbin ls -l "$CARGO_TARGET_DIR" make TARGET= subplot doc find doc -ls mkdir -p /ci/artifacts/rsync cp obnam.html doc/*.html /ci/artifacts/rsync
  63. 14207 ms: Program succeeded
    • Exit code: 0
    • Stdout
      total 16
      -rw-r--r-- 1 root root  177 Jul  5 05:15 CACHEDIR.TAG
      drwxr-xr-x 7 root root 4096 Jul  5 06:52 debug
      drwxr-xr-x 8 root root 4096 Jul  5 06:50 doc
      drwxr-xr-x 7 root root 4096 Jul  5 06:51 release
      subplot docgen obnam.subplot --output obnam.html
      subplot codegen obnam.subplot --output test.py
      rm -f test.log
      python3 test.py --log test.log 
      srcdir /ci/src
      datadir /tmp/tmp00x219ul
      scenario: Generates and validates API tokens
        step 1: given an installed obnam
        step 2: given file server-config.yaml
        step 3: when I run obnam-server --config server-config.yaml init
        step 4: then file keypair.json exists
        step 5: when I try to run obnam-server --config server-config.yaml init
        step 6: then command fails
        step 7: then stderr contains "keypair.json"
        step 8: when I run obnam-server --config server-config.yaml token --output token.txt --allow append
        step 9: then file token.txt contains "v4.public."
        step 10: when I run obnam-server --config server-config.yaml validate --file token.txt
        step 11: then stdout contains "read_chunks_allowed: true"
        step 12: then stdout contains "find_chunks_allowed: true"
        step 13: then stdout contains "create_chunk_allowed: true"
        step 14: then stdout contains "delete_chunk_allowed: false"
        step 15: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete
        step 16: then file token.txt contains "v4.public."
        step 17: when I run obnam-server --config server-config.yaml validate --file token.txt
        step 18: then stdout contains "read_chunks_allowed: true"
        step 19: then stdout contains "find_chunks_allowed: true"
        step 20: then stdout contains "create_chunk_allowed: true"
        step 21: then stdout contains "delete_chunk_allowed: true"
      scenario: Initialize a client chunk
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config-with-credential.yaml
        step 3: when I create directory mychunks
        step 4: when I run obnam repo init
        step 5: when I run obnam client init --client-name my.host
        step 6: then command is successful
      scenario: Round trip chunk encryption using key from client chunk
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: when I create directory mychunks
        step 5: when I run obnam repo init
        step 6: when I run obnam --client-key my.secret client init --client-name my.host
        step 7: when I run obnam --client-key my.secret client generate my.host my.key
        step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file
        step 9: when I run obnam --client-key my.secret chunk decrypt --client-name my.host --key-name my.key chunk.file
        step 10: then stdout is exactly "Hello, world.\n"
      scenario: Refuses API token made for another server instance
        step 1: given an installed obnam
        step 2: given file server-config.yaml
        step 3: when I run obnam-server --config server-config.yaml init
        step 4: when I run obnam-server --config server-config.yaml token --output token.txt --allow append
        step 5: when I remove file keypair.json
        step 6: when I run obnam-server --config server-config.yaml init
        step 7: when I try to run obnam-server --config server-config.yaml validate --file token.txt
        step 8: then command fails
      scenario: Chunk encrypt/decrypt round trip via repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: when I create directory mychunks
        step 5: when I try to run obnam repo init
        step 6: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --id-file id.txt
        step 7: when I run obnam chunk decrypt --key secret --id-file id.txt
        step 8: then stdout is exactly "Hello, world.\n"
      scenario: Conveniently encrypt and decrypt chunk in a backup repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from comfy.yaml
        step 3: given file message.txt
        step 4: when I create directory my.repo
        step 5: when I run obnam repo init
        step 6: when I run obnam client init --credential softy
        step 7: when I run obnam chunk encrypt --label data --key-name default --id-file id.txt message.txt
        step 8: when I run obnam chunk decrypt --key-name default --id-file id.txt --output out.dat
        step 9: then files message.txt and out.dat match
      scenario: Manages chunks via API
        step 1: given an installed obnam
        step 2: given file server-config.yaml
        step 3: given file request.sh
        step 4: when I run obnam-server --config server-config.yaml init
        step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append
        step 6: when I run cat token.txt
        step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve
        step 8: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw
        step 9: then stderr contains "HTTP/1.1 404"
        step 10: when I run bash request.sh PUT /chunks/OVsgIaDAmIOEq1hSn_Zauw?label=first hello
        step 11: then stderr contains "HTTP/1.1 201"
        step 12: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw
        step 13: then stderr contains "HTTP/1.1 200"
        step 14: then stdout is exactly "hello"
        step 15: when I run bash request.sh GET /chunks?label=first
        step 16: then stdout is exactly "{"chunk_ids":["OVsgIaDAmIOEq1hSn_Zauw"]}"
        step 17: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw
        step 18: then stderr contains "HTTP/1.1 401"
        step 19: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete
        step 20: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw
        step 21: then stderr contains "HTTP/1.1 204"
        step 22: when I run bash request.sh GET /chunks?label=first
        step 23: then stdout is exactly "{"chunk_ids":[]}"
        cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve
      scenario: Validates token via HTTP API
        step 1: given an installed obnam
        step 2: given file server-config.yaml
        step 3: given file request.sh
        step 4: when I run obnam-server --config server-config.yaml init
        step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append
        step 6: when I run cat token.txt
        step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve
        step 8: when I run bash request.sh GET /validate
        step 9: then stdout contains ""read_chunks_allowed":true"
        step 10: then stdout contains ""find_chunks_allowed":true"
        step 11: then stdout contains ""create_chunk_allowed":true"
        step 12: then stdout contains ""delete_chunk_allowed":false"
        cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve
      scenario: Chunk encrypt/decrypt with compression round trip via file
        step 1: given an installed obnam
        step 2: given file greeting.txt
        step 3: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt --output chunk.file
        step 4: when I run obnam chunk decrypt --key secret chunk.file
        step 5: then stdout is exactly "Hello, world.\n"
      scenario: Inspect an encoded chunk in file
        step 1: given an installed obnam
        step 2: given file greeting.txt
        step 3: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --output chunk.file
        step 4: when I run obnam chunk inspect --filename chunk.file
        step 5: then stdout is valid JSON
        step 6: then stdout contains ""id":"
        step 7: then stdout contains ""label":"
        step 8: then stdout contains ""data": null"
        step 9: when I run obnam chunk inspect --filename chunk.file --key secret
        step 10: then stdout is valid JSON
        step 11: then stdout contains ""id":"
        step 12: then stdout contains ""label":"
        step 13: then stdout contains ""data": ""
      scenario: Create an OpenPGP software key credential
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file sop-generate
        step 4: when I run bash sop-generate alice.tsk
        step 5: when I create directory mychunks
        step 6: when I run obnam repo init
        step 7: when I run obnam credential list
        step 8: then stdout is exactly ""
        step 9: when I run obnam --client-key my.secret credential openpgp-soft alice.tsk
        step 10: when I run obnam credential list --all
        step 11: then stdout isn't exactly ""
      scenario: Manage chunks on the server
        step 1: given an installed obnam
        step 2: given file server-config.yaml
        step 3: given file greeting.txt
        step 4: given file .config/obnam/config.yaml from comfy.yaml
        step 5: given executable file create-token.sh
        step 6: when I run obnam-server --config server-config.yaml init
        step 7: when I run ./create-token.sh delete
        step 8: when I run, as a daemon, obnam-server --config server-config.yaml serve
        step 9: when I run obnam chunk encrypt --key secret --label first greeting.txt --output chunk.file
        step 10: when I run obnam api put OVsgIaDAmIOEq1hSn_Zauw test.chunk --filename chunk.file
        step 11: when I run obnam api get OVsgIaDAmIOEq1hSn_Zauw --filename returned.chunk
        step 12: then files chunk.file and returned.chunk match
        step 13: when I run obnam api find test.chunk
        step 14: then stdout is exactly "OVsgIaDAmIOEq1hSn_Zauw\n"
        step 15: when I run obnam api delete OVsgIaDAmIOEq1hSn_Zauw
        step 16: when I run obnam api find test.chunk
        step 17: then stdout is exactly ""
        cleanup 8: when I run, as a daemon, obnam-server --config server-config.yaml serve
      scenario: Inspect an encrypted chunk using key from client chunk
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: when I create directory mychunks
        step 5: when I run obnam repo init
        step 6: when I run obnam --client-key my.secret client init --client-name my.host
        step 7: when I run obnam --client-key my.secret client generate my.host my.key
        step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file
        step 9: when I run obnam --client-key my.secret chunk inspect --filename chunk.file --client-name my.host --key-name my.key
        step 10: then stdout is valid JSON
        step 11: then stdout contains ""id":"
        step 12: then stdout contains ""label":"
        step 13: then stdout contains ""data": ""
      scenario: List clients
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: when I create directory mychunks
        step 4: when I run obnam repo init
        step 5: when I run obnam --client-key my.secret client init --client-name my.host
        step 6: when I run obnam --client-key my.secret client list
        step 7: then stdout is exactly "my.host\n"
      scenario: Add a chunk to the backup repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: given a directory mychunks
        step 5: when I run obnam repo init
        step 6: when I run obnam chunk encrypt --key secret --label data greeting.txt
      scenario: Conveniently create a client with an OpenPGP software key credential
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from comfy.yaml
        step 3: when I create directory my.repo
        step 4: when I run obnam repo init
        step 5: when I run obnam client init --credential softy
        step 6: when I run obnam client list
        step 7: then stdout isn't exactly ""
      scenario: Find chunks using labels
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: given a directory mychunks
        step 5: when I run obnam repo init
        step 6: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt
        step 7: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt
        step 8: when I run obnam chunk encrypt --key secret --label client-chunk greeting.txt
        step 9: when I run obnam repo find missing
        step 10: then stdout is exactly ""
        step 11: when I run obnam repo find data-chunk
        step 12: then stdout contains 2 lines
        step 13: when I run obnam repo find client-chunk
        step 14: then stdout contains 1 lines
      scenario: Avoid client chunks with the same name
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: when I create directory mychunks
        step 4: when I run obnam repo init
        step 5: when I run obnam --client-key my.secret client init --client-name my.host
        step 6: then command is successful
        step 7: when I try to run obnam --client-key my.secret client init --client-name my.host
        step 8: then command fails
      scenario: Logging level can be set
        step 1: given an installed obnam
        step 2: when I run obnam config
        step 3: then stderr doesn't contain "TRACE"
        step 4: then stderr doesn't contain "DEBUG"
        step 5: then stderr contains "INFO"
        step 6: then stderr contains "WARN"
        step 7: then stderr contains "ERROR"
        step 8: when I run env OBNAM_LOG=error obnam config
        step 9: then stderr doesn't contain "TRACE"
        step 10: then stderr doesn't contain "DEBUG"
        step 11: then stderr doesn't contain "INFO"
        step 12: then stderr doesn't contain "WARN"
        step 13: then stderr contains "ERROR"
        step 14: when I run obnam --log-level=error config
        step 15: then stderr doesn't contain "TRACE"
        step 16: then stderr doesn't contain "DEBUG"
        step 17: then stderr doesn't contain "INFO"
        step 18: then stderr doesn't contain "WARN"
        step 19: then stderr contains "ERROR"
        step 20: when I run env OBNAM_LOG=error obnam --log-level=trace config
        step 21: then stderr contains "TRACE"
        step 22: then stderr contains "DEBUG"
        step 23: then stderr contains "INFO"
        step 24: then stderr contains "WARN"
        step 25: then stderr contains "ERROR"
      scenario: Remove a chunk from backup repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: given a directory mychunks
        step 5: when I run obnam repo init
        step 6: when I run obnam chunk encrypt --key secret --label data-chunk --id-file id.txt greeting.txt
        step 7: when I run obnam repo remove --id-file id.txt
        step 8: then stdout doesn't contain "xyzzy"
      scenario: Inspect an encoded chunk in repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: when I create directory mychunks
        step 5: when I try to run obnam repo init
        step 6: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --id-file=id.txt
        step 7: when I run obnam chunk inspect --id-file id.txt
        step 8: then stdout is valid JSON
        step 9: then stdout contains ""id":"
        step 10: then stdout contains ""label":"
        step 11: then stdout contains ""data": null"
        step 12: when I run obnam chunk inspect --key secret --id-file id.txt
        step 13: then stdout is valid JSON
        step 14: then stdout contains ""id":"
        step 15: then stdout contains ""label":"
        step 16: then stdout contains ""data": ""
      scenario: Extracting a certificate from a key
        step 1: given an installed obnam
        step 2: given file alice.key
        step 3: when I run obnam sop extract-cert rsop alice.key
        step 4: then stdout isn't exactly ""
      scenario: Chunk encrypt/decrypt round trip via file
        step 1: given an installed obnam
        step 2: given file greeting.txt
        step 3: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --output chunk.file
        step 4: when I run obnam chunk decrypt --key secret chunk.file
        step 5: then stdout is exactly "Hello, world.\n"
      scenario: Chunk encrypt/decrypt with compression round trip via repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: given file greeting.txt
        step 4: when I create directory mychunks
        step 5: when I try to run obnam repo init
        step 6: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt
        step 7: when I run obnam repo find sticky.tape --one-match-output=id.txt
        step 8: when I run obnam chunk decrypt --key secret --id-file id.txt
        step 9: then stdout is exactly "Hello, world.\n"
      scenario: Initialize a backup repository
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: then directory mychunks does not exist
        step 4: when I try to run obnam repo is
        step 5: then command fails
        step 6: when I create directory mychunks
        step 7: when I try to run obnam repo is
        step 8: then command fails
        step 9: when I run obnam repo init
        step 10: when I run obnam repo is
        step 11: then exit code is 0
      scenario: Generate new key
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: when I create directory mychunks
        step 4: when I run obnam repo init
        step 5: when I run obnam --client-key my.secret client init --client-name my.host
        step 6: when I run obnam --client-key my.secret client generate my.host my.key
        step 7: when I run obnam --client-key my.secret client show --client-name my.host
        step 8: then stdout contains "my.key"
      scenario: Show client
        step 1: given an installed obnam
        step 2: given file .config/obnam/config.yaml from config.yaml
        step 3: when I create directory mychunks
        step 4: when I run obnam repo init
        step 5: when I run obnam --client-key my.secret client init --client-name my.host
        step 6: when I run obnam --client-key my.secret client show --client-name my.host
        step 7: then stdout is valid JSON
      scenario: Encryption round trip
        step 1: given an installed obnam
        step 2: given file alice.key
        step 3: given file hello.txt
        step 4: when I run obnam sop encrypt rsop alice.key hello.txt -o encrypted
        step 5: when I run ls -l encrypted
        step 6: when I run cat encrypted
        step 7: when I run obnam sop decrypt rsop alice.key encrypted
        step 8: then stdout is exactly "hello, world\n"
      OK, all scenarios finished successfully
      env 'RUSTDOCFLAGS=-D warnings' cargo doc --no-deps
      make -C doc
      make[1]: Entering directory '/ci/src/doc'
      pandoc -N --toc --standalone --self-contained -o "arch.html" "arch.md"
      pandoc -N --toc --standalone --self-contained -o "glossary.html" "glossary.md"
      make[1]: Leaving directory '/ci/src/doc'
        5374013      4 drwxr-xr-x   2 root     root         4096 Jul  5 06:52 doc
        5374014      4 -rw-r--r--   1 root     root         3885 Jul  5 06:52 doc/keys.svg
        5374015      4 -rw-r--r--   1 root     root          540 Jul  5 06:52 doc/keys.pik
        5374016      4 -rw-r--r--   1 root     root          427 Jul  5 06:52 doc/glossary.md
        5374018      4 -rw-r--r--   1 root     root          327 Jul  5 06:52 doc/Makefile
        5402742      4 -rw-r--r--   1 root     root         3529 Jul  5 06:52 doc/glossary.html
        5402741     24 -rw-r--r--   1 root     root        22893 Jul  5 06:52 doc/arch.html
        5374017     16 -rw-r--r--   1 root     root        13627 Jul  5 06:52 doc/arch.md
      
    • Stderr
      + export PATH=/root/.cargo/bin:/bin:/sbin
      + PATH=/root/.cargo/bin:/bin:/sbin
      + ls -l /ci/cache/cargo-target
      + make TARGET= subplot doc
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
          Checking obnam v0.10.0 (/ci/src/obnam)
       Documenting obnam v0.10.0 (/ci/src/obnam)
       Documenting obnam-server v0.1.0 (/ci/src/obnam-server)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s
         Generated /ci/cache/cargo-target/doc/obnam/index.html and 1 other file
      [WARNING] Deprecated: --self-contained. use --embed-resources --standalone
      [WARNING] Deprecated: --self-contained. use --embed-resources --standalone
      [WARNING] This document format requires a nonempty <title> element.
        Defaulting to 'glossary' as the title.
        To specify a title, use 'title' in metadata or --metadata title="...".
      + find doc -ls
      + mkdir -p /ci/artifacts/rsync
      + cp obnam.html doc/arch.html doc/glossary.html /ci/artifacts/rsync
      
  64. 14476 ms: Action succeeded: shell: export PATH=/root/.cargo/bin:/bin:/sbin ls -l "$CARGO_TARGET_DIR" make TARGET= subplot doc find doc -ls mkdir -p /ci/artifacts/rsync cp obnam.html doc/*.html /ci/artifacts/rsync
    - action: shell
      shell: |
        export PATH=/root/.cargo/bin:/bin:/sbin
        ls -l "$CARGO_TARGET_DIR"
        make TARGET= subplot doc
        find doc -ls
        mkdir -p /ci/artifacts/rsync
        cp obnam.html doc/*.html /ci/artifacts/rsync
    
  65. 14476 ms: Execute action: custom: dch
    - action: custom
      name: dch
      args:
        debfullname: Lars Wirzenius
        debemail: liw@liw.fi
    
  66. 14476 ms: Custom action starts: dch
    • Source: /ci/src
    • - name: dch
        args:
          debemail: liw@liw.fi
          debfullname: Lars Wirzenius
      
    • Executable: .ambient/dch
    • Executable exists? false
  67. 14676 ms: Custom action output
    • Stdout
      HEAD is now at b55fefe refactor: use new chunk label type everywhere, drop old one
      Removing doc/arch.html
      Removing doc/glossary.html
      Removing obnam.html
      Removing test.log
      Removing test.py
      
    • Stderr
      + export 'DEBEMAIL="liw@liw.fi"'
      + DEBEMAIL='"liw@liw.fi"'
      + export 'DEBFULLNAME="Lars Wirzenius"'
      + DEBFULLNAME='"Lars Wirzenius"'
      + export CARGO_TARGET_DIR=/workspace/cache
      + CARGO_TARGET_DIR=/workspace/cache
      + export CARGO_HOME=/workspace/deps
      + CARGO_HOME=/workspace/deps
      + export HOME=/root
      + HOME=/root
      + export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + git reset --hard
      + git clean -fdx
      ++ dpkg-parsechangelog -SVersion
      ++ sed 's/-[^-]*$//'
      + V=0.9.9
      ++ date -u +%Y%m%dT%H%M%S
      + T=20260705T065255
      + version=0.9.9.ci20260705T065255-1
      + dch -v 0.9.9.ci20260705T065255-1 'CI build under Ambient.'
      + dch -r ''
      
  68. 14722 ms: Action succeeded: custom: dch
    - action: custom
      name: dch
      args:
        debemail: liw@liw.fi
        debfullname: Lars Wirzenius
    
  69. 14725 ms: Execute action: deb
    - action: deb
      packages: debian
    
  70. 14727 ms: Start program: /bin/bash
    • /bin/bash
    • -c
    • #!/usr/bin/env bash set -xeuo pipefail echo "PATH at start: $PATH" export PATH="/root/.cargo/bin:$PATH" export CARGO_HOME=/ci/deps export DEBEMAIL=liw@liw.fi export DEBFULLNAME="Lars Wirzenius" /bin/env command -v cargo command -v rustc cargo --version rustc --version # Get name and version of source package. name="$(dpkg-parsechangelog -SSource)" version="$(dpkg-parsechangelog -SVersion)" # Get upstream version: everything before the last dash. uv="$(echo "$version" | sed 's/-[^-]*$//')" # Files that will be created. arch="$(dpkg --print-architecture)" orig="../${name}_${uv}.orig.tar.xz" deb="../${name}_${version}_${arch}.deb" changes="../${name}_${version}_${arch}.changes" # Create "upstream tarball". git archive HEAD | xz >"$orig" # Build package. dpkg-buildpackage -us -uc # Dump some information to make it easier to visually verify # everything looks OK. Also, test the package with the lintian tool. ls -l .. for x in ../*.deb; do dpkg -c "$x"; done # FIXME: disabled while this prevents radicle-native-ci deb from being built. # lintian -i --allow-root --fail-on warning ../*.changes # Move files to artifacts directory. mv ../*_* /ci/artifacts/debian
  71. 41852 ms: Program succeeded
    • Exit code: 0
    • Stdout
      PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
      DEBFULLNAME=Lars Wirzenius
      CARGO_TARGET_DIR=/ci/cache/cargo-target
      PWD=/ci/src
      SYSTEMD_EXEC_PID=378
      HOME=/root
      LANG=C.UTF-8
      CARGO_HOME=/ci/deps
      MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure
      DEBEMAIL=liw@liw.fi
      INVOCATION_ID=2dacea979f4345498705586ea0b1a0ed
      USER=root
      SHLVL=2
      JOURNAL_STREAM=9:2514
      PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      OLDPWD=/
      _=/bin/env
      /root/.cargo/bin/cargo
      /root/.cargo/bin/rustc
      cargo 1.96.1 (356927216 2026-06-26)
      rustc 1.96.1 (31fca3adb 2026-06-26)
      dpkg-buildpackage: info: source package obnam
      dpkg-buildpackage: info: source version 0.9.9.ci20260705T065255-1
      dpkg-buildpackage: info: source distribution unstable
      dpkg-buildpackage: info: source changed by "Lars Wirzenius" <"liw@liw.fi">
      dpkg-buildpackage: info: host architecture amd64
      dh clean
         dh_auto_clean
         dh_clean
      dpkg-source: info: using source format '3.0 (quilt)'
      dpkg-source: info: building obnam using existing ./obnam_0.9.9.ci20260705T065255.orig.tar.xz
      dpkg-source: info: building obnam in obnam_0.9.9.ci20260705T065255-1.debian.tar.xz
      dpkg-source: info: building obnam in obnam_0.9.9.ci20260705T065255-1.dsc
      dh binary
         dh_update_autotools_config
         dh_autoreconf
         dh_auto_configure
         debian/rules override_dh_auto_build
      make[1]: Entering directory '/ci/src'
      cargo build --workspace --release
      make[1]: Leaving directory '/ci/src'
         debian/rules override_dh_auto_test
      make[1]: Entering directory '/ci/src'
      echo tests are disabled, for now
      tests are disabled, for now
      make[1]: Leaving directory '/ci/src'
         create-stamp debian/debhelper-build-stamp
         dh_prep
         debian/rules override_dh_auto_install
      make[1]: Entering directory '/ci/src'
      cargo install --offline --locked --path=obnam --root=debian/obnam/usr
      find debian -name '.crates*.*' -delete
      make[1]: Leaving directory '/ci/src'
         dh_installdocs
         dh_installchangelogs
         dh_lintian
         dh_perl
         dh_link
         dh_strip_nondeterminism
         dh_compress
         dh_fixperms
         dh_missing
         dh_strip
         dh_makeshlibs
         dh_shlibdeps
         dh_installdeb
         dh_gencontrol
         dh_md5sums
         dh_builddeb
      dpkg-deb: building package 'obnam-dbgsym' in '../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb'.
      dpkg-deb: building package 'obnam' in '../obnam_0.9.9.ci20260705T065255-1_amd64.deb'.
      dpkg-genchanges: info: including full source code in upload
      dpkg-buildpackage: info: full upload (original source is included)
      total 3088
      drwxr-xr-x  4 root root    4096 Jul  5 06:52 artifacts
      drwxr-xr-x  3 root root    4096 Jul  5 05:15 cache
      drwxr-xr-x  3 root root    4096 Jul  5 06:52 deps
      -rw-r--r--  1 root root  329708 Jul  5 06:53 obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb
      -rw-r--r--  1 root root    1724 Jul  5 06:52 obnam_0.9.9.ci20260705T065255-1.debian.tar.xz
      -rw-r--r--  1 root root     900 Jul  5 06:52 obnam_0.9.9.ci20260705T065255-1.dsc
      -rw-r--r--  1 root root    5189 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo
      -rw-r--r--  1 root root    2296 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.changes
      -rw-r--r--  1 root root 2699876 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.deb
      -rw-r--r--  1 root root   83612 Jul  5 06:52 obnam_0.9.9.ci20260705T065255.orig.tar.xz
      drwxr-xr-x  2 root root    4096 Jul  5 06:52 secrets
      drwxr-xr-x 10 root root    4096 Jul  5 06:52 src
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/.build-id/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/.build-id/94/
      -rw-r--r-- root/root   1995248 2026-07-05 06:52 ./usr/lib/debug/.build-id/94/5ef15b3cfbedb061ec70bb60b421d11a79559b.debug
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/
      lrwxrwxrwx root/root         0 2026-07-05 06:52 ./usr/share/doc/obnam-dbgsym -> obnam
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/bin/
      -rwxr-xr-x root/root   9469912 2026-07-05 06:52 ./usr/bin/obnam
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/obnam/
      -rw-r--r-- root/root       208 2026-07-05 06:52 ./usr/share/doc/obnam/changelog.Debian.gz
      -rw-r--r-- root/root       371 2026-07-05 06:52 ./usr/share/doc/obnam/copyright
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/lintian/
      drwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/lintian/overrides/
      -rw-r--r-- root/root        48 2026-07-05 06:52 ./usr/share/lintian/overrides/obnam
      
    • Stderr
      + echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'
      + export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + export CARGO_HOME=/ci/deps
      + CARGO_HOME=/ci/deps
      + export DEBEMAIL=liw@liw.fi
      + DEBEMAIL=liw@liw.fi
      + export 'DEBFULLNAME=Lars Wirzenius'
      + DEBFULLNAME='Lars Wirzenius'
      + /bin/env
      + command -v cargo
      + command -v rustc
      + cargo --version
      + rustc --version
      ++ dpkg-parsechangelog -SSource
      + name=obnam
      ++ dpkg-parsechangelog -SVersion
      + version=0.9.9.ci20260705T065255-1
      ++ echo 0.9.9.ci20260705T065255-1
      ++ sed 's/-[^-]*$//'
      + uv=0.9.9.ci20260705T065255
      ++ dpkg --print-architecture
      + arch=amd64
      + orig=../obnam_0.9.9.ci20260705T065255.orig.tar.xz
      + deb=../obnam_0.9.9.ci20260705T065255-1_amd64.deb
      + changes=../obnam_0.9.9.ci20260705T065255-1_amd64.changes
      + git archive HEAD
      + xz
      + dpkg-buildpackage -us -uc
       dpkg-source --before-build .
       debian/rules clean
       dpkg-source -b .
       debian/rules binary
         Compiling obnam v0.10.0 (/ci/src/obnam)
         Compiling obnam-server v0.1.0 (/ci/src/obnam-server)
          Finished `release` profile [optimized] target(s) in 13.90s
        Installing obnam v0.10.0 (/ci/src/obnam)
         Compiling obnam v0.10.0 (/ci/src/obnam)
          Finished `release` profile [optimized] target(s) in 7.88s
        Installing /ci/src/debian/obnam/usr/bin/obnam
         Installed package `obnam v0.10.0 (/ci/src/obnam)` (executable `obnam`)
      warning: be sure to add `/ci/src/debian/obnam/usr/bin` to your PATH to be able to run the installed binaries
      dpkg-shlibdeps: warning: diversions involved - output may be incorrect
       diversion by libc6 from: /lib64/ld-linux-x86-64.so.2
      dpkg-shlibdeps: warning: diversions involved - output may be incorrect
       diversion by libc6 to: /lib64/ld-linux-x86-64.so.2.usr-is-merged
       dpkg-genbuildinfo -O../obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo
       dpkg-genchanges -O../obnam_0.9.9.ci20260705T065255-1_amd64.changes
       dpkg-source --after-build .
      + ls -l ..
      + for x in ../*.deb
      + dpkg -c ../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb
      + for x in ../*.deb
      + dpkg -c ../obnam_0.9.9.ci20260705T065255-1_amd64.deb
      + mv ../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb ../obnam_0.9.9.ci20260705T065255-1.debian.tar.xz ../obnam_0.9.9.ci20260705T065255-1.dsc ../obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo ../obnam_0.9.9.ci20260705T065255-1_amd64.changes ../obnam_0.9.9.ci20260705T065255-1_amd64.deb ../obnam_0.9.9.ci20260705T065255.orig.tar.xz /ci/artifacts/debian
      
  72. 41974 ms: Action succeeded: deb
    - action: deb
      packages: debian
    
  73. 41976 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  74. 44825 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  75. 44828 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  76. 44838 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  77. 44841 ms: Plan succededThere was much rejoicing!
  78. 44843 ms: Executor ends successfullyPhew, nothing seems to have gone wrong.
Console log
BdsDxe: 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)
  Booting `Debian GNU/Linux'

Loading Linux 6.12.86+deb13-amd64 ...
Loading initial ramdisk ...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
Loading, please wait...
Starting systemd-udevd version 257.13-1~deb13u1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.41
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/vda2
fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 13 (trixie)!

[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-tracing.mount - Kernel Trace File System...
         Mounting tmp.mount - Temporary Directory /tmp...
         Starting kmod-static-nodes.service…eate List of Static Device Nodes...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-network-generator…k Units from Kernel Command Line...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Finished kmod-static-nodes.service…Create List of Static Device Nodes.
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-network-generator…ork Units from Kernel Command Line.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[  OK  ] Reached target network-pre.target - Preparation for Network.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-sysctl.service - Apply Kernel Variables...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-resolved.service - Network Name Resolution...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Set up automount efi.automount - EFI System Partition Automount.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting systemd-binfmt.service - Set Up Additional Binary Formats...
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
         Starting systemd-journal-catalog-u…ervice - Rebuild Journal Catalog...
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting systemd-networkd.service - Network Configuration...
[  OK  ] Finished systemd-journal-catalog-u….service - Rebuild Journal Catalog.
[  OK  ] Found device dev-ttyS0.device - /dev/ttyS0.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting ambient.service - Run build job for Ambient CI...
         Starting dbus.service - D-Bus System Message Bus...
         Starting grub-common.service - Record successful boot for GRUB...
         Starting systemd-logind.service - User Login Management...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started systemd-networkd.service - Network Configuration.
[  OK  ] Reached target network.target - Network.
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-networkd-persiste…tent Storage in systemd-networkd...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished grub-common.service - Record successful boot for GRUB.
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.

Debian GNU/Linux 13 ambient-dev ttyS0

ambient-dev login: [  OK  ] Stopped ambient.service - Run build job for Ambient CI.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Stopped apt-daily.timer - Daily apt download activities.
[  OK  ] Stopped dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Stopped fstrim.timer - Discard unused filesystem blocks once a week.
[         Stopping serial-getty@ttyS0.service - Serial Getty on ttyS0...
         Stopping ssh.service - OpenBSD Secure Shell server...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-networkd-persiste…tent Storage in systemd-networkd...
         Stopping systemd-random-seed.service - Load/Save OS Random Seed...
[  OK  ] Stopped systemd-udev-load-credenti…- Load udev Rules from Credentials.
[  OK  ] Stopped dbus.service - D-Bus System Message Bus.
[  OK  ] Stopped getty@tty1.service - Getty on tty1.
[  OK  ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Stopped ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Closed sshd-unix-local.socket - Op…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Closed systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
         Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
         Stopping systemd-networkd.service - Network Configuration...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
[  OK  ] Stopped systemd-tmpfiles-setup.ser…reate System Files and Directories.
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[  OK  ] Stopped target local-fs.target - Local File Systems.
[  OK  ] Unset automount efi.automount - EFI System Partition Automount.
[  OK  ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[  OK  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Reached target final.target - Late Shutdown Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
[   53.768418] reboot: Power down
Raw run log
BdsDxe: 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)
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
INFO: Block devices
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1   372K  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   5.3M  1 disk 
vdc    254:32   0   2.9M  1 disk 
vdd    254:48   0 953.7M  0 disk 
vde    254:64   0  27.9G  0 disk 
vdf    254:80   0   100G  1 disk 
vdg    254:96   0    10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2026-07-05 06:52 ./
-rw-r--r-- _rad/_rad      1631 2026-07-05 06:52 ./plan.yaml
-rwxr-xr-x _rad/_rad   5517632 2026-07-05 06:52 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Jul  5 06:52 .
       10   5392 -rwxr-xr-x   1 1000     1000      5517632 Jul  5 06:52 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1631 Jul  5 06:52 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.15.0@eeab732","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":917198841},"log_source":"Plan"}
{"type":"runnable_plan","steps":[{"action":"mkdir","pathname":"/ci"},{"action":"mkdir","pathname":"/ci/artifacts"},{"action":"mkdir","pathname":"/ci/artifacts/debian"},{"action":"mkdir","pathname":"/ci/artifacts/rsync"},{"action":"mkdir","pathname":"/ci/secrets"},{"action":"mkdir","pathname":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src"},{"action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets"},{"action":"shell","shell":"ln -sf /ci /workspace"},{"action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true},{"action":"cargo_clippy"},{"action":"cargo_build"},{"action":"cargo_test"},{"action":"shell","shell":"export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n"},{"action":"custom","name":"dch","args":{"debfullname":"Lars Wirzenius","debemail":"liw@liw.fi"}},{"action":"deb","packages":"debian"},{"action":"tar_create","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts"}],"executor_drive":"/dev/vdb","source_drive":"/dev/vdc","artifact_drive":"/dev/vdd","cache_drive":"/dev/vde","deps_drive":"/dev/vdf","secrets_drive":null,"workspace_dir":"/ci","source_dir":"/ci/src","deps_dir":"/ci/deps","cache_dir":"/ci/cache","artifacts_dir":"/ci/artifacts","secrets_dir":null,"envs":{},"timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":917592748},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":917797748},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918053895},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918209476},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918236356},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918427177},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918454440},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918659390},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918683727},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918874170},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":918900128},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":919088028},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":919112061},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":971400580},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":987089773},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234360,"nanos_since_epoch":987122877},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234362,"nanos_since_epoch":544260753},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234362,"nanos_since_epoch":547037666},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":950849224},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":950899443},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":956914108},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":956940419},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":958606885},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":958783306},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[98,97,115,104]},{"Unix":[45,99]},{"Unix":[115,101,116,32,45,120,101,117,111,32,112,105,112,101,102,97,105,108,10,108,110,32,45,115,102,32,47,99,105,32,47,119,111,114,107,115,112,97,99,101,10]}],"timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":958792793},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":964965868},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":965110328},"log_source":"Plan"}
{"type":"execute_action","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":965115585},"log_source":"Plan"}
{"type":"action_succeeded","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":965666133},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_clippy","timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":965795176},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234365,"nanos_since_epoch":965804957},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.96.1 (356927216 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":7154210},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[99,108,105,112,112,121]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":7198959},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.96 (31fca3adb2 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":200066547},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[114,117,115,116,99]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":200241344},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.96.1 (31fca3adb 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":248854232},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[99,108,105,112,112,121]},{"Unix":[45,45,111,102,102,108,105,110,101]},{"Unix":[45,45,108,111,99,107,101,100]},{"Unix":[45,45,119,111,114,107,115,112,97,99,101]},{"Unix":[45,45,97,108,108,45,116,97,114,103,101,116,115]},{"Unix":[45,45,110,111,45,100,101,112,115]},{"Unix":[45,45]},{"Unix":[45,45,100,101,110,121]},{"Unix":[119,97,114,110,105,110,103,115]}],"timestamp":{"secs_since_epoch":1783234366,"nanos_since_epoch":252887427},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"    Checking obnam v0.10.0 (/ci/src/obnam)\n    Checking obnam-server v0.1.0 (/ci/src/obnam-server)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.26s\n","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":586857029},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_clippy","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":591403005},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_build","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":593481571},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":595448336},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.96.1 (356927216 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":606503095},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[99,108,105,112,112,121]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":606534691},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.96 (31fca3adb2 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":637862866},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[114,117,115,116,99]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":637903904},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.96.1 (31fca3adb 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":654912471},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[98,117,105,108,100]},{"Unix":[45,45,111,102,102,108,105,110,101]},{"Unix":[45,45,108,111,99,107,101,100]},{"Unix":[45,45,119,111,114,107,115,112,97,99,101]},{"Unix":[45,45,97,108,108,45,116,97,114,103,101,116,115]}],"timestamp":{"secs_since_epoch":1783234368,"nanos_since_epoch":654954129},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"   Compiling obnam v0.10.0 (/ci/src/obnam)\n   Compiling obnam-server v0.1.0 (/ci/src/obnam-server)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.10s\n","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":792501088},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_build","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":792547174},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_test","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":792552875},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":792561338},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.96.1 (356927216 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":811449263},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[99,108,105,112,112,121]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":811486680},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.96 (31fca3adb2 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":843265831},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[114,117,115,116,99]},{"Unix":[45,45,118,101,114,115,105,111,110]}],"timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":843309349},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.96.1 (31fca3adb 2026-06-26)\n","stderr":"","timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":860370717},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[99,97,114,103,111]},{"Unix":[116,101,115,116]},{"Unix":[45,45,111,102,102,108,105,110,101]},{"Unix":[45,45,108,111,99,107,101,100]},{"Unix":[45,45,119,111,114,107,115,112,97,99,101]}],"timestamp":{"secs_since_epoch":1783234371,"nanos_since_epoch":863267791},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"\nrunning 54 tests\ntest blobs::test::cant_init_nonexistent_dir ... ok\ntest blobs::test::empty_dir_is_not_init ... ok\ntest blobs::test::adds_blob ... ok\ntest blobs::test::finds_blob_when_labels_match ... ok\ntest blobs::test::finds_no_blob_in_empty_repo ... ok\ntest blobs::test::finds_no_blob_when_none_match_label ... ok\ntest blobs::test::inits_empty_dir ... ok\ntest blobs::test::nonexistent_dir_is_not_init ... ok\ntest blobs::test::has_no_blobs_initially ... ok\ntest blobs::test::root_dir_is_not_init ... ok\ntest chunk::test::chunk_round_trip ... ok\ntest chunk::test::ciphertext_does_not_contain_plaintext ... ok\ntest chunk::test::label_display ... ok\ntest chunk::test::label_round_trip ... ok\ntest chunk::test::metadata ... ok\ntest chunk::test::metadata_round_trip ... ok\ntest blobs::test::removes_blob ... ok\ntest cipher::test::key ... ok\ntest cipher::test::aead_round_trip ... ok\ntest cipher::test::key_from_string ... ok\ntest client::test::generates_key ... ok\ntest client::test::gets_correct_key ... ok\ntest client::test::has_name ... ok\ntest client::test::has_no_keys_initially ... ok\ntest client::test::serialiazion_round_trip ... ok\ntest client::test::sets_old_versions ... ok\ntest client_repo::test::puts_client ... ok\ntest client_repo::test::removes_client ... ok\ntest client_repo::test::removes_credential ... ok\ntest client_repo::test::adds_credential ... ok\ntest config::test::merge_files ... ok\ntest config::test::valideted_config ... ok\ntest credential::test::roundtrip_sop_credential ... ok\ntest id::test::id_is_equal_to_itself ... ok\ntest id::test::id_round_trip ... ok\ntest credential::test::roundtrip_sop_method ... ok\ntest id::test::one_is_expected ... ok\ntest id::test::textual_id_is_printable_ascii ... ok\ntest id::test::two_ids_are_different ... ok\ntest label::test::colon ... ok\ntest label::test::equals ... ok\ntest label::test::label_is_equal_to_itself ... ok\ntest label::test::question_mark ... ok\ntest label::test::safe_label ... ok\ntest label::test::slash ... ok\ntest local_repo::test::finds_chunk ... ok\ntest local_repo::test::adds_and_gets_chunk ... ok\ntest local_repo::test::has_no_chunks_initially ... ok\ntest plaintext::test::compressed ... ok\ntest plaintext::test::compression_round_trip ... ok\ntest local_repo::test::removes_chunk ... ok\ntest plaintext::test::uncompressed ... ok\ntest sop::tests::cert_display ... ok\ntest sop::tests::key_display ... ok\n\ntest result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest config::test::merges ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 3 tests\ntest obnam/src/id.rs - id (line 5) ... ok\ntest obnam/src/label.rs - label (line 5) ... ok\ntest obnam/src/lib.rs - (line 12) ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.45s; merged doctests compilation took 0.44s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n","stderr":"    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam-f06ddfb127cce3e9)\n     Running unittests src/bin/obnam.rs (/ci/cache/cargo-target/debug/deps/obnam-8d692d497a9a1186)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam_server-15488ee91db8706a)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/obnam_server-fb5049dc6335387b)\n   Doc-tests obnam\n   Doc-tests obnam_server\n","timestamp":{"secs_since_epoch":1783234372,"nanos_since_epoch":671058960},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_test","timestamp":{"secs_since_epoch":1783234372,"nanos_since_epoch":725008458},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n","timestamp":{"secs_since_epoch":1783234372,"nanos_since_epoch":727042079},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[98,97,115,104]},{"Unix":[45,99]},{"Unix":[115,101,116,32,45,120,101,117,111,32,112,105,112,101,102,97,105,108,10,101,120,112,111,114,116,32,80,65,84,72,61,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,98,105,110,58,47,115,98,105,110,10,108,115,32,45,108,32,34,36,67,65,82,71,79,95,84,65,82,71,69,84,95,68,73,82,34,10,109,97,107,101,32,84,65,82,71,69,84,61,32,115,117,98,112,108,111,116,32,100,111,99,10,102,105,110,100,32,100,111,99,32,45,108,115,10,109,107,100,105,114,32,45,112,32,47,99,105,47,97,114,116,105,102,97,99,116,115,47,114,115,121,110,99,10,99,112,32,111,98,110,97,109,46,104,116,109,108,32,100,111,99,47,42,46,104,116,109,108,32,47,99,105,47,97,114,116,105,102,97,99,116,115,47,114,115,121,110,99,10,10]}],"timestamp":{"secs_since_epoch":1783234372,"nanos_since_epoch":731681577},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"total 16\n-rw-r--r-- 1 root root  177 Jul  5 05:15 CACHEDIR.TAG\ndrwxr-xr-x 7 root root 4096 Jul  5 06:52 debug\ndrwxr-xr-x 8 root root 4096 Jul  5 06:50 doc\ndrwxr-xr-x 7 root root 4096 Jul  5 06:51 release\nsubplot docgen obnam.subplot --output obnam.html\nsubplot codegen obnam.subplot --output test.py\nrm -f test.log\npython3 test.py --log test.log \nsrcdir /ci/src\ndatadir /tmp/tmp00x219ul\nscenario: Generates and validates API tokens\n  step 1: given an installed obnam\n  step 2: given file server-config.yaml\n  step 3: when I run obnam-server --config server-config.yaml init\n  step 4: then file keypair.json exists\n  step 5: when I try to run obnam-server --config server-config.yaml init\n  step 6: then command fails\n  step 7: then stderr contains \"keypair.json\"\n  step 8: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n  step 9: then file token.txt contains \"v4.public.\"\n  step 10: when I run obnam-server --config server-config.yaml validate --file token.txt\n  step 11: then stdout contains \"read_chunks_allowed: true\"\n  step 12: then stdout contains \"find_chunks_allowed: true\"\n  step 13: then stdout contains \"create_chunk_allowed: true\"\n  step 14: then stdout contains \"delete_chunk_allowed: false\"\n  step 15: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete\n  step 16: then file token.txt contains \"v4.public.\"\n  step 17: when I run obnam-server --config server-config.yaml validate --file token.txt\n  step 18: then stdout contains \"read_chunks_allowed: true\"\n  step 19: then stdout contains \"find_chunks_allowed: true\"\n  step 20: then stdout contains \"create_chunk_allowed: true\"\n  step 21: then stdout contains \"delete_chunk_allowed: true\"\nscenario: Initialize a client chunk\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config-with-credential.yaml\n  step 3: when I create directory mychunks\n  step 4: when I run obnam repo init\n  step 5: when I run obnam client init --client-name my.host\n  step 6: then command is successful\nscenario: Round trip chunk encryption using key from client chunk\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: when I create directory mychunks\n  step 5: when I run obnam repo init\n  step 6: when I run obnam --client-key my.secret client init --client-name my.host\n  step 7: when I run obnam --client-key my.secret client generate my.host my.key\n  step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file\n  step 9: when I run obnam --client-key my.secret chunk decrypt --client-name my.host --key-name my.key chunk.file\n  step 10: then stdout is exactly \"Hello, world.\\n\"\nscenario: Refuses API token made for another server instance\n  step 1: given an installed obnam\n  step 2: given file server-config.yaml\n  step 3: when I run obnam-server --config server-config.yaml init\n  step 4: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n  step 5: when I remove file keypair.json\n  step 6: when I run obnam-server --config server-config.yaml init\n  step 7: when I try to run obnam-server --config server-config.yaml validate --file token.txt\n  step 8: then command fails\nscenario: Chunk encrypt/decrypt round trip via repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: when I create directory mychunks\n  step 5: when I try to run obnam repo init\n  step 6: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --id-file id.txt\n  step 7: when I run obnam chunk decrypt --key secret --id-file id.txt\n  step 8: then stdout is exactly \"Hello, world.\\n\"\nscenario: Conveniently encrypt and decrypt chunk in a backup repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from comfy.yaml\n  step 3: given file message.txt\n  step 4: when I create directory my.repo\n  step 5: when I run obnam repo init\n  step 6: when I run obnam client init --credential softy\n  step 7: when I run obnam chunk encrypt --label data --key-name default --id-file id.txt message.txt\n  step 8: when I run obnam chunk decrypt --key-name default --id-file id.txt --output out.dat\n  step 9: then files message.txt and out.dat match\nscenario: Manages chunks via API\n  step 1: given an installed obnam\n  step 2: given file server-config.yaml\n  step 3: given file request.sh\n  step 4: when I run obnam-server --config server-config.yaml init\n  step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n  step 6: when I run cat token.txt\n  step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\n  step 8: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw\n  step 9: then stderr contains \"HTTP/1.1 404\"\n  step 10: when I run bash request.sh PUT /chunks/OVsgIaDAmIOEq1hSn_Zauw?label=first hello\n  step 11: then stderr contains \"HTTP/1.1 201\"\n  step 12: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw\n  step 13: then stderr contains \"HTTP/1.1 200\"\n  step 14: then stdout is exactly \"hello\"\n  step 15: when I run bash request.sh GET /chunks?label=first\n  step 16: then stdout is exactly \"{\"chunk_ids\":[\"OVsgIaDAmIOEq1hSn_Zauw\"]}\"\n  step 17: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw\n  step 18: then stderr contains \"HTTP/1.1 401\"\n  step 19: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete\n  step 20: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw\n  step 21: then stderr contains \"HTTP/1.1 204\"\n  step 22: when I run bash request.sh GET /chunks?label=first\n  step 23: then stdout is exactly \"{\"chunk_ids\":[]}\"\n  cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\nscenario: Validates token via HTTP API\n  step 1: given an installed obnam\n  step 2: given file server-config.yaml\n  step 3: given file request.sh\n  step 4: when I run obnam-server --config server-config.yaml init\n  step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n  step 6: when I run cat token.txt\n  step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\n  step 8: when I run bash request.sh GET /validate\n  step 9: then stdout contains \"\"read_chunks_allowed\":true\"\n  step 10: then stdout contains \"\"find_chunks_allowed\":true\"\n  step 11: then stdout contains \"\"create_chunk_allowed\":true\"\n  step 12: then stdout contains \"\"delete_chunk_allowed\":false\"\n  cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\nscenario: Chunk encrypt/decrypt with compression round trip via file\n  step 1: given an installed obnam\n  step 2: given file greeting.txt\n  step 3: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt --output chunk.file\n  step 4: when I run obnam chunk decrypt --key secret chunk.file\n  step 5: then stdout is exactly \"Hello, world.\\n\"\nscenario: Inspect an encoded chunk in file\n  step 1: given an installed obnam\n  step 2: given file greeting.txt\n  step 3: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --output chunk.file\n  step 4: when I run obnam chunk inspect --filename chunk.file\n  step 5: then stdout is valid JSON\n  step 6: then stdout contains \"\"id\":\"\n  step 7: then stdout contains \"\"label\":\"\n  step 8: then stdout contains \"\"data\": null\"\n  step 9: when I run obnam chunk inspect --filename chunk.file --key secret\n  step 10: then stdout is valid JSON\n  step 11: then stdout contains \"\"id\":\"\n  step 12: then stdout contains \"\"label\":\"\n  step 13: then stdout contains \"\"data\": \"\"\nscenario: Create an OpenPGP software key credential\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file sop-generate\n  step 4: when I run bash sop-generate alice.tsk\n  step 5: when I create directory mychunks\n  step 6: when I run obnam repo init\n  step 7: when I run obnam credential list\n  step 8: then stdout is exactly \"\"\n  step 9: when I run obnam --client-key my.secret credential openpgp-soft alice.tsk\n  step 10: when I run obnam credential list --all\n  step 11: then stdout isn't exactly \"\"\nscenario: Manage chunks on the server\n  step 1: given an installed obnam\n  step 2: given file server-config.yaml\n  step 3: given file greeting.txt\n  step 4: given file .config/obnam/config.yaml from comfy.yaml\n  step 5: given executable file create-token.sh\n  step 6: when I run obnam-server --config server-config.yaml init\n  step 7: when I run ./create-token.sh delete\n  step 8: when I run, as a daemon, obnam-server --config server-config.yaml serve\n  step 9: when I run obnam chunk encrypt --key secret --label first greeting.txt --output chunk.file\n  step 10: when I run obnam api put OVsgIaDAmIOEq1hSn_Zauw test.chunk --filename chunk.file\n  step 11: when I run obnam api get OVsgIaDAmIOEq1hSn_Zauw --filename returned.chunk\n  step 12: then files chunk.file and returned.chunk match\n  step 13: when I run obnam api find test.chunk\n  step 14: then stdout is exactly \"OVsgIaDAmIOEq1hSn_Zauw\\n\"\n  step 15: when I run obnam api delete OVsgIaDAmIOEq1hSn_Zauw\n  step 16: when I run obnam api find test.chunk\n  step 17: then stdout is exactly \"\"\n  cleanup 8: when I run, as a daemon, obnam-server --config server-config.yaml serve\nscenario: Inspect an encrypted chunk using key from client chunk\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: when I create directory mychunks\n  step 5: when I run obnam repo init\n  step 6: when I run obnam --client-key my.secret client init --client-name my.host\n  step 7: when I run obnam --client-key my.secret client generate my.host my.key\n  step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file\n  step 9: when I run obnam --client-key my.secret chunk inspect --filename chunk.file --client-name my.host --key-name my.key\n  step 10: then stdout is valid JSON\n  step 11: then stdout contains \"\"id\":\"\n  step 12: then stdout contains \"\"label\":\"\n  step 13: then stdout contains \"\"data\": \"\"\nscenario: List clients\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: when I create directory mychunks\n  step 4: when I run obnam repo init\n  step 5: when I run obnam --client-key my.secret client init --client-name my.host\n  step 6: when I run obnam --client-key my.secret client list\n  step 7: then stdout is exactly \"my.host\\n\"\nscenario: Add a chunk to the backup repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: given a directory mychunks\n  step 5: when I run obnam repo init\n  step 6: when I run obnam chunk encrypt --key secret --label data greeting.txt\nscenario: Conveniently create a client with an OpenPGP software key credential\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from comfy.yaml\n  step 3: when I create directory my.repo\n  step 4: when I run obnam repo init\n  step 5: when I run obnam client init --credential softy\n  step 6: when I run obnam client list\n  step 7: then stdout isn't exactly \"\"\nscenario: Find chunks using labels\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: given a directory mychunks\n  step 5: when I run obnam repo init\n  step 6: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt\n  step 7: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt\n  step 8: when I run obnam chunk encrypt --key secret --label client-chunk greeting.txt\n  step 9: when I run obnam repo find missing\n  step 10: then stdout is exactly \"\"\n  step 11: when I run obnam repo find data-chunk\n  step 12: then stdout contains 2 lines\n  step 13: when I run obnam repo find client-chunk\n  step 14: then stdout contains 1 lines\nscenario: Avoid client chunks with the same name\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: when I create directory mychunks\n  step 4: when I run obnam repo init\n  step 5: when I run obnam --client-key my.secret client init --client-name my.host\n  step 6: then command is successful\n  step 7: when I try to run obnam --client-key my.secret client init --client-name my.host\n  step 8: then command fails\nscenario: Logging level can be set\n  step 1: given an installed obnam\n  step 2: when I run obnam config\n  step 3: then stderr doesn't contain \"TRACE\"\n  step 4: then stderr doesn't contain \"DEBUG\"\n  step 5: then stderr contains \"INFO\"\n  step 6: then stderr contains \"WARN\"\n  step 7: then stderr contains \"ERROR\"\n  step 8: when I run env OBNAM_LOG=error obnam config\n  step 9: then stderr doesn't contain \"TRACE\"\n  step 10: then stderr doesn't contain \"DEBUG\"\n  step 11: then stderr doesn't contain \"INFO\"\n  step 12: then stderr doesn't contain \"WARN\"\n  step 13: then stderr contains \"ERROR\"\n  step 14: when I run obnam --log-level=error config\n  step 15: then stderr doesn't contain \"TRACE\"\n  step 16: then stderr doesn't contain \"DEBUG\"\n  step 17: then stderr doesn't contain \"INFO\"\n  step 18: then stderr doesn't contain \"WARN\"\n  step 19: then stderr contains \"ERROR\"\n  step 20: when I run env OBNAM_LOG=error obnam --log-level=trace config\n  step 21: then stderr contains \"TRACE\"\n  step 22: then stderr contains \"DEBUG\"\n  step 23: then stderr contains \"INFO\"\n  step 24: then stderr contains \"WARN\"\n  step 25: then stderr contains \"ERROR\"\nscenario: Remove a chunk from backup repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: given a directory mychunks\n  step 5: when I run obnam repo init\n  step 6: when I run obnam chunk encrypt --key secret --label data-chunk --id-file id.txt greeting.txt\n  step 7: when I run obnam repo remove --id-file id.txt\n  step 8: then stdout doesn't contain \"xyzzy\"\nscenario: Inspect an encoded chunk in repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: when I create directory mychunks\n  step 5: when I try to run obnam repo init\n  step 6: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --id-file=id.txt\n  step 7: when I run obnam chunk inspect --id-file id.txt\n  step 8: then stdout is valid JSON\n  step 9: then stdout contains \"\"id\":\"\n  step 10: then stdout contains \"\"label\":\"\n  step 11: then stdout contains \"\"data\": null\"\n  step 12: when I run obnam chunk inspect --key secret --id-file id.txt\n  step 13: then stdout is valid JSON\n  step 14: then stdout contains \"\"id\":\"\n  step 15: then stdout contains \"\"label\":\"\n  step 16: then stdout contains \"\"data\": \"\"\nscenario: Extracting a certificate from a key\n  step 1: given an installed obnam\n  step 2: given file alice.key\n  step 3: when I run obnam sop extract-cert rsop alice.key\n  step 4: then stdout isn't exactly \"\"\nscenario: Chunk encrypt/decrypt round trip via file\n  step 1: given an installed obnam\n  step 2: given file greeting.txt\n  step 3: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --output chunk.file\n  step 4: when I run obnam chunk decrypt --key secret chunk.file\n  step 5: then stdout is exactly \"Hello, world.\\n\"\nscenario: Chunk encrypt/decrypt with compression round trip via repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: given file greeting.txt\n  step 4: when I create directory mychunks\n  step 5: when I try to run obnam repo init\n  step 6: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt\n  step 7: when I run obnam repo find sticky.tape --one-match-output=id.txt\n  step 8: when I run obnam chunk decrypt --key secret --id-file id.txt\n  step 9: then stdout is exactly \"Hello, world.\\n\"\nscenario: Initialize a backup repository\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: then directory mychunks does not exist\n  step 4: when I try to run obnam repo is\n  step 5: then command fails\n  step 6: when I create directory mychunks\n  step 7: when I try to run obnam repo is\n  step 8: then command fails\n  step 9: when I run obnam repo init\n  step 10: when I run obnam repo is\n  step 11: then exit code is 0\nscenario: Generate new key\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: when I create directory mychunks\n  step 4: when I run obnam repo init\n  step 5: when I run obnam --client-key my.secret client init --client-name my.host\n  step 6: when I run obnam --client-key my.secret client generate my.host my.key\n  step 7: when I run obnam --client-key my.secret client show --client-name my.host\n  step 8: then stdout contains \"my.key\"\nscenario: Show client\n  step 1: given an installed obnam\n  step 2: given file .config/obnam/config.yaml from config.yaml\n  step 3: when I create directory mychunks\n  step 4: when I run obnam repo init\n  step 5: when I run obnam --client-key my.secret client init --client-name my.host\n  step 6: when I run obnam --client-key my.secret client show --client-name my.host\n  step 7: then stdout is valid JSON\nscenario: Encryption round trip\n  step 1: given an installed obnam\n  step 2: given file alice.key\n  step 3: given file hello.txt\n  step 4: when I run obnam sop encrypt rsop alice.key hello.txt -o encrypted\n  step 5: when I run ls -l encrypted\n  step 6: when I run cat encrypted\n  step 7: when I run obnam sop decrypt rsop alice.key encrypted\n  step 8: then stdout is exactly \"hello, world\\n\"\nOK, all scenarios finished successfully\nenv 'RUSTDOCFLAGS=-D warnings' cargo doc --no-deps\nmake -C doc\nmake[1]: Entering directory '/ci/src/doc'\npandoc -N --toc --standalone --self-contained -o \"arch.html\" \"arch.md\"\npandoc -N --toc --standalone --self-contained -o \"glossary.html\" \"glossary.md\"\nmake[1]: Leaving directory '/ci/src/doc'\n  5374013      4 drwxr-xr-x   2 root     root         4096 Jul  5 06:52 doc\n  5374014      4 -rw-r--r--   1 root     root         3885 Jul  5 06:52 doc/keys.svg\n  5374015      4 -rw-r--r--   1 root     root          540 Jul  5 06:52 doc/keys.pik\n  5374016      4 -rw-r--r--   1 root     root          427 Jul  5 06:52 doc/glossary.md\n  5374018      4 -rw-r--r--   1 root     root          327 Jul  5 06:52 doc/Makefile\n  5402742      4 -rw-r--r--   1 root     root         3529 Jul  5 06:52 doc/glossary.html\n  5402741     24 -rw-r--r--   1 root     root        22893 Jul  5 06:52 doc/arch.html\n  5374017     16 -rw-r--r--   1 root     root        13627 Jul  5 06:52 doc/arch.md\n","stderr":"+ export PATH=/root/.cargo/bin:/bin:/sbin\n+ PATH=/root/.cargo/bin:/bin:/sbin\n+ ls -l /ci/cache/cargo-target\n+ make TARGET= subplot doc\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n    Checking obnam v0.10.0 (/ci/src/obnam)\n Documenting obnam v0.10.0 (/ci/src/obnam)\n Documenting obnam-server v0.1.0 (/ci/src/obnam-server)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s\n   Generated /ci/cache/cargo-target/doc/obnam/index.html and 1 other file\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n[WARNING] This document format requires a nonempty <title> element.\n  Defaulting to 'glossary' as the title.\n  To specify a title, use 'title' in metadata or --metadata title=\"...\".\n+ find doc -ls\n+ mkdir -p /ci/artifacts/rsync\n+ cp obnam.html doc/arch.html doc/glossary.html /ci/artifacts/rsync\n","timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":124985506},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n","timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":393894853},"log_source":"Plan"}
{"type":"execute_action","action":"custom","name":"dch","args":{"debfullname":"Lars Wirzenius","debemail":"liw@liw.fi"},"timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":394049879},"log_source":"Plan"}
{"type":"custom_action_starts","source":"/ci/src","custom":{"name":"dch","args":{"debfullname":"Lars Wirzenius","debemail":"liw@liw.fi"}},"exe":".ambient/dch","exe_exists":false,"timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":394065690},"log_source":"Plan"}
"HEAD is now at b55fefe refactor: use new chunk label type everywhere, drop old one\nRemoving doc/arch.html\nRemoving doc/glossary.html\nRemoving obnam.html\nRemoving test.log\nRemoving test.py\n"
{"type":"custom_action_output","stdout":[72,69,65,68,32,105,115,32,110,111,119,32,97,116,32,98,53,53,102,101,102,101,32,114,101,102,97,99,116,111,114,58,32,117,115,101,32,110,101,119,32,99,104,117,110,107,32,108,97,98,101,108,32,116,121,112,101,32,101,118,101,114,121,119,104,101,114,101,44,32,100,114,111,112,32,111,108,100,32,111,110,101,10,82,101,109,111,118,105,110,103,32,100,111,99,47,97,114,99,104,46,104,116,109,108,10,82,101,109,111,118,105,110,103,32,100,111,99,47,103,108,111,115,115,97,114,121,46,104,116,109,108,10,82,101,109,111,118,105,110,103,32,111,98,110,97,109,46,104,116,109,108,10,82,101,109,111,118,105,110,103,32,116,101,115,116,46,108,111,103,10,82,101,109,111,118,105,110,103,32,116,101,115,116,46,112,121,10],"stderr":[43,32,101,120,112,111,114,116,32,39,68,69,66,69,77,65,73,76,61,34,108,105,119,64,108,105,119,46,102,105,34,39,10,43,32,68,69,66,69,77,65,73,76,61,39,34,108,105,119,64,108,105,119,46,102,105,34,39,10,43,32,101,120,112,111,114,116,32,39,68,69,66,70,85,76,76,78,65,77,69,61,34,76,97,114,115,32,87,105,114,122,101,110,105,117,115,34,39,10,43,32,68,69,66,70,85,76,76,78,65,77,69,61,39,34,76,97,114,115,32,87,105,114,122,101,110,105,117,115,34,39,10,43,32,101,120,112,111,114,116,32,67,65,82,71,79,95,84,65,82,71,69,84,95,68,73,82,61,47,119,111,114,107,115,112,97,99,101,47,99,97,99,104,101,10,43,32,67,65,82,71,79,95,84,65,82,71,69,84,95,68,73,82,61,47,119,111,114,107,115,112,97,99,101,47,99,97,99,104,101,10,43,32,101,120,112,111,114,116,32,67,65,82,71,79,95,72,79,77,69,61,47,119,111,114,107,115,112,97,99,101,47,100,101,112,115,10,43,32,67,65,82,71,79,95,72,79,77,69,61,47,119,111,114,107,115,112,97,99,101,47,100,101,112,115,10,43,32,101,120,112,111,114,116,32,72,79,77,69,61,47,114,111,111,116,10,43,32,72,79,77,69,61,47,114,111,111,116,10,43,32,101,120,112,111,114,116,32,80,65,84,72,61,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,115,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,98,105,110,58,47,117,115,114,47,115,98,105,110,58,47,117,115,114,47,98,105,110,10,43,32,80,65,84,72,61,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,115,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,98,105,110,58,47,117,115,114,47,115,98,105,110,58,47,117,115,114,47,98,105,110,10,43,32,103,105,116,32,114,101,115,101,116,32,45,45,104,97,114,100,10,43,32,103,105,116,32,99,108,101,97,110,32,45,102,100,120,10,43,43,32,100,112,107,103,45,112,97,114,115,101,99,104,97,110,103,101,108,111,103,32,45,83,86,101,114,115,105,111,110,10,43,43,32,115,101,100,32,39,115,47,45,91,94,45,93,42,36,47,47,39,10,43,32,86,61,48,46,57,46,57,10,43,43,32,100,97,116,101,32,45,117,32,43,37,89,37,109,37,100,84,37,72,37,77,37,83,10,43,32,84,61,50,48,50,54,48,55,48,53,84,48,54,53,50,53,53,10,43,32,118,101,114,115,105,111,110,61,48,46,57,46,57,46,99,105,50,48,50,54,48,55,48,53,84,48,54,53,50,53,53,45,49,10,43,32,100,99,104,32,45,118,32,48,46,57,46,57,46,99,105,50,48,50,54,48,55,48,53,84,48,54,53,50,53,53,45,49,32,39,67,73,32,98,117,105,108,100,32,117,110,100,101,114,32,65,109,98,105,101,110,116,46,39,10,43,32,100,99,104,32,45,114,32,39,39,10],"timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":593587660},"log_source":"Plan"}
{"type":"action_succeeded","action":"custom","name":"dch","args":{"debfullname":"Lars Wirzenius","debemail":"liw@liw.fi"},"timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":639622793},"log_source":"Plan"}
{"type":"execute_action","action":"deb","packages":"debian","timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":642679693},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[47,98,105,110,47,98,97,115,104]},{"Unix":[45,99]},{"Unix":[35,33,47,117,115,114,47,98,105,110,47,101,110,118,32,98,97,115,104,10,115,101,116,32,45,120,101,117,111,32,112,105,112,101,102,97,105,108,10,10,101,99,104,111,32,34,80,65,84,72,32,97,116,32,115,116,97,114,116,58,32,36,80,65,84,72,34,10,101,120,112,111,114,116,32,80,65,84,72,61,34,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,36,80,65,84,72,34,10,101,120,112,111,114,116,32,67,65,82,71,79,95,72,79,77,69,61,47,99,105,47,100,101,112,115,10,101,120,112,111,114,116,32,68,69,66,69,77,65,73,76,61,108,105,119,64,108,105,119,46,102,105,10,101,120,112,111,114,116,32,68,69,66,70,85,76,76,78,65,77,69,61,34,76,97,114,115,32,87,105,114,122,101,110,105,117,115,34,10,47,98,105,110,47,101,110,118,10,10,99,111,109,109,97,110,100,32,45,118,32,99,97,114,103,111,10,99,111,109,109,97,110,100,32,45,118,32,114,117,115,116,99,10,10,99,97,114,103,111,32,45,45,118,101,114,115,105,111,110,10,114,117,115,116,99,32,45,45,118,101,114,115,105,111,110,10,10,35,32,71,101,116,32,110,97,109,101,32,97,110,100,32,118,101,114,115,105,111,110,32,111,102,32,115,111,117,114,99,101,32,112,97,99,107,97,103,101,46,10,110,97,109,101,61,34,36,40,100,112,107,103,45,112,97,114,115,101,99,104,97,110,103,101,108,111,103,32,45,83,83,111,117,114,99,101,41,34,10,118,101,114,115,105,111,110,61,34,36,40,100,112,107,103,45,112,97,114,115,101,99,104,97,110,103,101,108,111,103,32,45,83,86,101,114,115,105,111,110,41,34,10,10,35,32,71,101,116,32,117,112,115,116,114,101,97,109,32,118,101,114,115,105,111,110,58,32,101,118,101,114,121,116,104,105,110,103,32,98,101,102,111,114,101,32,116,104,101,32,108,97,115,116,32,100,97,115,104,46,10,117,118,61,34,36,40,101,99,104,111,32,34,36,118,101,114,115,105,111,110,34,32,124,32,115,101,100,32,39,115,47,45,91,94,45,93,42,36,47,47,39,41,34,10,10,35,32,70,105,108,101,115,32,116,104,97,116,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,97,114,99,104,61,34,36,40,100,112,107,103,32,45,45,112,114,105,110,116,45,97,114,99,104,105,116,101,99,116,117,114,101,41,34,10,111,114,105,103,61,34,46,46,47,36,123,110,97,109,101,125,95,36,123,117,118,125,46,111,114,105,103,46,116,97,114,46,120,122,34,10,100,101,98,61,34,46,46,47,36,123,110,97,109,101,125,95,36,123,118,101,114,115,105,111,110,125,95,36,123,97,114,99,104,125,46,100,101,98,34,10,99,104,97,110,103,101,115,61,34,46,46,47,36,123,110,97,109,101,125,95,36,123,118,101,114,115,105,111,110,125,95,36,123,97,114,99,104,125,46,99,104,97,110,103,101,115,34,10,10,35,32,67,114,101,97,116,101,32,34,117,112,115,116,114,101,97,109,32,116,97,114,98,97,108,108,34,46,10,103,105,116,32,97,114,99,104,105,118,101,32,72,69,65,68,32,124,32,120,122,32,62,34,36,111,114,105,103,34,10,10,35,32,66,117,105,108,100,32,112,97,99,107,97,103,101,46,10,100,112,107,103,45,98,117,105,108,100,112,97,99,107,97,103,101,32,45,117,115,32,45,117,99,10,10,35,32,68,117,109,112,32,115,111,109,101,32,105,110,102,111,114,109,97,116,105,111,110,32,116,111,32,109,97,107,101,32,105,116,32,101,97,115,105,101,114,32,116,111,32,118,105,115,117,97,108,108,121,32,118,101,114,105,102,121,10,35,32,101,118,101,114,121,116,104,105,110,103,32,108,111,111,107,115,32,79,75,46,32,65,108,115,111,44,32,116,101,115,116,32,116,104,101,32,112,97,99,107,97,103,101,32,119,105,116,104,32,116,104,101,32,108,105,110,116,105,97,110,32,116,111,111,108,46,10,10,108,115,32,45,108,32,46,46,10,102,111,114,32,120,32,105,110,32,46,46,47,42,46,100,101,98,59,32,100,111,32,100,112,107,103,32,45,99,32,34,36,120,34,59,32,100,111,110,101,10,35,32,70,73,88,77,69,58,32,100,105,115,97,98,108,101,100,32,119,104,105,108,101,32,116,104,105,115,32,112,114,101,118,101,110,116,115,32,114,97,100,105,99,108,101,45,110,97,116,105,118,101,45,99,105,32,100,101,98,32,102,114,111,109,32,98,101,105,110,103,32,98,117,105,108,116,46,10,35,32,108,105,110,116,105,97,110,32,45,105,32,45,45,97,108,108,111,119,45,114,111,111,116,32,45,45,102,97,105,108,45,111,110,32,119,97,114,110,105,110,103,32,46,46,47,42,46,99,104,97,110,103,101,115,10,10,35,32,77,111,118,101,32,102,105,108,101,115,32,116,111,32,97,114,116,105,102,97,99,116,115,32,100,105,114,101,99,116,111,114,121,46,10,109,118,32,46,46,47,42,95,42,32,47,99,105,47,97,114,116,105,102,97,99,116,115,47,100,101,98,105,97,110,10,32,32,32,32,32,32,32,32]}],"timestamp":{"secs_since_epoch":1783234375,"nanos_since_epoch":644889760},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nMEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=378\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nMEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=2dacea979f4345498705586ea0b1a0ed\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:2514\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nOLDPWD=/\n_=/bin/env\n/root/.cargo/bin/cargo\n/root/.cargo/bin/rustc\ncargo 1.96.1 (356927216 2026-06-26)\nrustc 1.96.1 (31fca3adb 2026-06-26)\ndpkg-buildpackage: info: source package obnam\ndpkg-buildpackage: info: source version 0.9.9.ci20260705T065255-1\ndpkg-buildpackage: info: source distribution unstable\ndpkg-buildpackage: info: source changed by \"Lars Wirzenius\" <\"liw@liw.fi\">\ndpkg-buildpackage: info: host architecture amd64\ndh clean\n   dh_auto_clean\n   dh_clean\ndpkg-source: info: using source format '3.0 (quilt)'\ndpkg-source: info: building obnam using existing ./obnam_0.9.9.ci20260705T065255.orig.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260705T065255-1.debian.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260705T065255-1.dsc\ndh binary\n   dh_update_autotools_config\n   dh_autoreconf\n   dh_auto_configure\n   debian/rules override_dh_auto_build\nmake[1]: Entering directory '/ci/src'\ncargo build --workspace --release\nmake[1]: Leaving directory '/ci/src'\n   debian/rules override_dh_auto_test\nmake[1]: Entering directory '/ci/src'\necho tests are disabled, for now\ntests are disabled, for now\nmake[1]: Leaving directory '/ci/src'\n   create-stamp debian/debhelper-build-stamp\n   dh_prep\n   debian/rules override_dh_auto_install\nmake[1]: Entering directory '/ci/src'\ncargo install --offline --locked --path=obnam --root=debian/obnam/usr\nfind debian -name '.crates*.*' -delete\nmake[1]: Leaving directory '/ci/src'\n   dh_installdocs\n   dh_installchangelogs\n   dh_lintian\n   dh_perl\n   dh_link\n   dh_strip_nondeterminism\n   dh_compress\n   dh_fixperms\n   dh_missing\n   dh_strip\n   dh_makeshlibs\n   dh_shlibdeps\n   dh_installdeb\n   dh_gencontrol\n   dh_md5sums\n   dh_builddeb\ndpkg-deb: building package 'obnam-dbgsym' in '../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb'.\ndpkg-deb: building package 'obnam' in '../obnam_0.9.9.ci20260705T065255-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 3088\ndrwxr-xr-x  4 root root    4096 Jul  5 06:52 artifacts\ndrwxr-xr-x  3 root root    4096 Jul  5 05:15 cache\ndrwxr-xr-x  3 root root    4096 Jul  5 06:52 deps\n-rw-r--r--  1 root root  329708 Jul  5 06:53 obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb\n-rw-r--r--  1 root root    1724 Jul  5 06:52 obnam_0.9.9.ci20260705T065255-1.debian.tar.xz\n-rw-r--r--  1 root root     900 Jul  5 06:52 obnam_0.9.9.ci20260705T065255-1.dsc\n-rw-r--r--  1 root root    5189 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo\n-rw-r--r--  1 root root    2296 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.changes\n-rw-r--r--  1 root root 2699876 Jul  5 06:53 obnam_0.9.9.ci20260705T065255-1_amd64.deb\n-rw-r--r--  1 root root   83612 Jul  5 06:52 obnam_0.9.9.ci20260705T065255.orig.tar.xz\ndrwxr-xr-x  2 root root    4096 Jul  5 06:52 secrets\ndrwxr-xr-x 10 root root    4096 Jul  5 06:52 src\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/.build-id/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/lib/debug/.build-id/94/\n-rw-r--r-- root/root   1995248 2026-07-05 06:52 ./usr/lib/debug/.build-id/94/5ef15b3cfbedb061ec70bb60b421d11a79559b.debug\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/\nlrwxrwxrwx root/root         0 2026-07-05 06:52 ./usr/share/doc/obnam-dbgsym -> obnam\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/bin/\n-rwxr-xr-x root/root   9469912 2026-07-05 06:52 ./usr/bin/obnam\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/doc/obnam/\n-rw-r--r-- root/root       208 2026-07-05 06:52 ./usr/share/doc/obnam/changelog.Debian.gz\n-rw-r--r-- root/root       371 2026-07-05 06:52 ./usr/share/doc/obnam/copyright\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/lintian/\ndrwxr-xr-x root/root         0 2026-07-05 06:52 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root        48 2026-07-05 06:52 ./usr/share/lintian/overrides/obnam\n","stderr":"+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ export CARGO_HOME=/ci/deps\n+ CARGO_HOME=/ci/deps\n+ export DEBEMAIL=liw@liw.fi\n+ DEBEMAIL=liw@liw.fi\n+ export 'DEBFULLNAME=Lars Wirzenius'\n+ DEBFULLNAME='Lars Wirzenius'\n+ /bin/env\n+ command -v cargo\n+ command -v rustc\n+ cargo --version\n+ rustc --version\n++ dpkg-parsechangelog -SSource\n+ name=obnam\n++ dpkg-parsechangelog -SVersion\n+ version=0.9.9.ci20260705T065255-1\n++ echo 0.9.9.ci20260705T065255-1\n++ sed 's/-[^-]*$//'\n+ uv=0.9.9.ci20260705T065255\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../obnam_0.9.9.ci20260705T065255.orig.tar.xz\n+ deb=../obnam_0.9.9.ci20260705T065255-1_amd64.deb\n+ changes=../obnam_0.9.9.ci20260705T065255-1_amd64.changes\n+ git archive HEAD\n+ xz\n+ dpkg-buildpackage -us -uc\n dpkg-source --before-build .\n debian/rules clean\n dpkg-source -b .\n debian/rules binary\n   Compiling obnam v0.10.0 (/ci/src/obnam)\n   Compiling obnam-server v0.1.0 (/ci/src/obnam-server)\n    Finished `release` profile [optimized] target(s) in 13.90s\n  Installing obnam v0.10.0 (/ci/src/obnam)\n   Compiling obnam v0.10.0 (/ci/src/obnam)\n    Finished `release` profile [optimized] target(s) in 7.88s\n  Installing /ci/src/debian/obnam/usr/bin/obnam\n   Installed package `obnam v0.10.0 (/ci/src/obnam)` (executable `obnam`)\nwarning: be sure to add `/ci/src/debian/obnam/usr/bin` to your PATH to be able to run the installed binaries\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 from: /lib64/ld-linux-x86-64.so.2\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 to: /lib64/ld-linux-x86-64.so.2.usr-is-merged\n dpkg-genbuildinfo -O../obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo\n dpkg-genchanges -O../obnam_0.9.9.ci20260705T065255-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb\n+ for x in ../*.deb\n+ dpkg -c ../obnam_0.9.9.ci20260705T065255-1_amd64.deb\n+ mv ../obnam-dbgsym_0.9.9.ci20260705T065255-1_amd64.deb ../obnam_0.9.9.ci20260705T065255-1.debian.tar.xz ../obnam_0.9.9.ci20260705T065255-1.dsc ../obnam_0.9.9.ci20260705T065255-1_amd64.buildinfo ../obnam_0.9.9.ci20260705T065255-1_amd64.changes ../obnam_0.9.9.ci20260705T065255-1_amd64.deb ../obnam_0.9.9.ci20260705T065255.orig.tar.xz /ci/artifacts/debian\n","timestamp":{"secs_since_epoch":1783234402,"nanos_since_epoch":769230309},"log_source":"Plan"}
{"type":"action_succeeded","action":"deb","packages":"debian","timestamp":{"secs_since_epoch":1783234402,"nanos_since_epoch":891865239},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234402,"nanos_since_epoch":894129980},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234405,"nanos_since_epoch":742690151},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234405,"nanos_since_epoch":745939537},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234405,"nanos_since_epoch":756015306},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783234405,"nanos_since_epoch":758836253},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783234405,"nanos_since_epoch":760755565},"log_source":"Plan"}
EXIT CODE: 0

Post-plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.15.0@eeab732
  2. 6 ms: Runnable plan
    steps:
    - action: mkdir
      pathname: /ci
    - action: mkdir
      pathname: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/secrets
    - action: mkdir
      pathname: /ci/deps
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    - action: shell
      shell: ln -sf /ci /workspace
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    secrets_drive: null
    workspace_dir: /ci
    source_dir: /ci/src
    deps_dir: /ci/deps
    cache_dir: /ci/cache
    artifacts_dir: /ci/artifacts
    secrets_dir: null
    envs: {}
    
  3. 29 ms: Execute action: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 32 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  5. 34 ms: Execute action: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  6. 36 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  7. 39 ms: Execute action: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  8. 41 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  9. 49 ms: Execute action: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  10. 57 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  11. 60 ms: Execute action: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  12. 63 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  13. 68 ms: Execute action: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  14. 68 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  15. 68 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 93 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 94 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 1659 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 1659 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 5118 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 5118 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 5134 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 5137 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 5142 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 5142 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 5143 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 5146 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 5147 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 5147 ms: Execute action: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  30. 5148 ms: Action succeeded: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  31. 5148 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  32. 7970 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  33. 7973 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  34. 7981 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  35. 7984 ms: Plan succededThere was much rejoicing!
  36. 7986 ms: Executor ends successfullyPhew, nothing seems to have gone wrong.
Console log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
  Booting `Debian GNU/Linux'

Loading Linux 6.12.86+deb13-amd64 ...
Loading initial ramdisk ...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
Loading, please wait...
Starting systemd-udevd version 257.13-1~deb13u1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.41
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/vda2
fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 13 (trixie)!

[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-tracing.mount - Kernel Trace File System...
         Mounting tmp.mount - Temporary Directory /tmp...
         Starting kmod-static-nodes.service…eate List of Static Device Nodes...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-network-generator…k Units from Kernel Command Line...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Finished kmod-static-nodes.service…Create List of Static Device Nodes.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-network-generator…ork Units from Kernel Command Line.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[  OK  ] Reached target network-pre.target - Preparation for Network.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-sysctl.service - Apply Kernel Variables...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-resolved.service - Network Name Resolution...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Set up automount efi.automount - EFI System Partition Automount.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting systemd-binfmt.service - Set Up Additional Binary Formats...
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
         Starting systemd-journal-catalog-u…ervice - Rebuild Journal Catalog...
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting systemd-networkd.service - Network Configuration...
[  OK  ] Finished systemd-journal-catalog-u….service - Rebuild Journal Catalog.
[  OK  ] Found device dev-ttyS0.device - /dev/ttyS0.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting ambient.service - Run build job for Ambient CI...
         Starting dbus.service - D-Bus System Message Bus...
         Starting grub-common.service - Record successful boot for GRUB...
         Starting systemd-logind.service - User Login Management...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Finished grub-common.service - Record successful boot for GRUB.
[  OK  ] Started systemd-networkd.service - Network Configuration.
[  OK  ] Reached target network.target - Network.
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-networkd-persiste…tent Storage in systemd-networkd...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.

Debian GNU/Linux 13 ambient-dev ttyS0

ambient-dev login: [  OK  ] Stopped ambient.service - Run build job for Ambient CI.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped         Stopping serial-getty@ttyS0.service - Serial Getty on ttyS0...
         Stopping ssh.service - OpenBSD Secure Shell server...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-networkd-persiste…tent Storage in systemd-networkd...
         Stopping systemd-random-seed.service - Load/Save OS Random Seed...
[  OK  ] Stopped systemd-udev-load-credenti…- Load udev Rules from Credentials.
[  OK  ] Stopped getty@tty1.service - Getty on tty1.
[  OK  ] Stopped dbus.service - D-Bus System Message Bus.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Stopped ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Closed sshd-unix-local.socket - Op…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Closed systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
         Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
         Stopping systemd-networkd.service - Network Configuration...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
[  OK  ] Stopped systemd-tmpfiles-setup.ser…reate System Files and Directories.
[  OK  ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[  OK  ] Stopped target local-fs.target - Local File Systems.
[  OK  ] Unset automount efi.automount - EFI System Partition Automount.
[  OK  ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target final.target - Late Shutdown Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
[   16.888496] reboot: Power down
Raw run log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
INFO: Block devices
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1   372K  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   5.3M  1 disk 
vdc    254:32   0   2.9M  1 disk 
vdd    254:48   0 953.7M  0 disk 
vde    254:64   0  27.9G  0 disk 
vdf    254:80   0   100G  1 disk 
vdg    254:96   0    10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2026-07-05 06:52 ./
-rw-r--r-- _rad/_rad      1209 2026-07-05 06:53 ./plan.yaml
-rwxr-xr-x _rad/_rad   5517632 2026-07-05 06:53 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Jul  5 06:52 .
       10   5392 -rwxr-xr-x   1 1000     1000      5517632 Jul  5 06:53 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1209 Jul  5 06:53 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.15.0@eeab732","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":935770831},"log_source":"Plan"}
{"type":"runnable_plan","steps":[{"action":"mkdir","pathname":"/ci"},{"action":"mkdir","pathname":"/ci/artifacts"},{"action":"mkdir","pathname":"/ci/artifacts/debian"},{"action":"mkdir","pathname":"/ci/artifacts/rsync"},{"action":"mkdir","pathname":"/ci/secrets"},{"action":"mkdir","pathname":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src"},{"action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps"},{"action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets"},{"action":"shell","shell":"ln -sf /ci /workspace"},{"action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true},{"action":"tar_create","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts"}],"executor_drive":"/dev/vdb","source_drive":"/dev/vdc","artifact_drive":"/dev/vdd","cache_drive":"/dev/vde","deps_drive":"/dev/vdf","secrets_drive":null,"workspace_dir":"/ci","source_dir":"/ci/src","deps_dir":"/ci/deps","cache_dir":"/ci/cache","artifacts_dir":"/ci/artifacts","secrets_dir":null,"envs":{},"timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":942097942},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":965735662},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":967965852},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":970159251},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":972516839},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":974863202},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":977263853},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":985755551},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":993067614},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":996439214},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783234417,"nanos_since_epoch":998990948},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234418,"nanos_since_epoch":4058953},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783234418,"nanos_since_epoch":4160137},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234418,"nanos_since_epoch":4330247},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783234418,"nanos_since_epoch":29744596},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234418,"nanos_since_epoch":29774550},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783234419,"nanos_since_epoch":595503089},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234419,"nanos_since_epoch":595543613},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":53871885},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":53913700},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":70343493},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":73712531},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":78715723},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":78748517},"log_source":"Plan"}
{"type":"start_program","argv":[{"Unix":[98,97,115,104]},{"Unix":[45,99]},{"Unix":[115,101,116,32,45,120,101,117,111,32,112,105,112,101,102,97,105,108,10,108,110,32,45,115,102,32,47,99,105,32,47,119,111,114,107,115,112,97,99,101,10]}],"timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":79478544},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":82686231},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":82862561},"log_source":"Plan"}
{"type":"execute_action","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":83413626},"log_source":"Plan"}
{"type":"action_succeeded","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":83842449},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234423,"nanos_since_epoch":83937813},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783234425,"nanos_since_epoch":906183036},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234425,"nanos_since_epoch":908795719},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783234425,"nanos_since_epoch":917290599},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783234425,"nanos_since_epoch":920444642},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783234425,"nanos_since_epoch":922169031},"log_source":"Plan"}
EXIT CODE: 0