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": "a2577adef28aa20d82dce085d606c302de7e989e",
  "after": "a2577adef28aa20d82dce085d606c302de7e989e",
  "branch": "main",
  "commits": [
    "a2577adef28aa20d82dce085d606c302de7e989e",
    "42cc07f5be88afbb4f2e5f96b59b1c0a14fad153",
    "6d68b7560e7d696ba526ca67dd7c64db1e421d02",
    "1c017a05497b52c0ef46141cc00347ccdfa22611",
    "cf05d747d0035326b9977eeb45ec1c1bfd5cca77"
  ]
}
Ambient stdout
executor from config: /usr/bin/ambient-execute-plan
executor from PATH: /usr/bin/ambient-execute-plan
run CI for rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x
CONSTRUCT: Config {
    tmpdir: "/home/_rad/tmp",
    image_store: "/home/_rad/ambient-images",
    projects: "/dev/null",
    state: "/home/_rad/ambient-state",
    rsync_target: None,
    rsync_target_base: None,
    rsync_target_map: None,
    dput_target: None,
    executor: Some(
        "/usr/bin/ambient-execute-plan",
    ),
    artifacts_max_size: Byte(
        1000000000,
    ),
    cache_max_size: Byte(
        30000000000,
    ),
    qemu: QemuConfig {
        cpus: 2,
        memory: Byte(
            12000000000,
        ),
        kvm_binary: "/usr/bin/kvm",
        ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
        ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
    },
    uefi: false,
    lint: false,
    secrets: None,
} Project {
    source: TildePathBuf {
        path: "src",
    },
    expanded_source: "/tmp/.tmpNZifYm/src",
    image: TildePathBuf {
        path: "/home/_rad/ambient.qcow2",
    },
    expanded_image: "/home/_rad/ambient.qcow2",
    pre_plan: Some(
        [
            CargoFetch,
        ],
    ),
    plan: Some(
        [
            CargoClippy,
            CargoBuild,
            CargoTest,
            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",
            },
            Custom(
                Custom {
                    name: "dch",
                    args: {
                        "debemail": String("liw@liw.fi"),
                        "debfullname": String("Lars Wirzenius"),
                    },
                },
            ),
            Deb2,
        ],
    ),
    post_plan: Some(
        [],
    ),
    artifact_max_size: None,
    cache_max_size: None,
    dependencies_max_size: None,
}
SECRETS: copy OK
SECRETS: copy OK
Ambient stderr
<empty log>

Pre-plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.16.0@da3268d
  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. 0 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  5. 0 ms: Execute action: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  6. 0 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. 49 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 67 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 67 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 68 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 68 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 3266 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 3266 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 3272 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 3272 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 3279 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 3279 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 3279 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 3290 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 3290 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 3290 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. 3291 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. 3291 ms: Execute action: cargo_fetch
    - action: cargo_fetch
    
  32. 3291 ms: Start program: cargo
    • cargo
    • --version
  33. 3333 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.97.0 (c980f4866 2026-06-30)
      
    • Stderr
  34. 3333 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  35. 3391 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (2d8144b788 2026-07-07)
      
    • Stderr
  36. 3391 ms: Start program: rustc
    • rustc
    • --version
  37. 3412 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.97.0 (2d8144b78 2026-07-07)
      
    • Stderr
  38. 3414 ms: Start program: cargo
    • cargo
    • fetch
    • --locked
  39. 9634 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
          Updating crates.io index
       Downloading crates ...
        Downloaded fnv v1.0.7
        Downloaded equivalent v1.0.2
        Downloaded atomic-waker v1.1.2
        Downloaded hash32 v0.2.1
        Downloaded wit-bindgen-rust-macro v0.51.0
        Downloaded embedded-io v0.4.0
        Downloaded id-arena v2.3.0
        Downloaded opaque-debug v0.3.1
        Downloaded wasm-bindgen-futures v0.4.58
        Downloaded slab v0.4.12
        Downloaded openssl-probe v0.2.1
        Downloaded leb128fmt v0.1.0
        Downloaded heck v0.5.0
        Downloaded futures-util v0.3.31
        Downloaded pin-utils v0.1.0
        Downloaded tower-layer v0.3.3
        Downloaded windows-targets v0.52.6
        Downloaded mutants v0.0.3
        Downloaded tower-service v0.3.3
        Downloaded sync_wrapper v1.0.2
        Downloaded http-body v1.0.1
        Downloaded untrusted v0.9.0
        Downloaded rustls-pki-types v1.14.0
        Downloaded web-time v1.1.0
        Downloaded rand_core v0.10.0
        Downloaded env_filter v0.1.4
        Downloaded dunce v1.0.5
        Downloaded rustls-platform-verifier-android v0.1.1
        Downloaded windows-targets v0.42.2
        Downloaded unicode-xid v0.2.6
        Downloaded atomic-polyfill v1.0.3
        Downloaded cobs v0.3.0
        Downloaded hostname v0.4.2
        Downloaded git-testament v0.2.6
        Downloaded git-testament-derive v0.2.1
        Downloaded adler2 v2.0.1
        Downloaded once_cell_polyfill v1.70.2
        Downloaded futures-task v0.3.31
        Downloaded futures-sink v0.3.32
        Downloaded futures-io v0.3.32
        Downloaded futures-core v0.3.31
        Downloaded tracing-core v0.1.36
        Downloaded iri-string v0.7.10
        Downloaded tokio-rustls v0.26.4
        Downloaded cc v1.2.57
        Downloaded cmake v0.1.57
        Downloaded serde_urlencoded v0.7.1
        Downloaded ryu v1.0.20
        Downloaded core-foundation-sys v0.8.7
        Downloaded schannel v0.1.29
        Downloaded thiserror v1.0.69
        Downloaded rand_core v0.9.5
        Downloaded log v0.4.28
        Downloaded jobserver v0.1.34
        Downloaded security-framework-sys v2.17.0
        Downloaded core-foundation v0.10.1
        Downloaded same-file v1.0.6
        Downloaded cesu8 v1.1.0
        Downloaded quinn-udp v0.5.14
        Downloaded tinyvec_macros v0.1.1
        Downloaded windows-strings v0.5.1
        Downloaded system-configuration v0.7.0
        Downloaded system-configuration-sys v0.6.0
        Downloaded scopeguard v1.2.0
        Downloaded is_terminal_polyfill v1.70.2
        Downloaded anstyle-wincon v3.0.11
        Downloaded directories-next v2.0.0
        Downloaded dirs-sys-next v0.1.2
        Downloaded redox_users v0.4.6
        Downloaded libredox v0.1.10
        Downloaded clap_lex v0.7.6
        Downloaded tower-http v0.6.8
        Downloaded tower v0.5.3
        Downloaded http v1.4.0
        Downloaded rustls-webpki v0.103.10
        Downloaded getrandom v0.2.16
        Downloaded shlex v1.3.0
        Downloaded find-msvc-tools v0.1.9
        Downloaded rustls-platform-verifier v0.6.2
        Downloaded webpki-root-certs v1.0.6
        Downloaded rustls-native-certs v0.8.3
        Downloaded winapi-util v0.1.11
        Downloaded jni-sys v0.3.0
        Downloaded quinn v0.11.9
        Downloaded rustc-hash v2.1.1
        Downloaded cfg_aliases v0.2.1
        Downloaded tinyvec v1.11.0
        Downloaded mime v0.3.17
        Downloaded hyper-util v0.1.20
        Downloaded windows-result v0.4.1
        Downloaded wasi v0.11.1+wasi-snapshot-preview1
        Downloaded fs_extra v1.3.0
        Downloaded security-framework v3.7.0
        Downloaded jni v0.21.1
        Downloaded walkdir v2.5.0
        Downloaded thiserror-impl v1.0.69
        Downloaded rand v0.9.2
        Downloaded rand_chacha v0.9.0
        Downloaded ppv-lite86 v0.2.21
        Downloaded lru-slab v0.1.2
        Downloaded windows-registry v0.6.1
        Downloaded want v0.3.1
        Downloaded try-lock v0.2.5
        Downloaded httpdate v1.0.3
        Downloaded embedded-io v0.6.1
        Downloaded crypto-common v0.1.7
        Downloaded inout v0.1.4
        Downloaded windows-link v0.2.1
        Downloaded thiserror v2.0.17
        Downloaded cfg-if v1.0.4
        Downloaded fallible-streaming-iterator v0.1.9
        Downloaded fallible-iterator v0.3.0
        Downloaded zerocopy-derive v0.8.47
        Downloaded core-foundation v0.9.4
        Downloaded ipnet v2.12.0
        Downloaded httparse v1.10.1
        Downloaded colorchoice v1.0.4
        Downloaded serde_spanned v1.0.3
        Downloaded terminal_size v0.4.3
        Downloaded strsim v0.11.1
        Downloaded universal-hash v0.5.1
        Downloaded version_check v0.9.5
        Downloaded aead v0.5.2
        Downloaded serde_path_to_error v0.1.20
        Downloaded axum-core v0.5.6
        Downloaded pin-project-lite v0.2.16
        Downloaded bytes v1.11.1
        Downloaded wit-bindgen v0.46.0
        Downloaded windows_aarch64_gnullvm v0.52.6
        Downloaded windows_x86_64_gnullvm v0.42.2
        Downloaded combine v4.6.7
        Downloaded anstyle-query v1.1.5
        Downloaded matchit v0.8.4
        Downloaded axum-macros v0.5.0
        Downloaded mio v1.1.0
        Downloaded wasip2 v1.0.1+wasi-0.2.4
        Downloaded zerofrom v0.1.6
        Downloaded zerofrom-derive v0.1.6
        Downloaded fastrand v2.3.0
        Downloaded rustls v0.23.37
        Downloaded windows_aarch64_gnullvm v0.42.2
        Downloaded tokio-util v0.7.18
        Downloaded indexmap v2.12.0
        Downloaded cpufeatures v0.3.0
        Downloaded aes v0.8.4
        Downloaded zerovec-derive v0.11.2
        Downloaded synstructure v0.13.2
        Downloaded yoke v0.8.1
        Downloaded yoke-derive v0.8.1
        Downloaded stable_deref_trait v1.2.1
        Downloaded displaydoc v0.2.5
        Downloaded icu_provider v2.1.1
        Downloaded writeable v0.6.2
        Downloaded rusqlite v0.37.0
        Downloaded reqwest v0.13.2
        Downloaded aws-lc-rs v1.16.2
        Downloaded hyper v1.8.1
        Downloaded h2 v0.4.13
        Downloaded futures-channel v0.3.31
        Downloaded axum v0.8.8
        Downloaded quote v1.0.42
        Downloaded windows-targets v0.53.5
        Downloaded zerotrie v0.2.3
        Downloaded quinn-proto v0.11.14
        Downloaded semver v1.0.27
        Downloaded rustc_version v0.4.1
        Downloaded byteorder v1.5.0
        Downloaded critical-section v1.2.0
        Downloaded tokio-macros v2.6.0
        Downloaded unicode-ident v1.0.22
        Downloaded proc-macro2 v1.0.103
        Downloaded socket2 v0.6.2
        Downloaded thiserror-impl v2.0.17
        Downloaded zmij v1.0.18
        Downloaded serde_core v1.0.228
        Downloaded num-conv v0.1.0
        Downloaded powerfmt v0.2.0
        Downloaded subtle v2.6.1
        Downloaded zerocopy v0.8.47
        Downloaded http-body-util v0.1.3
        Downloaded anyhow v1.0.102
        Downloaded serde_derive v1.0.228
        Downloaded time-macros v0.2.24
        Downloaded time-core v0.1.6
        Downloaded deranged v0.5.5
        Downloaded windows_i686_gnullvm v0.52.6
        Downloaded serde v1.0.228
        Downloaded zeroize v1.8.2
        Downloaded r-efi v5.3.0
        Downloaded potential_utf v0.1.4
        Downloaded form_urlencoded v1.2.2
        Downloaded errno v0.3.14
        Downloaded web-sys v0.3.85
        Downloaded js-sys v0.3.85
        Downloaded pkg-config v0.3.32
        Downloaded tracing v0.1.44
        Downloaded wasm-bindgen-shared v0.2.108
        Downloaded serde_json v1.0.149
        Downloaded utf8_iter v1.0.4
        Downloaded idna_adapter v1.2.1
        Downloaded icu_normalizer_data v2.1.1
        Downloaded windows_x86_64_gnullvm v0.52.6
        Downloaded percent-encoding v2.3.2
        Downloaded icu_collections v2.1.1
        Downloaded icu_normalizer v2.1.1
        Downloaded pasetors v0.7.7
        Downloaded time v0.3.44
        Downloaded utf8parse v0.2.2
        Downloaded anstyle-parse v0.2.7
        Downloaded regex v1.12.2
        Downloaded windows_x86_64_gnu v0.42.2
        Downloaded aho-corasick v1.1.4
        Downloaded lock_api v0.4.14
        Downloaded polyval v0.6.2
        Downloaded icu_properties_data v2.1.2
        Downloaded windows_x86_64_msvc v0.42.2
        Downloaded anstyle v1.0.13
        Downloaded toml_writer v1.0.4
        Downloaded toml_datetime v0.7.3
        Downloaded syn v2.0.110
        Downloaded orion v0.17.12
        Downloaded windows_aarch64_msvc v0.42.2
        Downloaded vcpkg v0.2.15
        Downloaded anstream v0.6.21
        Downloaded simd-adler32 v0.3.8
        Downloaded clingwrap v0.6.0
        Downloaded aes-gcm-siv v0.11.1
        Downloaded generic-array v0.14.7
        Downloaded windows_i686_gnu v0.42.2
        Downloaded env_logger v0.11.8
        Downloaded foldhash v0.1.5
        Downloaded windows_x86_64_msvc v0.52.6
        Downloaded cpufeatures v0.2.17
        Downloaded ctr v0.9.2
        Downloaded regex-syntax v0.8.8
        Downloaded spin v0.9.8
        Downloaded wit-bindgen-core v0.51.0
        Downloaded toml_parser v1.0.4
        Downloaded windows_i686_gnu v0.52.6
        Downloaded windows_i686_msvc v0.42.2
        Downloaded hyper-rustls v0.27.7
        Downloaded rustix v1.1.2
        Downloaded wit-bindgen-rust v0.51.0
        Downloaded ct-codecs v1.1.6
        Downloaded libc v0.2.177
        Downloaded hashlink v0.10.0
        Downloaded windows_aarch64_msvc v0.52.6
        Downloaded regex-automata v0.4.13
        Downloaded fiat-crypto v0.3.0
        Downloaded cipher v0.4.4
        Downloaded wasm-bindgen-macro v0.2.108
        Downloaded windows_x86_64_gnu v0.52.6
        Downloaded windows_i686_msvc v0.52.6
        Downloaded rustversion v1.0.22
        Downloaded windows_x86_64_gnullvm v0.53.1
        Downloaded windows_i686_gnullvm v0.53.1
        Downloaded windows_x86_64_msvc v0.53.1
        Downloaded postcard v1.1.3
        Downloaded windows_x86_64_gnu v0.53.1
        Downloaded chacha20 v0.10.0
        Downloaded crc32fast v1.5.0
        Downloaded clap_derive v4.5.49
        Downloaded windows_i686_msvc v0.53.1
        Downloaded rand_core v0.6.4
        Downloaded windows_i686_gnu v0.53.1
        Downloaded ring v0.17.14
        Downloaded portable-atomic-util v0.2.4
        Downloaded tempfile v3.23.0
        Downloaded bitflags v2.11.0
        Downloaded r-efi v6.0.0
        Downloaded hashbrown v0.16.0
        Downloaded ed25519-compact v2.2.0
        Downloaded tinystr v0.8.2
        Downloaded wasm-bindgen v0.2.108
        Downloaded once_cell v1.21.3
        Downloaded wasm-metadata v0.244.0
        Downloaded toml v0.9.8
        Downloaded getrandom v0.4.2
        Downloaded windows-sys v0.45.0
        Downloaded clap v4.5.51
        Downloaded windows-sys v0.52.0
        Downloaded windows-sys v0.61.2
        Downloaded windows-sys v0.60.2
        Downloaded linux-raw-sys v0.11.0
        Downloaded itoa v1.0.15
        Downloaded base64 v0.22.1
        Downloaded heapless v0.7.17
        Downloaded flate2 v1.1.8
        Downloaded prettyplease v0.2.37
        Downloaded litemap v0.8.1
        Downloaded getrandom v0.3.4
        Downloaded wasm-bindgen-macro-support v0.2.108
        Downloaded smallvec v1.15.1
        Downloaded wit-bindgen v0.51.0
        Downloaded miniz_oxide v0.8.9
        Downloaded jiff-static v0.2.16
        Downloaded unsafe-libyaml-norway v0.2.15
        Downloaded libsqlite3-sys v0.35.0
        Downloaded rand v0.10.0
        Downloaded icu_properties v2.1.2
        Downloaded serde_norway v0.9.42
        Downloaded icu_locale_core v2.1.1
        Downloaded uuid v1.20.0
        Downloaded url v2.5.8
        Downloaded wasm-encoder v0.244.0
        Downloaded typenum v1.19.0
        Downloaded memchr v2.7.6
        Downloaded aws-lc-sys v0.39.0
        Downloaded bumpalo v3.19.1
        Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06
        Downloaded zerovec v0.11.5
        Downloaded hashbrown v0.15.5
        Downloaded idna v1.1.0
        Downloaded clap_builder v4.5.51
        Downloaded wit-parser v0.244.0
        Downloaded portable-atomic v1.11.1
        Downloaded winnow v0.7.13
        Downloaded wit-component v0.244.0
        Downloaded wasmparser v0.244.0
        Downloaded jiff v0.2.16
        Downloaded windows_aarch64_gnullvm v0.53.1
        Downloaded tokio v1.49.0
        Downloaded windows_aarch64_msvc v0.53.1
        Downloaded winapi v0.3.9
        Downloaded encoding_rs v0.8.35
        Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
        Downloaded winapi-i686-pc-windows-gnu v0.4.0
      
  40. 9781 ms: Action succeeded: cargo_fetch
    - action: cargo_fetch
    
  41. 9783 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  42. 12172 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  43. 12176 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  44. 12180 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  45. 12185 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  46. 15094 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  47. 15098 ms: Plan succededThere was much rejoicing!
  48. 15099 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  ] 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  ] Started systemd-journald.service - Journal Service.
[  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-random-seed.service - Load/Save OS Random Seed.
[  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-journal-flush.ser…lush Journal to Persistent Storage.
[  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  ] 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 ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  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 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-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.
[   23.977682] 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.8M  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-12 09:06 ./
-rw-r--r-- _rad/_rad      1294 2026-07-12 09:06 ./plan.yaml
-rwxr-xr-x _rad/_rad   5525824 2026-07-12 09:06 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Jul 12 09:06 .
       10   5400 -rwxr-xr-x   1 1000     1000      5525824 Jul 12 09:06 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1294 Jul 12 09:06 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.16.0@da3268d","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":897298868},"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":1783847181,"nanos_since_epoch":897563024},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":897774125},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898020985},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898196221},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898224032},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898408041},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898435738},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898620562},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898645210},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898832571},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":898859277},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":899043853},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":899071322},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":946426898},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":964481666},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":964520208},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":965850737},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847181,"nanos_since_epoch":965874493},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":163422017},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":163462770},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":170128724},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":170152936},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":176438120},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":176460597},"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":1783847185,"nanos_since_epoch":176675847},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":188015627},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":188041694},"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":1783847185,"nanos_since_epoch":188251955},"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":1783847185,"nanos_since_epoch":188640016},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_fetch","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":188779841},"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":1783847185,"nanos_since_epoch":188787128},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.97.0 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":230884221},"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":1783847185,"nanos_since_epoch":230928190},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.97 (2d8144b788 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":289040720},"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":1783847185,"nanos_since_epoch":289085808},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.97.0 (2d8144b78 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847185,"nanos_since_epoch":309846507},"log_source":"Plan"}
copying relevant files to /tmp/.tmpnRsUPP
{"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":1783847185,"nanos_since_epoch":311711191},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"    Updating crates.io index\n Downloading crates ...\n  Downloaded fnv v1.0.7\n  Downloaded equivalent v1.0.2\n  Downloaded atomic-waker v1.1.2\n  Downloaded hash32 v0.2.1\n  Downloaded wit-bindgen-rust-macro v0.51.0\n  Downloaded embedded-io v0.4.0\n  Downloaded id-arena v2.3.0\n  Downloaded opaque-debug v0.3.1\n  Downloaded wasm-bindgen-futures v0.4.58\n  Downloaded slab v0.4.12\n  Downloaded openssl-probe v0.2.1\n  Downloaded leb128fmt v0.1.0\n  Downloaded heck v0.5.0\n  Downloaded futures-util v0.3.31\n  Downloaded pin-utils v0.1.0\n  Downloaded tower-layer v0.3.3\n  Downloaded windows-targets v0.52.6\n  Downloaded mutants v0.0.3\n  Downloaded tower-service v0.3.3\n  Downloaded sync_wrapper v1.0.2\n  Downloaded http-body v1.0.1\n  Downloaded untrusted v0.9.0\n  Downloaded rustls-pki-types v1.14.0\n  Downloaded web-time v1.1.0\n  Downloaded rand_core v0.10.0\n  Downloaded env_filter v0.1.4\n  Downloaded dunce v1.0.5\n  Downloaded rustls-platform-verifier-android v0.1.1\n  Downloaded windows-targets v0.42.2\n  Downloaded unicode-xid v0.2.6\n  Downloaded atomic-polyfill v1.0.3\n  Downloaded cobs v0.3.0\n  Downloaded hostname v0.4.2\n  Downloaded git-testament v0.2.6\n  Downloaded git-testament-derive v0.2.1\n  Downloaded adler2 v2.0.1\n  Downloaded once_cell_polyfill v1.70.2\n  Downloaded futures-task v0.3.31\n  Downloaded futures-sink v0.3.32\n  Downloaded futures-io v0.3.32\n  Downloaded futures-core v0.3.31\n  Downloaded tracing-core v0.1.36\n  Downloaded iri-string v0.7.10\n  Downloaded tokio-rustls v0.26.4\n  Downloaded cc v1.2.57\n  Downloaded cmake v0.1.57\n  Downloaded serde_urlencoded v0.7.1\n  Downloaded ryu v1.0.20\n  Downloaded core-foundation-sys v0.8.7\n  Downloaded schannel v0.1.29\n  Downloaded thiserror v1.0.69\n  Downloaded rand_core v0.9.5\n  Downloaded log v0.4.28\n  Downloaded jobserver v0.1.34\n  Downloaded security-framework-sys v2.17.0\n  Downloaded core-foundation v0.10.1\n  Downloaded same-file v1.0.6\n  Downloaded cesu8 v1.1.0\n  Downloaded quinn-udp v0.5.14\n  Downloaded tinyvec_macros v0.1.1\n  Downloaded windows-strings v0.5.1\n  Downloaded system-configuration v0.7.0\n  Downloaded system-configuration-sys v0.6.0\n  Downloaded scopeguard v1.2.0\n  Downloaded is_terminal_polyfill v1.70.2\n  Downloaded anstyle-wincon v3.0.11\n  Downloaded directories-next v2.0.0\n  Downloaded dirs-sys-next v0.1.2\n  Downloaded redox_users v0.4.6\n  Downloaded libredox v0.1.10\n  Downloaded clap_lex v0.7.6\n  Downloaded tower-http v0.6.8\n  Downloaded tower v0.5.3\n  Downloaded http v1.4.0\n  Downloaded rustls-webpki v0.103.10\n  Downloaded getrandom v0.2.16\n  Downloaded shlex v1.3.0\n  Downloaded find-msvc-tools v0.1.9\n  Downloaded rustls-platform-verifier v0.6.2\n  Downloaded webpki-root-certs v1.0.6\n  Downloaded rustls-native-certs v0.8.3\n  Downloaded winapi-util v0.1.11\n  Downloaded jni-sys v0.3.0\n  Downloaded quinn v0.11.9\n  Downloaded rustc-hash v2.1.1\n  Downloaded cfg_aliases v0.2.1\n  Downloaded tinyvec v1.11.0\n  Downloaded mime v0.3.17\n  Downloaded hyper-util v0.1.20\n  Downloaded windows-result v0.4.1\n  Downloaded wasi v0.11.1+wasi-snapshot-preview1\n  Downloaded fs_extra v1.3.0\n  Downloaded security-framework v3.7.0\n  Downloaded jni v0.21.1\n  Downloaded walkdir v2.5.0\n  Downloaded thiserror-impl v1.0.69\n  Downloaded rand v0.9.2\n  Downloaded rand_chacha v0.9.0\n  Downloaded ppv-lite86 v0.2.21\n  Downloaded lru-slab v0.1.2\n  Downloaded windows-registry v0.6.1\n  Downloaded want v0.3.1\n  Downloaded try-lock v0.2.5\n  Downloaded httpdate v1.0.3\n  Downloaded embedded-io v0.6.1\n  Downloaded crypto-common v0.1.7\n  Downloaded inout v0.1.4\n  Downloaded windows-link v0.2.1\n  Downloaded thiserror v2.0.17\n  Downloaded cfg-if v1.0.4\n  Downloaded fallible-streaming-iterator v0.1.9\n  Downloaded fallible-iterator v0.3.0\n  Downloaded zerocopy-derive v0.8.47\n  Downloaded core-foundation v0.9.4\n  Downloaded ipnet v2.12.0\n  Downloaded httparse v1.10.1\n  Downloaded colorchoice v1.0.4\n  Downloaded serde_spanned v1.0.3\n  Downloaded terminal_size v0.4.3\n  Downloaded strsim v0.11.1\n  Downloaded universal-hash v0.5.1\n  Downloaded version_check v0.9.5\n  Downloaded aead v0.5.2\n  Downloaded serde_path_to_error v0.1.20\n  Downloaded axum-core v0.5.6\n  Downloaded pin-project-lite v0.2.16\n  Downloaded bytes v1.11.1\n  Downloaded wit-bindgen v0.46.0\n  Downloaded windows_aarch64_gnullvm v0.52.6\n  Downloaded windows_x86_64_gnullvm v0.42.2\n  Downloaded combine v4.6.7\n  Downloaded anstyle-query v1.1.5\n  Downloaded matchit v0.8.4\n  Downloaded axum-macros v0.5.0\n  Downloaded mio v1.1.0\n  Downloaded wasip2 v1.0.1+wasi-0.2.4\n  Downloaded zerofrom v0.1.6\n  Downloaded zerofrom-derive v0.1.6\n  Downloaded fastrand v2.3.0\n  Downloaded rustls v0.23.37\n  Downloaded windows_aarch64_gnullvm v0.42.2\n  Downloaded tokio-util v0.7.18\n  Downloaded indexmap v2.12.0\n  Downloaded cpufeatures v0.3.0\n  Downloaded aes v0.8.4\n  Downloaded zerovec-derive v0.11.2\n  Downloaded synstructure v0.13.2\n  Downloaded yoke v0.8.1\n  Downloaded yoke-derive v0.8.1\n  Downloaded stable_deref_trait v1.2.1\n  Downloaded displaydoc v0.2.5\n  Downloaded icu_provider v2.1.1\n  Downloaded writeable v0.6.2\n  Downloaded rusqlite v0.37.0\n  Downloaded reqwest v0.13.2\n  Downloaded aws-lc-rs v1.16.2\n  Downloaded hyper v1.8.1\n  Downloaded h2 v0.4.13\n  Downloaded futures-channel v0.3.31\n  Downloaded axum v0.8.8\n  Downloaded quote v1.0.42\n  Downloaded windows-targets v0.53.5\n  Downloaded zerotrie v0.2.3\n  Downloaded quinn-proto v0.11.14\n  Downloaded semver v1.0.27\n  Downloaded rustc_version v0.4.1\n  Downloaded byteorder v1.5.0\n  Downloaded critical-section v1.2.0\n  Downloaded tokio-macros v2.6.0\n  Downloaded unicode-ident v1.0.22\n  Downloaded proc-macro2 v1.0.103\n  Downloaded socket2 v0.6.2\n  Downloaded thiserror-impl v2.0.17\n  Downloaded zmij v1.0.18\n  Downloaded serde_core v1.0.228\n  Downloaded num-conv v0.1.0\n  Downloaded powerfmt v0.2.0\n  Downloaded subtle v2.6.1\n  Downloaded zerocopy v0.8.47\n  Downloaded http-body-util v0.1.3\n  Downloaded anyhow v1.0.102\n  Downloaded serde_derive v1.0.228\n  Downloaded time-macros v0.2.24\n  Downloaded time-core v0.1.6\n  Downloaded deranged v0.5.5\n  Downloaded windows_i686_gnullvm v0.52.6\n  Downloaded serde v1.0.228\n  Downloaded zeroize v1.8.2\n  Downloaded r-efi v5.3.0\n  Downloaded potential_utf v0.1.4\n  Downloaded form_urlencoded v1.2.2\n  Downloaded errno v0.3.14\n  Downloaded web-sys v0.3.85\n  Downloaded js-sys v0.3.85\n  Downloaded pkg-config v0.3.32\n  Downloaded tracing v0.1.44\n  Downloaded wasm-bindgen-shared v0.2.108\n  Downloaded serde_json v1.0.149\n  Downloaded utf8_iter v1.0.4\n  Downloaded idna_adapter v1.2.1\n  Downloaded icu_normalizer_data v2.1.1\n  Downloaded windows_x86_64_gnullvm v0.52.6\n  Downloaded percent-encoding v2.3.2\n  Downloaded icu_collections v2.1.1\n  Downloaded icu_normalizer v2.1.1\n  Downloaded pasetors v0.7.7\n  Downloaded time v0.3.44\n  Downloaded utf8parse v0.2.2\n  Downloaded anstyle-parse v0.2.7\n  Downloaded regex v1.12.2\n  Downloaded windows_x86_64_gnu v0.42.2\n  Downloaded aho-corasick v1.1.4\n  Downloaded lock_api v0.4.14\n  Downloaded polyval v0.6.2\n  Downloaded icu_properties_data v2.1.2\n  Downloaded windows_x86_64_msvc v0.42.2\n  Downloaded anstyle v1.0.13\n  Downloaded toml_writer v1.0.4\n  Downloaded toml_datetime v0.7.3\n  Downloaded syn v2.0.110\n  Downloaded orion v0.17.12\n  Downloaded windows_aarch64_msvc v0.42.2\n  Downloaded vcpkg v0.2.15\n  Downloaded anstream v0.6.21\n  Downloaded simd-adler32 v0.3.8\n  Downloaded clingwrap v0.6.0\n  Downloaded aes-gcm-siv v0.11.1\n  Downloaded generic-array v0.14.7\n  Downloaded windows_i686_gnu v0.42.2\n  Downloaded env_logger v0.11.8\n  Downloaded foldhash v0.1.5\n  Downloaded windows_x86_64_msvc v0.52.6\n  Downloaded cpufeatures v0.2.17\n  Downloaded ctr v0.9.2\n  Downloaded regex-syntax v0.8.8\n  Downloaded spin v0.9.8\n  Downloaded wit-bindgen-core v0.51.0\n  Downloaded toml_parser v1.0.4\n  Downloaded windows_i686_gnu v0.52.6\n  Downloaded windows_i686_msvc v0.42.2\n  Downloaded hyper-rustls v0.27.7\n  Downloaded rustix v1.1.2\n  Downloaded wit-bindgen-rust v0.51.0\n  Downloaded ct-codecs v1.1.6\n  Downloaded libc v0.2.177\n  Downloaded hashlink v0.10.0\n  Downloaded windows_aarch64_msvc v0.52.6\n  Downloaded regex-automata v0.4.13\n  Downloaded fiat-crypto v0.3.0\n  Downloaded cipher v0.4.4\n  Downloaded wasm-bindgen-macro v0.2.108\n  Downloaded windows_x86_64_gnu v0.52.6\n  Downloaded windows_i686_msvc v0.52.6\n  Downloaded rustversion v1.0.22\n  Downloaded windows_x86_64_gnullvm v0.53.1\n  Downloaded windows_i686_gnullvm v0.53.1\n  Downloaded windows_x86_64_msvc v0.53.1\n  Downloaded postcard v1.1.3\n  Downloaded windows_x86_64_gnu v0.53.1\n  Downloaded chacha20 v0.10.0\n  Downloaded crc32fast v1.5.0\n  Downloaded clap_derive v4.5.49\n  Downloaded windows_i686_msvc v0.53.1\n  Downloaded rand_core v0.6.4\n  Downloaded windows_i686_gnu v0.53.1\n  Downloaded ring v0.17.14\n  Downloaded portable-atomic-util v0.2.4\n  Downloaded tempfile v3.23.0\n  Downloaded bitflags v2.11.0\n  Downloaded r-efi v6.0.0\n  Downloaded hashbrown v0.16.0\n  Downloaded ed25519-compact v2.2.0\n  Downloaded tinystr v0.8.2\n  Downloaded wasm-bindgen v0.2.108\n  Downloaded once_cell v1.21.3\n  Downloaded wasm-metadata v0.244.0\n  Downloaded toml v0.9.8\n  Downloaded getrandom v0.4.2\n  Downloaded windows-sys v0.45.0\n  Downloaded clap v4.5.51\n  Downloaded windows-sys v0.52.0\n  Downloaded windows-sys v0.61.2\n  Downloaded windows-sys v0.60.2\n  Downloaded linux-raw-sys v0.11.0\n  Downloaded itoa v1.0.15\n  Downloaded base64 v0.22.1\n  Downloaded heapless v0.7.17\n  Downloaded flate2 v1.1.8\n  Downloaded prettyplease v0.2.37\n  Downloaded litemap v0.8.1\n  Downloaded getrandom v0.3.4\n  Downloaded wasm-bindgen-macro-support v0.2.108\n  Downloaded smallvec v1.15.1\n  Downloaded wit-bindgen v0.51.0\n  Downloaded miniz_oxide v0.8.9\n  Downloaded jiff-static v0.2.16\n  Downloaded unsafe-libyaml-norway v0.2.15\n  Downloaded libsqlite3-sys v0.35.0\n  Downloaded rand v0.10.0\n  Downloaded icu_properties v2.1.2\n  Downloaded serde_norway v0.9.42\n  Downloaded icu_locale_core v2.1.1\n  Downloaded uuid v1.20.0\n  Downloaded url v2.5.8\n  Downloaded wasm-encoder v0.244.0\n  Downloaded typenum v1.19.0\n  Downloaded memchr v2.7.6\n  Downloaded aws-lc-sys v0.39.0\n  Downloaded bumpalo v3.19.1\n  Downloaded wasip3 v0.4.0+wasi-0.3.0-rc-2026-01-06\n  Downloaded zerovec v0.11.5\n  Downloaded hashbrown v0.15.5\n  Downloaded idna v1.1.0\n  Downloaded clap_builder v4.5.51\n  Downloaded wit-parser v0.244.0\n  Downloaded portable-atomic v1.11.1\n  Downloaded winnow v0.7.13\n  Downloaded wit-component v0.244.0\n  Downloaded wasmparser v0.244.0\n  Downloaded jiff v0.2.16\n  Downloaded windows_aarch64_gnullvm v0.53.1\n  Downloaded tokio v1.49.0\n  Downloaded windows_aarch64_msvc v0.53.1\n  Downloaded winapi v0.3.9\n  Downloaded encoding_rs v0.8.35\n  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0\n  Downloaded winapi-i686-pc-windows-gnu v0.4.0\n","timestamp":{"secs_since_epoch":1783847191,"nanos_since_epoch":531564026},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_fetch","timestamp":{"secs_since_epoch":1783847191,"nanos_since_epoch":678367999},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847191,"nanos_since_epoch":680357993},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847194,"nanos_since_epoch":69684653},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847194,"nanos_since_epoch":74031068},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847194,"nanos_since_epoch":78230111},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847194,"nanos_since_epoch":82450592},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847196,"nanos_since_epoch":991449013},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783847196,"nanos_since_epoch":995477555},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783847196,"nanos_since_epoch":997233097},"log_source":"Plan"}
EXIT CODE: 0

Plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.16.0@da3268d
  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: 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:
        debemail: liw@liw.fi
        debfullname: Lars Wirzenius
    - 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. 42 ms: Execute action: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 44 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  5. 47 ms: Execute action: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  6. 57 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  7. 59 ms: Execute action: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  8. 63 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  9. 65 ms: Execute action: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  10. 78 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  11. 80 ms: Execute action: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  12. 85 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  13. 85 ms: Execute action: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  14. 85 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  15. 85 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 121 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 124 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 1672 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 1675 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 4892 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 4893 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 4899 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 4902 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 4906 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 4908 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 4911 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 4918 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 4920 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 4923 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. 4927 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. 4931 ms: Execute action: cargo_clippy
    - action: cargo_clippy
    
  32. 4933 ms: Start program: cargo
    • cargo
    • --version
  33. 4965 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.97.0 (c980f4866 2026-06-30)
      
    • Stderr
  34. 4968 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  35. 5025 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (2d8144b788 2026-07-07)
      
    • Stderr
  36. 5027 ms: Start program: rustc
    • rustc
    • --version
  37. 5045 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.97.0 (2d8144b78 2026-07-07)
      
    • Stderr
  38. 5046 ms: Start program: cargo
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  39. 7143 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.04s
      
  40. 7147 ms: Action succeeded: cargo_clippy
    - action: cargo_clippy
    
  41. 7149 ms: Execute action: cargo_build
    - action: cargo_build
    
  42. 7151 ms: Start program: cargo
    • cargo
    • --version
  43. 7162 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.97.0 (c980f4866 2026-06-30)
      
    • Stderr
  44. 7163 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  45. 7193 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (2d8144b788 2026-07-07)
      
    • Stderr
  46. 7196 ms: Start program: rustc
    • rustc
    • --version
  47. 7211 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.97.0 (2d8144b78 2026-07-07)
      
    • Stderr
  48. 7213 ms: Start program: cargo
    • cargo
    • build
    • --offline
    • --locked
    • --workspace
    • --all-targets
  49. 10433 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.18s
      
  50. 10434 ms: Action succeeded: cargo_build
    - action: cargo_build
    
  51. 10434 ms: Execute action: cargo_test
    - action: cargo_test
    
  52. 10434 ms: Start program: cargo
    • cargo
    • --version
  53. 10453 ms: Program succeeded
    • Exit code: 0
    • Stdout
      cargo 1.97.0 (c980f4866 2026-06-30)
      
    • Stderr
  54. 10453 ms: Start program: cargo
    • cargo
    • clippy
    • --version
  55. 10483 ms: Program succeeded
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (2d8144b788 2026-07-07)
      
    • Stderr
  56. 10486 ms: Start program: rustc
    • rustc
    • --version
  57. 10502 ms: Program succeeded
    • Exit code: 0
    • Stdout
      rustc 1.97.0 (2d8144b78 2026-07-07)
      
    • Stderr
  58. 10505 ms: Start program: cargo
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  59. 11311 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 blobs::test::removes_blob ... 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 cipher::test::aead_round_trip ... ok
      test chunk::test::metadata_round_trip ... ok
      test cipher::test::key ... 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::adds_credential ... ok
      test config::test::merge_files ... ok
      test client_repo::test::removes_credential ... ok
      test config::test::valideted_config ... ok
      test credential::test::roundtrip_sop_method ... ok
      test credential::test::roundtrip_sop_credential ... ok
      test id::test::id_is_equal_to_itself ... ok
      test id::test::one_is_expected ... ok
      test id::test::id_round_trip ... ok
      test id::test::textual_id_is_printable_ascii ... ok
      test label::test::colon ... ok
      test id::test::two_ids_are_different ... 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 local_repo::test::removes_chunk ... ok
      test plaintext::test::uncompressed ... ok
      test plaintext::test::compression_round_trip ... 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.44s; merged doctests compilation took 0.43s
      
      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.15s
           Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam-8ef518217af643b3)
           Running unittests src/bin/obnam.rs (/ci/cache/cargo-target/debug/deps/obnam-8e82a7fb923fbae7)
           Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam_server-40b6a820e33e14d4)
           Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/obnam_server-41f9664c05ef2646)
         Doc-tests obnam
         Doc-tests obnam_server
      
  60. 11312 ms: Action succeeded: cargo_test
    - action: cargo_test
    
  61. 11364 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. 11364 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. 13695 ms: Program succeeded
    • Exit code: 0
    • Stdout
      total 16
      -rw-r--r-- 1 root root  177 Jul 12 08:59 CACHEDIR.TAG
      drwxr-xr-x 7 root root 4096 Jul 12 09:06 debug
      drwxr-xr-x 8 root root 4096 Jul 12 09:02 doc
      drwxr-xr-x 7 root root 4096 Jul 12 09:05 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/tmp8184jxjn
      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: 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: 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"
      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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 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: 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: 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: 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: 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 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: 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: 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 ""
      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'
        4849724      4 drwxr-xr-x   2 root     root         4096 Jul 12 09:07 doc
        4881738      4 -rw-r--r--   1 root     root         3529 Jul 12 09:07 doc/glossary.html
        4849726      4 -rw-r--r--   1 root     root          540 Jul 12 09:06 doc/keys.pik
        4849727      4 -rw-r--r--   1 root     root          427 Jul 12 09:06 doc/glossary.md
        4849729      4 -rw-r--r--   1 root     root          327 Jul 12 09:06 doc/Makefile
        4849728     16 -rw-r--r--   1 root     root        13627 Jul 12 09:06 doc/arch.md
        4849725      4 -rw-r--r--   1 root     root         3885 Jul 12 09:06 doc/keys.svg
        4881737     24 -rw-r--r--   1 root     root        22893 Jul 12 09:07 doc/arch.html
      
    • 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 0.98s
         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. 13982 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. 13987 ms: Execute action: custom: dch
    - action: custom
      name: dch
      args:
        debfullname: Lars Wirzenius
        debemail: liw@liw.fi
    
  66. 13990 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. 14185 ms: Custom action output
    • Stdout
      HEAD is now at a2577ad refactor: allow chunk labels to be used as command line argument types
      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=20260712T090703
      + version=0.9.9.ci20260712T090703-1
      + dch -v 0.9.9.ci20260712T090703-1 'CI build under Ambient.'
      + dch -r ''
      
  68. 14185 ms: Action succeeded: custom: dch
    - action: custom
      name: dch
      args:
        debemail: liw@liw.fi
        debfullname: Lars Wirzenius
    
  69. 14185 ms: Execute action: deb
    - action: deb
      packages: debian
    
  70. 14185 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. 40806 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=373
      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=2b174223badb417f85400080f3da6b02
      USER=root
      SHLVL=2
      JOURNAL_STREAM=9:3464
      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.97.0 (c980f4866 2026-06-30)
      rustc 1.97.0 (2d8144b78 2026-07-07)
      dpkg-buildpackage: info: source package obnam
      dpkg-buildpackage: info: source version 0.9.9.ci20260712T090703-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.ci20260712T090703.orig.tar.xz
      dpkg-source: info: building obnam in obnam_0.9.9.ci20260712T090703-1.debian.tar.xz
      dpkg-source: info: building obnam in obnam_0.9.9.ci20260712T090703-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.ci20260712T090703-1_amd64.deb'.
      dpkg-deb: building package 'obnam' in '../obnam_0.9.9.ci20260712T090703-1_amd64.deb'.
      dpkg-genchanges: info: including full source code in upload
      dpkg-buildpackage: info: full upload (original source is included)
      total 3024
      drwxr-xr-x  4 root root    4096 Jul 12 09:06 artifacts
      drwxr-xr-x  3 root root    4096 Jul 12 08:59 cache
      drwxr-xr-x  3 root root    4096 Jul 12 09:06 deps
      -rw-r--r--  1 root root  275352 Jul 12 09:07 obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb
      -rw-r--r--  1 root root    1716 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1.debian.tar.xz
      -rw-r--r--  1 root root     900 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1.dsc
      -rw-r--r--  1 root root    5189 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.buildinfo
      -rw-r--r--  1 root root    2296 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.changes
      -rw-r--r--  1 root root 2690672 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.deb
      -rw-r--r--  1 root root   83372 Jul 12 09:07 obnam_0.9.9.ci20260712T090703.orig.tar.xz
      drwxr-xr-x  2 root root    4096 Jul 12 09:06 secrets
      drwxr-xr-x 10 root root    4096 Jul 12 09:07 src
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/.build-id/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/.build-id/61/
      -rw-r--r-- root/root   2335584 2026-07-12 09:07 ./usr/lib/debug/.build-id/61/8274cdc39991aeeb8090609e710a4da237eba8.debug
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/
      lrwxrwxrwx root/root         0 2026-07-12 09:07 ./usr/share/doc/obnam-dbgsym -> obnam
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/bin/
      -rwxr-xr-x root/root   9467344 2026-07-12 09:07 ./usr/bin/obnam
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/obnam/
      -rw-r--r-- root/root       205 2026-07-12 09:07 ./usr/share/doc/obnam/changelog.Debian.gz
      -rw-r--r-- root/root       371 2026-07-12 09:06 ./usr/share/doc/obnam/copyright
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/lintian/
      drwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/lintian/overrides/
      -rw-r--r-- root/root        48 2026-07-12 09:06 ./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.ci20260712T090703-1
      ++ echo 0.9.9.ci20260712T090703-1
      ++ sed 's/-[^-]*$//'
      + uv=0.9.9.ci20260712T090703
      ++ dpkg --print-architecture
      + arch=amd64
      + orig=../obnam_0.9.9.ci20260712T090703.orig.tar.xz
      + deb=../obnam_0.9.9.ci20260712T090703-1_amd64.deb
      + changes=../obnam_0.9.9.ci20260712T090703-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.74s
        Installing obnam v0.10.0 (/ci/src/obnam)
         Compiling obnam v0.10.0 (/ci/src/obnam)
          Finished `release` profile [optimized] target(s) in 7.75s
        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.ci20260712T090703-1_amd64.buildinfo
       dpkg-genchanges -O../obnam_0.9.9.ci20260712T090703-1_amd64.changes
       dpkg-source --after-build .
      + ls -l ..
      + for x in ../*.deb
      + dpkg -c ../obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb
      + for x in ../*.deb
      + dpkg -c ../obnam_0.9.9.ci20260712T090703-1_amd64.deb
      + mv ../obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb ../obnam_0.9.9.ci20260712T090703-1.debian.tar.xz ../obnam_0.9.9.ci20260712T090703-1.dsc ../obnam_0.9.9.ci20260712T090703-1_amd64.buildinfo ../obnam_0.9.9.ci20260712T090703-1_amd64.changes ../obnam_0.9.9.ci20260712T090703-1_amd64.deb ../obnam_0.9.9.ci20260712T090703.orig.tar.xz /ci/artifacts/debian
      
  72. 40862 ms: Action succeeded: deb
    - action: deb
      packages: debian
    
  73. 40913 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  74. 43714 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  75. 43714 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  76. 43722 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  77. 43723 ms: Plan succededThere was much rejoicing!
  78. 43723 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-random-seed.service - Load/Save OS Random Seed.
[  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-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-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 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  ] 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 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.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  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 umount.target - Unmount All Filesystems.
[  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.
[   52.618074] 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.8M  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-12 09:06 ./
-rw-r--r-- _rad/_rad      1631 2026-07-12 09:06 ./plan.yaml
-rwxr-xr-x _rad/_rad   5525824 2026-07-12 09:06 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Jul 12 09:06 .
       10   5400 -rwxr-xr-x   1 1000     1000      5525824 Jul 12 09:06 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1631 Jul 12 09:06 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.16.0@da3268d","timestamp":{"secs_since_epoch":1783847208,"nanos_since_epoch":994014529},"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":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"}},{"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":1783847209,"nanos_since_epoch":584478},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":36418384},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":38723968},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":41980875},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":51628601},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":54008597},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":57079395},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":59507164},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":72104149},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":74523426},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":79218807},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":79728929},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":79765946},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":79943744},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":115566570},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847209,"nanos_since_epoch":118256822},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847210,"nanos_since_epoch":666982062},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847210,"nanos_since_epoch":669657154},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":886752292},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":887207210},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":893473031},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":896293206},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":900188759},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":902869245},"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":1783847213,"nanos_since_epoch":905206697},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":912270813},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":914877992},"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":1783847213,"nanos_since_epoch":917216254},"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":1783847213,"nanos_since_epoch":921601584},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_clippy","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":925610091},"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":1783847213,"nanos_since_epoch":927582617},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.97.0 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1783847213,"nanos_since_epoch":959855595},"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":1783847213,"nanos_since_epoch":962642161},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.97 (2d8144b788 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847214,"nanos_since_epoch":19123755},"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":1783847214,"nanos_since_epoch":21967641},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.97.0 (2d8144b78 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847214,"nanos_since_epoch":39695868},"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":1783847214,"nanos_since_epoch":40180573},"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.04s\n","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":137334180},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_clippy","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":141898012},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_build","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":143901622},"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":1783847216,"nanos_since_epoch":145905021},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.97.0 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":156721240},"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":1783847216,"nanos_since_epoch":157161195},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.97 (2d8144b788 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":187900600},"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":1783847216,"nanos_since_epoch":190683172},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.97.0 (2d8144b78 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847216,"nanos_since_epoch":205035711},"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":1783847216,"nanos_since_epoch":207737700},"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.18s\n","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":427962517},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_build","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":428435442},"log_source":"Plan"}
{"type":"execute_action","action":"cargo_test","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":428642090},"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":1783847219,"nanos_since_epoch":428652706},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"cargo 1.97.0 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":447288733},"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":1783847219,"nanos_since_epoch":447759471},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"clippy 0.1.97 (2d8144b788 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":477036844},"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":1783847219,"nanos_since_epoch":480112615},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"rustc 1.97.0 (2d8144b78 2026-07-07)\n","stderr":"","timestamp":{"secs_since_epoch":1783847219,"nanos_since_epoch":496937420},"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":1783847219,"nanos_since_epoch":499899197},"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 blobs::test::removes_blob ... 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 cipher::test::aead_round_trip ... ok\ntest chunk::test::metadata_round_trip ... ok\ntest cipher::test::key ... 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::adds_credential ... ok\ntest config::test::merge_files ... ok\ntest client_repo::test::removes_credential ... ok\ntest config::test::valideted_config ... ok\ntest credential::test::roundtrip_sop_method ... ok\ntest credential::test::roundtrip_sop_credential ... ok\ntest id::test::id_is_equal_to_itself ... ok\ntest id::test::one_is_expected ... ok\ntest id::test::id_round_trip ... ok\ntest id::test::textual_id_is_printable_ascii ... ok\ntest label::test::colon ... ok\ntest id::test::two_ids_are_different ... 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 local_repo::test::removes_chunk ... ok\ntest plaintext::test::uncompressed ... ok\ntest plaintext::test::compression_round_trip ... 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.44s; merged doctests compilation took 0.43s\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.15s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam-8ef518217af643b3)\n     Running unittests src/bin/obnam.rs (/ci/cache/cargo-target/debug/deps/obnam-8e82a7fb923fbae7)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam_server-40b6a820e33e14d4)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/obnam_server-41f9664c05ef2646)\n   Doc-tests obnam\n   Doc-tests obnam_server\n","timestamp":{"secs_since_epoch":1783847220,"nanos_since_epoch":305742165},"log_source":"Plan"}
{"type":"action_succeeded","action":"cargo_test","timestamp":{"secs_since_epoch":1783847220,"nanos_since_epoch":306319459},"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":1783847220,"nanos_since_epoch":358574488},"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":1783847220,"nanos_since_epoch":358789545},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"total 16\n-rw-r--r-- 1 root root  177 Jul 12 08:59 CACHEDIR.TAG\ndrwxr-xr-x 7 root root 4096 Jul 12 09:06 debug\ndrwxr-xr-x 8 root root 4096 Jul 12 09:02 doc\ndrwxr-xr-x 7 root root 4096 Jul 12 09:05 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/tmp8184jxjn\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: 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: 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\"\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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 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: 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: 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: 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: 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 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: 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: 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 \"\"\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  4849724      4 drwxr-xr-x   2 root     root         4096 Jul 12 09:07 doc\n  4881738      4 -rw-r--r--   1 root     root         3529 Jul 12 09:07 doc/glossary.html\n  4849726      4 -rw-r--r--   1 root     root          540 Jul 12 09:06 doc/keys.pik\n  4849727      4 -rw-r--r--   1 root     root          427 Jul 12 09:06 doc/glossary.md\n  4849729      4 -rw-r--r--   1 root     root          327 Jul 12 09:06 doc/Makefile\n  4849728     16 -rw-r--r--   1 root     root        13627 Jul 12 09:06 doc/arch.md\n  4849725      4 -rw-r--r--   1 root     root         3885 Jul 12 09:06 doc/keys.svg\n  4881737     24 -rw-r--r--   1 root     root        22893 Jul 12 09:07 doc/arch.html\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 0.98s\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":1783847222,"nanos_since_epoch":689491243},"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":1783847222,"nanos_since_epoch":976690960},"log_source":"Plan"}
{"type":"execute_action","action":"custom","name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"},"timestamp":{"secs_since_epoch":1783847222,"nanos_since_epoch":981296487},"log_source":"Plan"}
{"type":"custom_action_starts","source":"/ci/src","custom":{"name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"}},"exe":".ambient/dch","exe_exists":false,"timestamp":{"secs_since_epoch":1783847222,"nanos_since_epoch":984265510},"log_source":"Plan"}
"HEAD is now at a2577ad refactor: allow chunk labels to be used as command line argument types\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,97,50,53,55,55,97,100,32,114,101,102,97,99,116,111,114,58,32,97,108,108,111,119,32,99,104,117,110,107,32,108,97,98,101,108,115,32,116,111,32,98,101,32,117,115,101,100,32,97,115,32,99,111,109,109,97,110,100,32,108,105,110,101,32,97,114,103,117,109,101,110,116,32,116,121,112,101,115,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,49,50,84,48,57,48,55,48,51,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,49,50,84,48,57,48,55,48,51,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,49,50,84,48,57,48,55,48,51,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":1783847223,"nanos_since_epoch":179035462},"log_source":"Plan"}
{"type":"action_succeeded","action":"custom","name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"},"timestamp":{"secs_since_epoch":1783847223,"nanos_since_epoch":179261128},"log_source":"Plan"}
{"type":"execute_action","action":"deb","packages":"debian","timestamp":{"secs_since_epoch":1783847223,"nanos_since_epoch":179462772},"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":1783847223,"nanos_since_epoch":179483107},"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=373\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=2b174223badb417f85400080f3da6b02\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:3464\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.97.0 (c980f4866 2026-06-30)\nrustc 1.97.0 (2d8144b78 2026-07-07)\ndpkg-buildpackage: info: source package obnam\ndpkg-buildpackage: info: source version 0.9.9.ci20260712T090703-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.ci20260712T090703.orig.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260712T090703-1.debian.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260712T090703-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.ci20260712T090703-1_amd64.deb'.\ndpkg-deb: building package 'obnam' in '../obnam_0.9.9.ci20260712T090703-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 3024\ndrwxr-xr-x  4 root root    4096 Jul 12 09:06 artifacts\ndrwxr-xr-x  3 root root    4096 Jul 12 08:59 cache\ndrwxr-xr-x  3 root root    4096 Jul 12 09:06 deps\n-rw-r--r--  1 root root  275352 Jul 12 09:07 obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb\n-rw-r--r--  1 root root    1716 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1.debian.tar.xz\n-rw-r--r--  1 root root     900 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1.dsc\n-rw-r--r--  1 root root    5189 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.buildinfo\n-rw-r--r--  1 root root    2296 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.changes\n-rw-r--r--  1 root root 2690672 Jul 12 09:07 obnam_0.9.9.ci20260712T090703-1_amd64.deb\n-rw-r--r--  1 root root   83372 Jul 12 09:07 obnam_0.9.9.ci20260712T090703.orig.tar.xz\ndrwxr-xr-x  2 root root    4096 Jul 12 09:06 secrets\ndrwxr-xr-x 10 root root    4096 Jul 12 09:07 src\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/.build-id/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/lib/debug/.build-id/61/\n-rw-r--r-- root/root   2335584 2026-07-12 09:07 ./usr/lib/debug/.build-id/61/8274cdc39991aeeb8090609e710a4da237eba8.debug\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/\nlrwxrwxrwx root/root         0 2026-07-12 09:07 ./usr/share/doc/obnam-dbgsym -> obnam\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/bin/\n-rwxr-xr-x root/root   9467344 2026-07-12 09:07 ./usr/bin/obnam\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/doc/obnam/\n-rw-r--r-- root/root       205 2026-07-12 09:07 ./usr/share/doc/obnam/changelog.Debian.gz\n-rw-r--r-- root/root       371 2026-07-12 09:06 ./usr/share/doc/obnam/copyright\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/lintian/\ndrwxr-xr-x root/root         0 2026-07-12 09:07 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root        48 2026-07-12 09:06 ./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.ci20260712T090703-1\n++ echo 0.9.9.ci20260712T090703-1\n++ sed 's/-[^-]*$//'\n+ uv=0.9.9.ci20260712T090703\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../obnam_0.9.9.ci20260712T090703.orig.tar.xz\n+ deb=../obnam_0.9.9.ci20260712T090703-1_amd64.deb\n+ changes=../obnam_0.9.9.ci20260712T090703-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.74s\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.75s\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.ci20260712T090703-1_amd64.buildinfo\n dpkg-genchanges -O../obnam_0.9.9.ci20260712T090703-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb\n+ for x in ../*.deb\n+ dpkg -c ../obnam_0.9.9.ci20260712T090703-1_amd64.deb\n+ mv ../obnam-dbgsym_0.9.9.ci20260712T090703-1_amd64.deb ../obnam_0.9.9.ci20260712T090703-1.debian.tar.xz ../obnam_0.9.9.ci20260712T090703-1.dsc ../obnam_0.9.9.ci20260712T090703-1_amd64.buildinfo ../obnam_0.9.9.ci20260712T090703-1_amd64.changes ../obnam_0.9.9.ci20260712T090703-1_amd64.deb ../obnam_0.9.9.ci20260712T090703.orig.tar.xz /ci/artifacts/debian\n","timestamp":{"secs_since_epoch":1783847249,"nanos_since_epoch":800687625},"log_source":"Plan"}
{"type":"action_succeeded","action":"deb","packages":"debian","timestamp":{"secs_since_epoch":1783847249,"nanos_since_epoch":856306881},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847249,"nanos_since_epoch":907314761},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847252,"nanos_since_epoch":708070342},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847252,"nanos_since_epoch":708513073},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847252,"nanos_since_epoch":716470421},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783847252,"nanos_since_epoch":717035417},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783847252,"nanos_since_epoch":717245487},"log_source":"Plan"}
EXIT CODE: 0

Post-plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.16.0@da3268d
  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: 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. 1 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. 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. 2 ms: Execute action: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  14. 2 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  15. 2 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  16. 13 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  17. 13 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  18. 1669 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  19. 1672 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  20. 5173 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  21. 5175 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  22. 5186 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  23. 5189 ms: Execute action: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  24. 5198 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  25. 5199 ms: Execute action: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  26. 5199 ms: Start program: bash
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  27. 5213 ms: Program succeeded
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  28. 5217 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  29. 5219 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. 5226 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. 5227 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  32. 7786 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  33. 7786 ms: Execute action: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  34. 7797 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  35. 7798 ms: Plan succededThere was much rejoicing!
  36. 7798 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  ] 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-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  ] Started systemd-journald.service - Journal Service.
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
[  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-random-seed.service - Load/Save OS Random Seed.
[  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-journal-flush.ser…lush Journal to Persistent Storage.
[  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  ] 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-user-sessions.service - Permit User Sessions.
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  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-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  ] 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 umount.target - Unmount All Filesystems.
[  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  ] 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.712718] 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.8M  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-12 09:06 ./
-rw-r--r-- _rad/_rad      1209 2026-07-12 09:07 ./plan.yaml
-rwxr-xr-x _rad/_rad   5525824 2026-07-12 09:07 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Jul 12 09:06 .
       10   5400 -rwxr-xr-x   1 1000     1000      5525824 Jul 12 09:07 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1209 Jul 12 09:07 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.16.0@da3268d","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":870101301},"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":1783847263,"nanos_since_epoch":870740632},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":870926019},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":871465913},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":871672039},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":871702075},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":871881092},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":871907930},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872090205},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872114552},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872299554},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872325430},"log_source":"Plan"}
{"type":"execute_action","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872508644},"log_source":"Plan"}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872532432},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":872718297},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":883717679},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847263,"nanos_since_epoch":883810727},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1783847265,"nanos_since_epoch":540043109},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847265,"nanos_since_epoch":542789800},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":43233432},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":45937879},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":56220162},"log_source":"Plan"}
{"type":"execute_action","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":59557703},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":68564614},"log_source":"Plan"}
{"type":"execute_action","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":69116798},"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":1783847269,"nanos_since_epoch":69370129},"log_source":"Plan"}
{"type":"program_succeeded","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":83683537},"log_source":"Plan"}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":87171218},"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":1783847269,"nanos_since_epoch":90062577},"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":1783847269,"nanos_since_epoch":96765114},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847269,"nanos_since_epoch":97496271},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1783847271,"nanos_since_epoch":656485371},"log_source":"Plan"}
{"type":"execute_action","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847271,"nanos_since_epoch":656937964},"log_source":"Plan"}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1783847271,"nanos_since_epoch":667749682},"log_source":"Plan"}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1783847271,"nanos_since_epoch":668247830},"log_source":"Plan"}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1783847271,"nanos_since_epoch":668255510},"log_source":"Plan"}
EXIT CODE: 0