CI: SUCCESS sopass

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-03-10 04:42:01ZProgram: ambient-execute-plan
Version: 0.13.1@52633e5
plan: Runnable plan
After 0.00 seconds at 2026-03-10 04:42:01Z
steps:
- action: mkdir
  pathname: /ci
- action: mkdir
  pathname: /ci/artifacts
- 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: shell
  shell: ln -sf /ci /workspace
- action: shell
  shell: git config --global user.name 'Ambient CI'
- action: shell
  shell: git config --global user.email ambient@example.com
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_build
- action: shell
  shell: |
    make sopass.html userguide.html
    mkdir /ci/artifacts/rsync
    mv sopass.html userguide.html /ci/artifacts/rsync
- action: shell
  shell: |
    make OFFLINE="--offline --locked"
    git clean -fdx
- 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
workspace_dir: /ci
source_dir: /ci/src
deps_dir: /ci/deps
cache_dir: /ci/cache
artifacts_dir: /ci/artifacts
plan: Successful action mkdir: /ci
After 0.00 seconds at 2026-03-10 04:42:01Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-03-10 04:42:01Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-03-10 04:42:01Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.00 seconds at 2026-03-10 04:42:01Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-03-10 04:42:01Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-03-10 04:42:01Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.00 seconds at 2026-03-10 04:42:01Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-03-10 04:42:01Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-03-10 04:42:01Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.01 seconds at 2026-03-10 04:42:01Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-03-10 04:42:01Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-03-10 04:42:02Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 0.71 seconds at 2026-03-10 04:42:02Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-03-10 04:42:02Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-03-10 04:42:03Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 1.53 seconds at 2026-03-10 04:42:03Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 1.54 seconds at 2026-03-10 04:42:03Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stderr:
    + git config --global user.name 'Ambient CI'
    
  • plan: Action succeeded shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 1.56 seconds at 2026-03-10 04:42:03Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stderr:
    + git config --global user.email ambient@example.com
    
  • plan: Action succeeded shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action cargo_fmt
After 1.58 seconds at 2026-03-10 04:42:03Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-03-10 04:42:03Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    cargo 1.94.0 (85eff7c80 2026-01-15)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    clippy 0.1.94 (4a4ef493e3 2026-03-02)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    rustc 1.94.0 (4a4ef493e 2026-03-02)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-03-10 04:42:03Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 1.95 seconds at 2026-03-10 04:42:03Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-03-10 04:42:03Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    cargo 1.94.0 (85eff7c80 2026-01-15)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    clippy 0.1.94 (4a4ef493e3 2026-03-02)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:03Z
    Exit code: 0
    Stdout:
    rustc 1.94.0 (4a4ef493e 2026-03-02)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:03Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:04Z
    Exit code: 0
    Stderr:
        Checking sopass v0.6.0 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-03-10 04:42:04Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_build
After 2.88 seconds at 2026-03-10 04:42:04Z
  • plan: Start action cargo_build
    After 0.00 seconds at 2026-03-10 04:42:04Z
    CargoBuild(
        CargoBuild,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:04Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:04Z
    Exit code: 0
    Stdout:
    cargo 1.94.0 (85eff7c80 2026-01-15)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:04Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:04Z
    Exit code: 0
    Stdout:
    clippy 0.1.94 (4a4ef493e3 2026-03-02)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-03-10 04:42:04Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:04Z
    Exit code: 0
    Stdout:
    rustc 1.94.0 (4a4ef493e 2026-03-02)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-03-10 04:42:04Z
    • cargo
    • build
    • --offline
    • --locked
    • --workspace
    • --all-targets
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:05Z
    Exit code: 0
    Stderr:
       Compiling sopass v0.6.0 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.69s
    
  • plan: Action succeeded cargo_build
    After 0.00 seconds at 2026-03-10 04:42:05Z
    CargoBuild(
        CargoBuild,
    )
plan: Successful action shell: make sopass.html userguide.html mkdir /ci/artifacts/rsync mv sopass.html userguide.html /ci/artifacts/rsync
After 3.80 seconds at 2026-03-10 04:42:05Z
  • plan: Start action shell: make sopass.html userguide.html mkdir /ci/artifacts/rsync mv sopass.html userguide.html /ci/artifacts/rsync
    After 0.00 seconds at 2026-03-10 04:42:05Z
    Shell(
        Shell {
            shell: "make sopass.html userguide.html\nmkdir /ci/artifacts/rsync\nmv sopass.html userguide.html /ci/artifacts/rsync\n",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-03-10 04:42:05Z
    • bash
    • -c
    • set -xeuo pipefail make sopass.html userguide.html mkdir /ci/artifacts/rsync mv sopass.html userguide.html /ci/artifacts/rsync
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:05Z
    Exit code: 0
    Stdout:
    subplot docgen sopass.subplot -o sopass.html
    subplot docgen doc/userguide.subplot -o userguide.html
    
    Stderr:
    + make sopass.html userguide.html
     INFO Starting Subplot
     INFO Subplot finished successfully
     INFO Starting Subplot
     INFO Subplot finished successfully
    + mkdir /ci/artifacts/rsync
    + mv sopass.html userguide.html /ci/artifacts/rsync
    
  • plan: Action succeeded shell: make sopass.html userguide.html mkdir /ci/artifacts/rsync mv sopass.html userguide.html /ci/artifacts/rsync
    After 0.00 seconds at 2026-03-10 04:42:05Z
    Shell(
        Shell {
            shell: "make sopass.html userguide.html\nmkdir /ci/artifacts/rsync\nmv sopass.html userguide.html /ci/artifacts/rsync\n",
        },
    )
plan: Successful action shell: make OFFLINE="--offline --locked" git clean -fdx
After 3.90 seconds at 2026-03-10 04:42:05Z
  • plan: Start action shell: make OFFLINE="--offline --locked" git clean -fdx
    After 0.00 seconds at 2026-03-10 04:42:05Z
    Shell(
        Shell {
            shell: "make OFFLINE=\"--offline --locked\"\ngit clean -fdx\n",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-03-10 04:42:05Z
    • bash
    • -c
    • set -xeuo pipefail make OFFLINE="--offline --locked" git clean -fdx
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:07Z
    Exit code: 0
    Stdout:
    subplot docgen sopass.subplot -o sopass.html
    subplot docgen doc/userguide.subplot -o userguide.html
    cargo clippy --offline --locked --all-targets -- -Dwarnings
    cargo build --offline --locked --all-targets
    cargo test --offline --locked --all-targets
    
    running 0 tests
    
    test result: ok. 0 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
    
    cargo test --offline --locked --doc
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    cargo doc --offline --locked --no-deps
    rm -f test.py test.log
    subplot codegen sopass.subplot -o test.py
    SOPASS_LOG=trace python3 test.py --log test.log 
    srcdir /ci/src
    datadir /tmp/tmpd9nit3yx
    scenario: Renames values
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: when I run sopass init --name primary --key my.key
      step 5: given file value.dat
      step 6: when I run sopass value add foo --file value.dat
      step 7: when I run sopass value add foobar --file value.dat
      step 8: when I try to run sopass value rename ghost yo
      step 9: then command fails
      step 10: then stderr contains "ghost"
      step 11: when I try to run sopass value rename foo foobar
      step 12: then command fails
      step 13: then stderr contains "foobar"
      step 14: when I run sopass value rename foo yo
      step 15: when I run sopass value list
      step 16: then stdout is exactly "foobar\nyo\n"
    scenario: Manages certificates
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: given file other.key
      step 5: given file other.cert
      step 6: when I run sopass init --name primary --key my.key
      step 7: when I run sopass cert list
      step 8: then stdout is exactly "primary\n"
      step 9: when I run sopass cert add --name secondary --cert other.cert
      step 10: when I run sopass cert list
      step 11: then stdout contains "primary"
      step 12: then stdout contains "secondary"
      step 13: when I run mv other.key my.store/default.key
      step 14: when I run rm my.key
      step 15: when I run sopass cert list
      step 16: then stdout contains "primary"
      step 17: then stdout contains "secondary"
      step 18: when I run sopass cert remove primary
      step 19: when I run sopass cert list
      step 20: then stdout doesn't contain "primary"
      step 21: then stdout contains "secondary"
      step 22: when I try to run sopass cert remove secondary
      step 23: then command fails
      step 24: then stderr contains "secondary"
      step 25: when I run sopass cert list
      step 26: then stdout contains "secondary"
    scenario: Manages values
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: when I run sopass init --name primary --key my.key
      step 5: when I run sopass value list
      step 6: then stdout is exactly ""
      step 7: given file value.dat
      step 8: when I run sopass value add foo --file value.dat
      step 9: when I run sopass value list
      step 10: then stdout is exactly "foo\n"
      step 11: when I run sopass value show foo
      step 12: then stdout is exactly "bar\n"
      step 13: when I run sopass value remove foo
      step 14: then stdout is exactly ""
      step 15: given file add-stdin.sh
      step 16: when I run sh add-stdin.sh
      step 17: when I run sopass value list
      step 18: then stdout is exactly "foo\n"
      step 19: when I run sopass value show foo
      step 20: then stdout is exactly "bar\n"
      step 21: when I run sopass value remove foo
      step 22: then stdout is exactly ""
    scenario: Initializes the password store
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: then directory xyzzy does not exist
      step 5: when I run sopass init --name primary --key my.key
      step 6: then file my.store/values.sopass exists
    scenario: Rejects unknown field in configuration file
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file unknown.yaml
      step 3: when I try to run sopass --config unknown.yaml config
      step 4: then command fails
      step 5: then stderr contains "unknown"
    scenario: Imports from a file
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: given file value.dat
      step 5: given file yo.dat
      step 6: when I run sopass init --name primary --key my.key
      step 7: when I run sopass value add foo --file value.dat
      step 8: when I run sopass value add bar --file value.dat
      step 9: when I run sopass value add yo --file value.dat
      step 10: when I run sopass export store.json
      step 11: when I run sopass --store new init --name primary --key my.key
      step 12: when I run sopass --store new value add foo --file yo.dat
      step 13: when I run sopass --store new value add bar --file yo.dat
      step 14: when I run sopass --store new import store.json
      step 15: when I run sopass --store new value list
      step 16: then stdout contains "foo"
      step 17: then stdout contains "bar"
      step 18: then stdout contains "yo"
      step 19: when I run sopass --store new value show foo
      step 20: then stdout is exactly "bar\n"
      step 21: when I run sopass --store new value show bar
      step 22: then stdout is exactly "bar\n"
      step 23: when I run sopass --store new value show yo
      step 24: then stdout is exactly "bar\n"
    scenario: Generates a password
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: when I run sopass init --name primary --key my.key
      step 5: when I run sopass value generate foo
      step 6: when I run sopass value list
      step 7: then stdout is exactly "foo\n"
      step 8: when I run sopass value show foo
      step 9: then stdout isn't exactly ""
    scenario: Reports its version
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: when I run sopass --version
      step 4: then stdout matches regex ^sopass \\d+\\.\\d+\\.\\d+$
      step 5: when I run sopass version
      step 6: then stdout matches regex ^sopass \\d+\\.\\d+\\.\\d+$
    scenario: Exports store to file
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: when I run sopass init --name primary --key my.key
      step 5: given file value.dat
      step 6: when I run sopass value add foo --file value.dat
      step 7: when I run sopass export store.json
      step 8: when I run cat store.json
      step 9: then file store.json contains ""certs":"
      step 10: then file store.json contains ""primary":"
      step 11: then file store.json contains ""kv":"
      step 12: then file store.json contains ""foo":"
    scenario: Loads default configuration file
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from default.yaml
      step 3: when I run env HOME=. sopass config
      step 4: then stdout contains ""store": "/over/the/rainbow""
    scenario: Showing value that does not exist fails
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: given file .config/sopass/sopass.yml from config.yaml
      step 3: given file my.key
      step 4: when I run sopass init --name primary --key my.key
      step 5: when I try to run sopass value show foo
      step 6: then command fails
      step 7: then stderr contains "foo"
      step 8: then stdout is exactly ""
    scenario: Loads specified configuration file
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: when I try to run sopass --config custom.yaml config
      step 3: then command fails
      step 4: then stderr contains "custom.yaml"
      step 5: given file custom.yaml
      step 6: when I run sopass --config custom.yaml config
      step 7: then stdout contains ""sop": "soppy""
    scenario: Reports a default configuration
      step 1: given an installed sopass
    bindir /ci/cache/cargo-target/debug
      step 2: when I run sopass config
      step 3: then stdout contains ""store": "/"
      step 4: then stdout contains ""sop": ""
      step 5: then stdout contains ""key_file": ""
      step 6: then file .config/sopass/sopass.yml does not exist
    OK, all scenarios finished successfully
    rm -f test.py test.log
    Removing sopass.html
    Removing userguide.html
    
    Stderr:
    + make 'OFFLINE=--offline --locked'
     INFO Starting Subplot
     INFO Subplot finished successfully
     INFO Starting Subplot
     INFO Subplot finished successfully
        Checking sopass v0.6.0 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s
        Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/sopass-d5a5a97c3b9fe795)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/sopass-d4af35fa74f37713)
        Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
       Doc-tests sopass
     Documenting sopass v0.6.0 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s
       Generated /ci/cache/cargo-target/doc/sopass/index.html
     INFO Starting Subplot
     INFO Subplot finished successfully
    + git clean -fdx
    
  • plan: Action succeeded shell: make OFFLINE="--offline --locked" git clean -fdx
    After 0.00 seconds at 2026-03-10 04:42:07Z
    Shell(
        Shell {
            shell: "make OFFLINE=\"--offline --locked\"\ngit clean -fdx\n",
        },
    )
plan: Successful action custom: dch
After 6.32 seconds at 2026-03-10 04:42:07Z
  • plan: Start action custom: dch
    After 0.00 seconds at 2026-03-10 04:42:07Z
    Custom(
        Custom {
            name: "dch",
            args: {
                "debfullname": String("Lars Wirzenius"),
                "debemail": String("liw@liw.fi"),
            },
        },
    )
  • plan: Start action custom: dch
    After 0.00 seconds at 2026-03-10 04:42:07Z
    Custom {
        name: "dch",
        args: {
            "debemail": String("liw@liw.fi"),
            "debfullname": String("Lars Wirzenius"),
        },
    }
  • plan: Custom action output
    After 0.00 seconds at 2026-03-10 04:42:08Z
    Stdout:
    HEAD is now at 9acb427 ci: create target directory
    
    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:/sbin:/bin
    + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    + git reset --hard
    + git clean -fdx
    ++ dpkg-parsechangelog -SVersion
    ++ sed 's/-[^-]*$//'
    + V=0.6.0
    ++ date -u +%Y%m%dT%H%M%S
    + T=20260310T044208
    + version=0.6.0.ci20260310T044208-1
    + dch -v 0.6.0.ci20260310T044208-1 'CI build under Ambient.'
    + dch -r ''
    
  • plan: Action succeeded custom: dch
    After 0.00 seconds at 2026-03-10 04:42:08Z
    Custom(
        Custom {
            name: "dch",
            args: {
                "debemail": String("liw@liw.fi"),
                "debfullname": String("Lars Wirzenius"),
            },
        },
    )
plan: Successful action deb
After 6.52 seconds at 2026-03-10 04:42:08Z
  • plan: Start action deb
    After 0.00 seconds at 2026-03-10 04:42:08Z
    Deb(
        Deb {
            packages: Some(
                "debian",
            ),
        },
    )
  • plan: Start program /bin/bash
    After 0.00 seconds at 2026-03-10 04:42:08Z
    • /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
  • plan: Program succeeded
    After 0.00 seconds at 2026-03-10 04:42:14Z
    Exit code: 0
    Stdout:
    PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    DEBFULLNAME=Lars Wirzenius
    CARGO_TARGET_DIR=/ci/cache/cargo-target
    PWD=/ci/src
    SYSTEMD_EXEC_PID=281
    HOME=/root
    LANG=C.UTF-8
    CARGO_HOME=/ci/deps
    DEBEMAIL=liw@liw.fi
    INVOCATION_ID=e5daf333104a447c9c4c0364a7d01cdb
    SHLVL=2
    JOURNAL_STREAM=8:12139
    PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    OLDPWD=/
    _=/bin/env
    /root/.cargo/bin/cargo
    /root/.cargo/bin/rustc
    cargo 1.94.0 (85eff7c80 2026-01-15)
    rustc 1.94.0 (4a4ef493e 2026-03-02)
    dpkg-buildpackage: info: source package sopass
    dpkg-buildpackage: info: source version 0.6.0.ci20260310T044208-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 sopass using existing ./sopass_0.6.0.ci20260310T044208.orig.tar.xz
    dpkg-source: info: building sopass in sopass_0.6.0.ci20260310T044208-1.debian.tar.xz
    dpkg-source: info: building sopass in sopass_0.6.0.ci20260310T044208-1.dsc
    dh build
       dh_update_autotools_config
       dh_autoreconf
       dh_auto_configure
       debian/rules override_dh_auto_build
    make[1]: Entering directory '/ci/src'
    true
    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 binary
       dh_testroot
       dh_prep
       debian/rules override_dh_auto_install
    make[1]: Entering directory '/ci/src'
    cargo install --offline --locked --target x86_64-unknown-linux-musl --path=. --root=debian/sopass/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 'sopass' in '../sopass_0.6.0.ci20260310T044208-1_amd64.deb'.
    dpkg-deb: building package 'sopass-dbgsym' in '../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb'.
    dpkg-genchanges: info: including full source code in upload
    dpkg-buildpackage: info: full upload (original source is included)
    total 1144
    drwxr-xr-x 4 root root   4096 Mar 10 04:42 artifacts
    drwxr-xr-x 3 root root   4096 Mar 10 04:40 cache
    drwxr-xr-x 3 root root   4096 Mar 10 04:38 deps
    -rw-r--r-- 1 root root 128584 Mar 10 04:42 sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb
    -rw-r--r-- 1 root root   2324 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1.debian.tar.xz
    -rw-r--r-- 1 root root    926 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1.dsc
    -rw-r--r-- 1 root root   5779 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo
    -rw-r--r-- 1 root root   2335 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.changes
    -rw-r--r-- 1 root root 970996 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.deb
    -rw-r--r-- 1 root root  27504 Mar 10 04:42 sopass_0.6.0.ci20260310T044208.orig.tar.xz
    drwxr-xr-x 8 root root   4096 Mar 10 04:42 src
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/.build-id/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/.build-id/ca/
    -rw-r--r-- root/root    653760 2026-03-10 04:42 ./usr/lib/debug/.build-id/ca/ccc2c6322f8dafe7a8ce023c8f1ae8affbcb5a.debug
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/
    lrwxrwxrwx root/root         0 2026-03-10 04:42 ./usr/share/doc/sopass-dbgsym -> sopass
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/bin/
    -rwxr-xr-x root/root   2954040 2026-03-10 04:42 ./usr/bin/sopass
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/sopass/
    -rw-r--r-- root/root       312 2026-03-10 04:42 ./usr/share/doc/sopass/changelog.Debian.gz
    -rw-r--r-- root/root      1150 2026-03-10 04:42 ./usr/share/doc/sopass/copyright
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/lintian/
    drwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/lintian/overrides/
    -rw-r--r-- root/root       173 2026-03-10 04:42 ./usr/share/lintian/overrides/sopass
    
    Stderr:
    + echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
    + export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/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=sopass
    ++ dpkg-parsechangelog -SVersion
    + version=0.6.0.ci20260310T044208-1
    ++ echo 0.6.0.ci20260310T044208-1
    ++ sed 's/-[^-]*$//'
    + uv=0.6.0.ci20260310T044208
    ++ dpkg --print-architecture
    + arch=amd64
    + orig=../sopass_0.6.0.ci20260310T044208.orig.tar.xz
    + deb=../sopass_0.6.0.ci20260310T044208-1_amd64.deb
    + changes=../sopass_0.6.0.ci20260310T044208-1_amd64.changes
    + git archive HEAD
    + xz
    + dpkg-buildpackage -us -uc
     dpkg-source --before-build .
     debian/rules clean
     dpkg-source -b .
     debian/rules build
     debian/rules binary
      Installing sopass v0.6.0 (/ci/src)
       Compiling sopass v0.6.0 (/ci/src)
        Finished `release` profile [optimized] target(s) in 3.69s
      Installing /ci/src/debian/sopass/usr/bin/sopass
       Installed package `sopass v0.6.0 (/ci/src)` (executable `sopass`)
    warning: be sure to add `/ci/src/debian/sopass/usr/bin` to your PATH to be able to run the installed binaries
    dpkg-shlibdeps: warning: couldn't parse dynamic symbol definition: no symbols
    dpkg-gencontrol: warning: Depends field of package sopass: substitution variable ${shlibs:Depends} used, but is not defined
    dpkg-gencontrol: warning: Depends field of package sopass: substitution variable ${shlibs:Depends} used, but is not defined
     dpkg-genbuildinfo -O../sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo
     dpkg-genchanges -O../sopass_0.6.0.ci20260310T044208-1_amd64.changes
     dpkg-source --after-build .
    + ls -l ..
    + for x in ../*.deb
    + dpkg -c ../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb
    + for x in ../*.deb
    + dpkg -c ../sopass_0.6.0.ci20260310T044208-1_amd64.deb
    + mv ../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb ../sopass_0.6.0.ci20260310T044208-1.debian.tar.xz ../sopass_0.6.0.ci20260310T044208-1.dsc ../sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo ../sopass_0.6.0.ci20260310T044208-1_amd64.changes ../sopass_0.6.0.ci20260310T044208-1_amd64.deb ../sopass_0.6.0.ci20260310T044208.orig.tar.xz /ci/artifacts/debian
    
  • plan: Action succeeded deb
    After 0.00 seconds at 2026-03-10 04:42:14Z
    Deb(
        Deb {
            packages: Some(
                "debian",
            ),
        },
    )
plan: Successful action tar_create
After 13.20 seconds at 2026-03-10 04:42:14Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-03-10 04:42:14Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-03-10 04:42:15Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action tar_create
After 14.01 seconds at 2026-03-10 04:42:15Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-03-10 04:42:15Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-03-10 04:42:15Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
plan: Plan succeeded
After 14.02 seconds at 2026-03-10 04:42:15ZHopefully all is good.

Raw log messages for Ambient troubleshooting

Raw log messages

These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.

  1. {
      "type": "executor_starts",
      "name": "ambient-execute-plan",
      "version": "0.13.1@52633e5",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 651194534
      },
      "log_source": "Plan"
    }
  2. {
      "type": "runnable_plan",
      "steps": [
        {
          "action": "mkdir",
          "pathname": "/ci"
        },
        {
          "action": "mkdir",
          "pathname": "/ci/artifacts"
        },
        {
          "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": "shell",
          "shell": "ln -sf /ci /workspace"
        },
        {
          "action": "shell",
          "shell": "git config --global user.name 'Ambient CI'"
        },
        {
          "action": "shell",
          "shell": "git config --global user.email ambient@example.com"
        },
        {
          "action": "cargo_fmt"
        },
        {
          "action": "cargo_clippy"
        },
        {
          "action": "cargo_build"
        },
        {
          "action": "shell",
          "shell": "make sopass.html userguide.html\nmkdir /ci/artifacts/rsync\nmv sopass.html userguide.html /ci/artifacts/rsync\n"
        },
        {
          "action": "shell",
          "shell": "make OFFLINE=\"--offline --locked\"\ngit clean -fdx\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",
      "workspace_dir": "/ci",
      "source_dir": "/ci/src",
      "deps_dir": "/ci/deps",
      "cache_dir": "/ci/cache",
      "artifacts_dir": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 651572709
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 651798118
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 652049569
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 652212383
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 652240871
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 652425920
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 664117999
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1773117721,
        "nanos_since_epoch": 664301241
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1773117722,
        "nanos_since_epoch": 355226097
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1773117722,
        "nanos_since_epoch": 357898080
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 175497972
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 178192296
      },
      "log_source": "Plan"
    }
  14. {
      "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": 1773117723,
        "nanos_since_epoch": 180577246
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 187831533
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 190453025
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 192852643
      },
      "log_source": "Plan"
    }
  18. {
      "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,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            110,
            97,
            109,
            101,
            32,
            39,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            32,
            67,
            73,
            39,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 195529560
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 205949998
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 208867521
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 211551582
      },
      "log_source": "Plan"
    }
  22. {
      "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,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            101,
            109,
            97,
            105,
            108,
            32,
            97,
            109,
            98,
            105,
            101,
            110,
            116,
            64,
            101,
            120,
            97,
            109,
            112,
            108,
            101,
            46,
            99,
            111,
            109,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 214334465
      },
      "log_source": "Plan"
    }
  23. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.email ambient@example.com\n",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 222437476
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 225445999
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 228191276
      },
      "log_source": "Plan"
    }
  26. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 230158156
      },
      "log_source": "Plan"
    }
  27. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.94.0 (85eff7c80 2026-01-15)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 285896421
      },
      "log_source": "Plan"
    }
  28. {
      "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": 1773117723,
        "nanos_since_epoch": 288654548
      },
      "log_source": "Plan"
    }
  29. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.94 (4a4ef493e3 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 392109235
      },
      "log_source": "Plan"
    }
  30. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 392148200
      },
      "log_source": "Plan"
    }
  31. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.94.0 (4a4ef493e 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 439088051
      },
      "log_source": "Plan"
    }
  32. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            102,
            109,
            116
          ]
        },
        {
          "Unix": [
            45,
            45,
            99,
            104,
            101,
            99,
            107
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 441868299
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 597385744
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 599603510
      },
      "log_source": "Plan"
    }
  35. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 601570126
      },
      "log_source": "Plan"
    }
  36. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 603541051
      },
      "log_source": "Plan"
    }
  37. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.94.0 (85eff7c80 2026-01-15)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 640692026
      },
      "log_source": "Plan"
    }
  38. {
      "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": 1773117723,
        "nanos_since_epoch": 643464321
      },
      "log_source": "Plan"
    }
  39. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.94 (4a4ef493e3 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 725652939
      },
      "log_source": "Plan"
    }
  40. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 725693534
      },
      "log_source": "Plan"
    }
  41. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.94.0 (4a4ef493e 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117723,
        "nanos_since_epoch": 769424849
      },
      "log_source": "Plan"
    }
  42. {
      "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": 1773117723,
        "nanos_since_epoch": 769469188
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "    Checking sopass v0.6.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s\n",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 533697082
      },
      "log_source": "Plan"
    }
  44. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 533730416
      },
      "log_source": "Plan"
    }
  45. {
      "type": "execute_action",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 533735664
      },
      "log_source": "Plan"
    }
  46. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 533744068
      },
      "log_source": "Plan"
    }
  47. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.94.0 (85eff7c80 2026-01-15)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 578486072
      },
      "log_source": "Plan"
    }
  48. {
      "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": 1773117724,
        "nanos_since_epoch": 581277967
      },
      "log_source": "Plan"
    }
  49. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.94 (4a4ef493e3 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 663157604
      },
      "log_source": "Plan"
    }
  50. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 665910782
      },
      "log_source": "Plan"
    }
  51. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.94.0 (4a4ef493e 2026-03-02)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1773117724,
        "nanos_since_epoch": 707516089
      },
      "log_source": "Plan"
    }
  52. {
      "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": 1773117724,
        "nanos_since_epoch": 710250358
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "   Compiling sopass v0.6.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.69s\n",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 453886551
      },
      "log_source": "Plan"
    }
  54. {
      "type": "action_succeeded",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 453920513
      },
      "log_source": "Plan"
    }
  55. {
      "type": "execute_action",
      "action": "shell",
      "shell": "make sopass.html userguide.html\nmkdir /ci/artifacts/rsync\nmv sopass.html userguide.html /ci/artifacts/rsync\n",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 453926086
      },
      "log_source": "Plan"
    }
  56. {
      "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,
            109,
            97,
            107,
            101,
            32,
            115,
            111,
            112,
            97,
            115,
            115,
            46,
            104,
            116,
            109,
            108,
            32,
            117,
            115,
            101,
            114,
            103,
            117,
            105,
            100,
            101,
            46,
            104,
            116,
            109,
            108,
            10,
            109,
            107,
            100,
            105,
            114,
            32,
            47,
            99,
            105,
            47,
            97,
            114,
            116,
            105,
            102,
            97,
            99,
            116,
            115,
            47,
            114,
            115,
            121,
            110,
            99,
            10,
            109,
            118,
            32,
            115,
            111,
            112,
            97,
            115,
            115,
            46,
            104,
            116,
            109,
            108,
            32,
            117,
            115,
            101,
            114,
            103,
            117,
            105,
            100,
            101,
            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": 1773117725,
        "nanos_since_epoch": 453935948
      },
      "log_source": "Plan"
    }
  57. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "subplot docgen sopass.subplot -o sopass.html\nsubplot docgen doc/userguide.subplot -o userguide.html\n",
      "stderr": "+ make sopass.html userguide.html\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n+ mkdir /ci/artifacts/rsync\n+ mv sopass.html userguide.html /ci/artifacts/rsync\n",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 552276256
      },
      "log_source": "Plan"
    }
  58. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "make sopass.html userguide.html\nmkdir /ci/artifacts/rsync\nmv sopass.html userguide.html /ci/artifacts/rsync\n",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 552310685
      },
      "log_source": "Plan"
    }
  59. {
      "type": "execute_action",
      "action": "shell",
      "shell": "make OFFLINE=\"--offline --locked\"\ngit clean -fdx\n",
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 552316570
      },
      "log_source": "Plan"
    }
  60. {
      "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,
            109,
            97,
            107,
            101,
            32,
            79,
            70,
            70,
            76,
            73,
            78,
            69,
            61,
            34,
            45,
            45,
            111,
            102,
            102,
            108,
            105,
            110,
            101,
            32,
            45,
            45,
            108,
            111,
            99,
            107,
            101,
            100,
            34,
            10,
            103,
            105,
            116,
            32,
            99,
            108,
            101,
            97,
            110,
            32,
            45,
            102,
            100,
            120,
            10,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1773117725,
        "nanos_since_epoch": 552326063
      },
      "log_source": "Plan"
    }
  61. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "subplot docgen sopass.subplot -o sopass.html\nsubplot docgen doc/userguide.subplot -o userguide.html\ncargo clippy --offline --locked --all-targets -- -Dwarnings\ncargo build --offline --locked --all-targets\ncargo test --offline --locked --all-targets\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 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\ncargo test --offline --locked --doc\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\ncargo doc --offline --locked --no-deps\nrm -f test.py test.log\nsubplot codegen sopass.subplot -o test.py\nSOPASS_LOG=trace python3 test.py --log test.log \nsrcdir /ci/src\ndatadir /tmp/tmpd9nit3yx\nscenario: Renames values\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: when I run sopass init --name primary --key my.key\n  step 5: given file value.dat\n  step 6: when I run sopass value add foo --file value.dat\n  step 7: when I run sopass value add foobar --file value.dat\n  step 8: when I try to run sopass value rename ghost yo\n  step 9: then command fails\n  step 10: then stderr contains \"ghost\"\n  step 11: when I try to run sopass value rename foo foobar\n  step 12: then command fails\n  step 13: then stderr contains \"foobar\"\n  step 14: when I run sopass value rename foo yo\n  step 15: when I run sopass value list\n  step 16: then stdout is exactly \"foobar\\nyo\\n\"\nscenario: Manages certificates\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: given file other.key\n  step 5: given file other.cert\n  step 6: when I run sopass init --name primary --key my.key\n  step 7: when I run sopass cert list\n  step 8: then stdout is exactly \"primary\\n\"\n  step 9: when I run sopass cert add --name secondary --cert other.cert\n  step 10: when I run sopass cert list\n  step 11: then stdout contains \"primary\"\n  step 12: then stdout contains \"secondary\"\n  step 13: when I run mv other.key my.store/default.key\n  step 14: when I run rm my.key\n  step 15: when I run sopass cert list\n  step 16: then stdout contains \"primary\"\n  step 17: then stdout contains \"secondary\"\n  step 18: when I run sopass cert remove primary\n  step 19: when I run sopass cert list\n  step 20: then stdout doesn't contain \"primary\"\n  step 21: then stdout contains \"secondary\"\n  step 22: when I try to run sopass cert remove secondary\n  step 23: then command fails\n  step 24: then stderr contains \"secondary\"\n  step 25: when I run sopass cert list\n  step 26: then stdout contains \"secondary\"\nscenario: Manages values\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: when I run sopass init --name primary --key my.key\n  step 5: when I run sopass value list\n  step 6: then stdout is exactly \"\"\n  step 7: given file value.dat\n  step 8: when I run sopass value add foo --file value.dat\n  step 9: when I run sopass value list\n  step 10: then stdout is exactly \"foo\\n\"\n  step 11: when I run sopass value show foo\n  step 12: then stdout is exactly \"bar\\n\"\n  step 13: when I run sopass value remove foo\n  step 14: then stdout is exactly \"\"\n  step 15: given file add-stdin.sh\n  step 16: when I run sh add-stdin.sh\n  step 17: when I run sopass value list\n  step 18: then stdout is exactly \"foo\\n\"\n  step 19: when I run sopass value show foo\n  step 20: then stdout is exactly \"bar\\n\"\n  step 21: when I run sopass value remove foo\n  step 22: then stdout is exactly \"\"\nscenario: Initializes the password store\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: then directory xyzzy does not exist\n  step 5: when I run sopass init --name primary --key my.key\n  step 6: then file my.store/values.sopass exists\nscenario: Rejects unknown field in configuration file\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file unknown.yaml\n  step 3: when I try to run sopass --config unknown.yaml config\n  step 4: then command fails\n  step 5: then stderr contains \"unknown\"\nscenario: Imports from a file\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: given file value.dat\n  step 5: given file yo.dat\n  step 6: when I run sopass init --name primary --key my.key\n  step 7: when I run sopass value add foo --file value.dat\n  step 8: when I run sopass value add bar --file value.dat\n  step 9: when I run sopass value add yo --file value.dat\n  step 10: when I run sopass export store.json\n  step 11: when I run sopass --store new init --name primary --key my.key\n  step 12: when I run sopass --store new value add foo --file yo.dat\n  step 13: when I run sopass --store new value add bar --file yo.dat\n  step 14: when I run sopass --store new import store.json\n  step 15: when I run sopass --store new value list\n  step 16: then stdout contains \"foo\"\n  step 17: then stdout contains \"bar\"\n  step 18: then stdout contains \"yo\"\n  step 19: when I run sopass --store new value show foo\n  step 20: then stdout is exactly \"bar\\n\"\n  step 21: when I run sopass --store new value show bar\n  step 22: then stdout is exactly \"bar\\n\"\n  step 23: when I run sopass --store new value show yo\n  step 24: then stdout is exactly \"bar\\n\"\nscenario: Generates a password\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: when I run sopass init --name primary --key my.key\n  step 5: when I run sopass value generate foo\n  step 6: when I run sopass value list\n  step 7: then stdout is exactly \"foo\\n\"\n  step 8: when I run sopass value show foo\n  step 9: then stdout isn't exactly \"\"\nscenario: Reports its version\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: when I run sopass --version\n  step 4: then stdout matches regex ^sopass \\\\d+\\\\.\\\\d+\\\\.\\\\d+$\n  step 5: when I run sopass version\n  step 6: then stdout matches regex ^sopass \\\\d+\\\\.\\\\d+\\\\.\\\\d+$\nscenario: Exports store to file\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: when I run sopass init --name primary --key my.key\n  step 5: given file value.dat\n  step 6: when I run sopass value add foo --file value.dat\n  step 7: when I run sopass export store.json\n  step 8: when I run cat store.json\n  step 9: then file store.json contains \"\"certs\":\"\n  step 10: then file store.json contains \"\"primary\":\"\n  step 11: then file store.json contains \"\"kv\":\"\n  step 12: then file store.json contains \"\"foo\":\"\nscenario: Loads default configuration file\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from default.yaml\n  step 3: when I run env HOME=. sopass config\n  step 4: then stdout contains \"\"store\": \"/over/the/rainbow\"\"\nscenario: Showing value that does not exist fails\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: given file .config/sopass/sopass.yml from config.yaml\n  step 3: given file my.key\n  step 4: when I run sopass init --name primary --key my.key\n  step 5: when I try to run sopass value show foo\n  step 6: then command fails\n  step 7: then stderr contains \"foo\"\n  step 8: then stdout is exactly \"\"\nscenario: Loads specified configuration file\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: when I try to run sopass --config custom.yaml config\n  step 3: then command fails\n  step 4: then stderr contains \"custom.yaml\"\n  step 5: given file custom.yaml\n  step 6: when I run sopass --config custom.yaml config\n  step 7: then stdout contains \"\"sop\": \"soppy\"\"\nscenario: Reports a default configuration\n  step 1: given an installed sopass\nbindir /ci/cache/cargo-target/debug\n  step 2: when I run sopass config\n  step 3: then stdout contains \"\"store\": \"/\"\n  step 4: then stdout contains \"\"sop\": \"\"\n  step 5: then stdout contains \"\"key_file\": \"\"\n  step 6: then file .config/sopass/sopass.yml does not exist\nOK, all scenarios finished successfully\nrm -f test.py test.log\nRemoving sopass.html\nRemoving userguide.html\n",
      "stderr": "+ make 'OFFLINE=--offline --locked'\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n    Checking sopass v0.6.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/sopass-d5a5a97c3b9fe795)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/sopass-d4af35fa74f37713)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s\n   Doc-tests sopass\n Documenting sopass v0.6.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s\n   Generated /ci/cache/cargo-target/doc/sopass/index.html\n INFO Starting Subplot\n INFO Subplot finished successfully\n+ git clean -fdx\n",
      "timestamp": {
        "secs_since_epoch": 1773117727,
        "nanos_since_epoch": 831072129
      },
      "log_source": "Plan"
    }
  62. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "make OFFLINE=\"--offline --locked\"\ngit clean -fdx\n",
      "timestamp": {
        "secs_since_epoch": 1773117727,
        "nanos_since_epoch": 964816283
      },
      "log_source": "Plan"
    }
  63. {
      "type": "execute_action",
      "action": "custom",
      "name": "dch",
      "args": {
        "debfullname": "Lars Wirzenius",
        "debemail": "liw@liw.fi"
      },
      "timestamp": {
        "secs_since_epoch": 1773117727,
        "nanos_since_epoch": 967614586
      },
      "log_source": "Plan"
    }
  64. {
      "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": 1773117727,
        "nanos_since_epoch": 970547193
      },
      "log_source": "Plan"
    }
  65. {
      "type": "custom_action_output",
      "stdout": [
        72,
        69,
        65,
        68,
        32,
        105,
        115,
        32,
        110,
        111,
        119,
        32,
        97,
        116,
        32,
        57,
        97,
        99,
        98,
        52,
        50,
        55,
        32,
        99,
        105,
        58,
        32,
        99,
        114,
        101,
        97,
        116,
        101,
        32,
        116,
        97,
        114,
        103,
        101,
        116,
        32,
        100,
        105,
        114,
        101,
        99,
        116,
        111,
        114,
        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,
        58,
        47,
        115,
        98,
        105,
        110,
        58,
        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,
        58,
        47,
        115,
        98,
        105,
        110,
        58,
        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,
        54,
        46,
        48,
        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,
        51,
        49,
        48,
        84,
        48,
        52,
        52,
        50,
        48,
        56,
        10,
        43,
        32,
        118,
        101,
        114,
        115,
        105,
        111,
        110,
        61,
        48,
        46,
        54,
        46,
        48,
        46,
        99,
        105,
        50,
        48,
        50,
        54,
        48,
        51,
        49,
        48,
        84,
        48,
        52,
        52,
        50,
        48,
        56,
        45,
        49,
        10,
        43,
        32,
        100,
        99,
        104,
        32,
        45,
        118,
        32,
        48,
        46,
        54,
        46,
        48,
        46,
        99,
        105,
        50,
        48,
        50,
        54,
        48,
        51,
        49,
        48,
        84,
        48,
        52,
        52,
        50,
        48,
        56,
        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": 1773117728,
        "nanos_since_epoch": 166320582
      },
      "log_source": "Plan"
    }
  66. {
      "type": "action_succeeded",
      "action": "custom",
      "name": "dch",
      "args": {
        "debemail": "liw@liw.fi",
        "debfullname": "Lars Wirzenius"
      },
      "timestamp": {
        "secs_since_epoch": 1773117728,
        "nanos_since_epoch": 166583841
      },
      "log_source": "Plan"
    }
  67. {
      "type": "execute_action",
      "action": "deb",
      "packages": "debian",
      "timestamp": {
        "secs_since_epoch": 1773117728,
        "nanos_since_epoch": 166993166
      },
      "log_source": "Plan"
    }
  68. {
      "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": 1773117728,
        "nanos_since_epoch": 167042482
      },
      "log_source": "Plan"
    }
  69. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=281\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=e5daf333104a447c9c4c0364a7d01cdb\nSHLVL=2\nJOURNAL_STREAM=8:12139\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\nOLDPWD=/\n_=/bin/env\n/root/.cargo/bin/cargo\n/root/.cargo/bin/rustc\ncargo 1.94.0 (85eff7c80 2026-01-15)\nrustc 1.94.0 (4a4ef493e 2026-03-02)\ndpkg-buildpackage: info: source package sopass\ndpkg-buildpackage: info: source version 0.6.0.ci20260310T044208-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 sopass using existing ./sopass_0.6.0.ci20260310T044208.orig.tar.xz\ndpkg-source: info: building sopass in sopass_0.6.0.ci20260310T044208-1.debian.tar.xz\ndpkg-source: info: building sopass in sopass_0.6.0.ci20260310T044208-1.dsc\ndh build\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'\ntrue\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\ndh binary\n   dh_testroot\n   dh_prep\n   debian/rules override_dh_auto_install\nmake[1]: Entering directory '/ci/src'\ncargo install --offline --locked --target x86_64-unknown-linux-musl --path=. --root=debian/sopass/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 'sopass' in '../sopass_0.6.0.ci20260310T044208-1_amd64.deb'.\ndpkg-deb: building package 'sopass-dbgsym' in '../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 1144\ndrwxr-xr-x 4 root root   4096 Mar 10 04:42 artifacts\ndrwxr-xr-x 3 root root   4096 Mar 10 04:40 cache\ndrwxr-xr-x 3 root root   4096 Mar 10 04:38 deps\n-rw-r--r-- 1 root root 128584 Mar 10 04:42 sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb\n-rw-r--r-- 1 root root   2324 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1.debian.tar.xz\n-rw-r--r-- 1 root root    926 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1.dsc\n-rw-r--r-- 1 root root   5779 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo\n-rw-r--r-- 1 root root   2335 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.changes\n-rw-r--r-- 1 root root 970996 Mar 10 04:42 sopass_0.6.0.ci20260310T044208-1_amd64.deb\n-rw-r--r-- 1 root root  27504 Mar 10 04:42 sopass_0.6.0.ci20260310T044208.orig.tar.xz\ndrwxr-xr-x 8 root root   4096 Mar 10 04:42 src\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/.build-id/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/lib/debug/.build-id/ca/\n-rw-r--r-- root/root    653760 2026-03-10 04:42 ./usr/lib/debug/.build-id/ca/ccc2c6322f8dafe7a8ce023c8f1ae8affbcb5a.debug\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/\nlrwxrwxrwx root/root         0 2026-03-10 04:42 ./usr/share/doc/sopass-dbgsym -> sopass\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/bin/\n-rwxr-xr-x root/root   2954040 2026-03-10 04:42 ./usr/bin/sopass\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/doc/sopass/\n-rw-r--r-- root/root       312 2026-03-10 04:42 ./usr/share/doc/sopass/changelog.Debian.gz\n-rw-r--r-- root/root      1150 2026-03-10 04:42 ./usr/share/doc/sopass/copyright\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/lintian/\ndrwxr-xr-x root/root         0 2026-03-10 04:42 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root       173 2026-03-10 04:42 ./usr/share/lintian/overrides/sopass\n",
      "stderr": "+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/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=sopass\n++ dpkg-parsechangelog -SVersion\n+ version=0.6.0.ci20260310T044208-1\n++ echo 0.6.0.ci20260310T044208-1\n++ sed 's/-[^-]*$//'\n+ uv=0.6.0.ci20260310T044208\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../sopass_0.6.0.ci20260310T044208.orig.tar.xz\n+ deb=../sopass_0.6.0.ci20260310T044208-1_amd64.deb\n+ changes=../sopass_0.6.0.ci20260310T044208-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 build\n debian/rules binary\n  Installing sopass v0.6.0 (/ci/src)\n   Compiling sopass v0.6.0 (/ci/src)\n    Finished `release` profile [optimized] target(s) in 3.69s\n  Installing /ci/src/debian/sopass/usr/bin/sopass\n   Installed package `sopass v0.6.0 (/ci/src)` (executable `sopass`)\nwarning: be sure to add `/ci/src/debian/sopass/usr/bin` to your PATH to be able to run the installed binaries\ndpkg-shlibdeps: warning: couldn't parse dynamic symbol definition: no symbols\ndpkg-gencontrol: warning: Depends field of package sopass: substitution variable ${shlibs:Depends} used, but is not defined\ndpkg-gencontrol: warning: Depends field of package sopass: substitution variable ${shlibs:Depends} used, but is not defined\n dpkg-genbuildinfo -O../sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo\n dpkg-genchanges -O../sopass_0.6.0.ci20260310T044208-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb\n+ for x in ../*.deb\n+ dpkg -c ../sopass_0.6.0.ci20260310T044208-1_amd64.deb\n+ mv ../sopass-dbgsym_0.6.0.ci20260310T044208-1_amd64.deb ../sopass_0.6.0.ci20260310T044208-1.debian.tar.xz ../sopass_0.6.0.ci20260310T044208-1.dsc ../sopass_0.6.0.ci20260310T044208-1_amd64.buildinfo ../sopass_0.6.0.ci20260310T044208-1_amd64.changes ../sopass_0.6.0.ci20260310T044208-1_amd64.deb ../sopass_0.6.0.ci20260310T044208.orig.tar.xz /ci/artifacts/debian\n",
      "timestamp": {
        "secs_since_epoch": 1773117734,
        "nanos_since_epoch": 800104732
      },
      "log_source": "Plan"
    }
  70. {
      "type": "action_succeeded",
      "action": "deb",
      "packages": "debian",
      "timestamp": {
        "secs_since_epoch": 1773117734,
        "nanos_since_epoch": 851004767
      },
      "log_source": "Plan"
    }
  71. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1773117734,
        "nanos_since_epoch": 851185356
      },
      "log_source": "Plan"
    }
  72. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1773117735,
        "nanos_since_epoch": 657200769
      },
      "log_source": "Plan"
    }
  73. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1773117735,
        "nanos_since_epoch": 660319196
      },
      "log_source": "Plan"
    }
  74. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1773117735,
        "nanos_since_epoch": 666372004
      },
      "log_source": "Plan"
    }
  75. {
      "type": "plan_succeeded",
      "timestamp": {
        "secs_since_epoch": 1773117735,
        "nanos_since_epoch": 669508569
      },
      "log_source": "Plan"
    }
  76. {
      "type": "executor_ends_successfully",
      "timestamp": {
        "secs_since_epoch": 1773117735,
        "nanos_since_epoch": 671226394
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:z4ExzU1jYHivznhtDPvuTL9z5Ebit",
    "name": "sopass",
    "description": "A command line password manager using SOP",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
    ]
  },
  "pusher": {
    "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
    "alias": "liw"
  },
  "before": "9acb427d4a09f779a7672e4f83f69154deb5450d",
  "after": "9acb427d4a09f779a7672e4f83f69154deb5450d",
  "branch": "main",
  "commits": [
    "9acb427d4a09f779a7672e4f83f69154deb5450d",
    "6c869dfa9ca1ca5e438f24d1fe0da5854ed40ce0",
    "8d5999010c9fc1ee16ce2bfafa176764aefcae7b"
  ]
}

Ambient stdout

run CI for rad:z4ExzU1jYHivznhtDPvuTL9z5Ebit

Ambient stderr

<empty log>