These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.
{
"type": "executor_starts",
"name": "ambient-execute-plan",
"version": "0.14.0@c37ec71",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 922353041
},
"log_source": "Plan"
}{
"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_clippy"
},
{
"action": "cargo_build"
},
{
"action": "cargo_test"
},
{
"action": "shell",
"shell": "export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n"
},
{
"action": "custom",
"name": "dch",
"args": {
"debemail": "liw@liw.fi",
"debfullname": "Lars Wirzenius"
}
},
{
"action": "deb",
"packages": "debian"
},
{
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache"
},
{
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts"
}
],
"executor_drive": "/dev/vdb",
"source_drive": "/dev/vdc",
"artifact_drive": "/dev/vdd",
"cache_drive": "/dev/vde",
"deps_drive": "/dev/vdf",
"workspace_dir": "/ci",
"source_dir": "/ci/src",
"deps_dir": "/ci/deps",
"cache_dir": "/ci/cache",
"artifacts_dir": "/ci/artifacts",
"envs": {},
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 922980052
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 923206338
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 923449241
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 923601197
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "mkdir",
"pathname": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 923627966
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 923805484
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdc",
"directory": "/ci/src",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 956965549
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1780118861,
"nanos_since_epoch": 957396823
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vdf",
"directory": "/ci/deps",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 484532131
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 485061189
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_extract",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 491287814
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 491725352
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
108,
110,
32,
45,
115,
102,
32,
47,
99,
105,
32,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 491940153
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ ln -sf /ci /workspace\n",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 503068342
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "ln -sf /ci /workspace",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 503512661
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 503721152
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
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": 1780118863,
"nanos_since_epoch": 503730074
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.name 'Ambient CI'\n",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 520209343
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.name 'Ambient CI'",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 520678707
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 520886979
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
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": 1780118863,
"nanos_since_epoch": 520896690
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": "+ git config --global user.email ambient@example.com\n",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 536296874
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "git config --global user.email ambient@example.com",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 536757081
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 536961368
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 536969996
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 572373063
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 572833704
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 630028660
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 632725816
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 650675185
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
},
{
"Unix": [
45,
45,
97,
108,
108,
45,
116,
97,
114,
103,
101,
116,
115
]
},
{
"Unix": [
45,
45,
110,
111,
45,
100,
101,
112,
115
]
},
{
"Unix": [
45,
45
]
},
{
"Unix": [
45,
45,
100,
101,
110,
121
]
},
{
"Unix": [
119,
97,
114,
110,
105,
110,
103,
115
]
}
],
"timestamp": {
"secs_since_epoch": 1780118863,
"nanos_since_epoch": 653409689
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Compiling proc-macro2 v1.0.103\n Compiling quote v1.0.42\n Compiling unicode-ident v1.0.22\n Compiling libc v0.2.177\n Compiling syn v2.0.110\n Checking cfg-if v1.0.4\n Checking itoa v1.0.15\n Compiling serde_core v1.0.228\n Checking once_cell v1.21.3\n Checking stable_deref_trait v1.2.1\n Compiling synstructure v0.13.2\n Checking pin-project-lite v0.2.16\n Checking bytes v1.11.1\n Checking memchr v2.7.6\n Compiling jobserver v0.1.34\n Compiling zerofrom-derive v0.1.6\n Compiling yoke-derive v0.8.1\n Checking futures-core v0.3.31\n Compiling shlex v1.3.0\n Compiling find-msvc-tools v0.1.9\n Checking zerofrom v0.1.6\n Checking yoke v0.8.1\n Compiling cc v1.2.57\n Checking log v0.4.28\n Compiling zerovec-derive v0.11.2\n Compiling cmake v0.1.57\n Checking zeroize v1.8.2\n Compiling typenum v1.19.0\n Compiling version_check v0.9.5\n Compiling fs_extra v1.3.0\n Compiling dunce v1.0.5\n Compiling generic-array v0.14.7\n Checking zerovec v0.11.5\n Compiling aws-lc-sys v0.39.0\n Compiling displaydoc v0.2.5\n Compiling tokio-macros v2.6.0\n Checking socket2 v0.6.2\n Checking mio v1.1.0\n Checking futures-sink v0.3.32\n Checking tokio v1.49.0\n Checking http v1.4.0\n Checking tracing-core v0.1.36\n Compiling serde v1.0.228\n Checking subtle v2.6.1\n Checking smallvec v1.15.1\n Checking tracing v0.1.44\n Compiling serde_derive v1.0.228\n Checking getrandom v0.2.16\n Checking hashbrown v0.16.0\n Checking slab v0.4.12\n Checking equivalent v1.0.2\n Checking bitflags v2.11.0\n Compiling aws-lc-rs v1.16.2\n Checking indexmap v2.12.0\n Checking rand_core v0.6.4\n Checking http-body v1.0.1\n Checking tinystr v0.8.2\n Checking pin-utils v0.1.0\n Checking litemap v0.8.1\n Checking writeable v0.6.2\n Checking icu_locale_core v2.1.1\n Checking crypto-common v0.1.7\n Checking zerotrie v0.2.3\n Checking potential_utf v0.1.4\n Checking rustls-pki-types v1.14.0\n Checking percent-encoding v2.3.2\n Checking futures-task v0.3.31\n Compiling rustix v1.1.2\n Compiling httparse v1.10.1\n Checking futures-io v0.3.32\n Compiling icu_properties_data v2.1.2\n Checking tower-service v0.3.3\n Compiling getrandom v0.3.4\n Compiling zmij v1.0.18\n Compiling icu_normalizer_data v2.1.1\n Checking futures-util v0.3.31\n Checking icu_collections v2.1.1\n Checking icu_provider v2.1.1\n Checking tokio-util v0.7.18\n Checking linux-raw-sys v0.11.0\n Checking atomic-waker v1.1.2\n Compiling rustls v0.23.37\n Checking untrusted v0.9.0\n Compiling serde_json v1.0.149\n Checking fnv v1.0.7\n Checking try-lock v0.2.5\n Checking want v0.3.1\n Checking h2 v0.4.13\n Checking futures-channel v0.3.31\n Checking sync_wrapper v1.0.2\n Checking aho-corasick v1.1.4\n Checking httpdate v1.0.3\n Checking utf8parse v0.2.2\n Compiling semver v1.0.27\n Checking tower-layer v0.3.3\n Compiling thiserror v2.0.17\n Checking regex-syntax v0.8.8\n Checking regex-automata v0.4.13\n Compiling rustc_version v0.4.1\n Checking anstyle-parse v0.2.7\n Checking hyper v1.8.1\n Checking icu_normalizer v2.1.1\n Checking icu_properties v2.1.2\n Checking form_urlencoded v1.2.2\n Checking inout v0.1.4\n Compiling thiserror-impl v2.0.17\n Checking scopeguard v1.2.0\n Checking ryu v1.0.20\n Compiling powerfmt v0.2.0\n Checking anstyle-query v1.1.5\n Checking ipnet v2.12.0\n Checking colorchoice v1.0.4\n Compiling time-core v0.1.6\n Checking base64 v0.22.1\n Compiling pkg-config v0.3.32\n Checking anstyle v1.0.13\n Compiling num-conv v0.1.0\n Checking is_terminal_polyfill v1.70.2\n Compiling vcpkg v0.2.15\n Compiling libsqlite3-sys v0.35.0\n Checking anstream v0.6.21\n Compiling time-macros v0.2.24\n Checking hyper-util v0.1.20\n Compiling deranged v0.5.5\n Checking lock_api v0.4.14\n Checking cipher v0.4.4\n Checking idna_adapter v1.2.1\n Compiling heapless v0.7.17\n Checking regex v1.12.2\n Checking tower v0.5.3\n Checking http-body-util v0.1.3\n Checking cpufeatures v0.2.17\n Compiling crc32fast v1.5.0\n Checking utf8_iter v1.0.4\n Checking rand_core v0.10.0\n Checking byteorder v1.5.0\n Checking winnow v0.7.13\n Checking openssl-probe v0.2.1\n Compiling getrandom v0.4.2\n Checking mime v0.3.17\n Checking foldhash v0.1.5\n Compiling time v0.3.44\n Checking hashbrown v0.15.5\n Checking rustls-native-certs v0.8.3\n Checking toml_parser v1.0.4\n Checking hash32 v0.2.1\n Checking idna v1.1.0\n Checking spin v0.9.8\n Checking terminal_size v0.4.3\n Checking universal-hash v0.5.1\n Checking toml_datetime v0.7.3\n Checking serde_spanned v1.0.3\n Checking dirs-sys-next v0.1.2\n Checking strsim v0.11.1\n Compiling heck v0.5.0\n Checking fastrand v2.3.0\n Checking unsafe-libyaml-norway v0.2.15\n Checking cpufeatures v0.3.0\n Checking adler2 v2.0.1\n Checking iri-string v0.7.10\n Checking clap_lex v0.7.6\n Checking opaque-debug v0.3.1\n Checking toml_writer v1.0.4\n Checking simd-adler32 v0.3.8\n Checking miniz_oxide v0.8.9\n Checking toml v0.9.8\n Checking polyval v0.6.2\n Checking clap_builder v4.5.51\n Checking tower-http v0.6.8\n Checking chacha20 v0.10.0\n Compiling git-testament-derive v0.2.1\n Checking serde_norway v0.9.42\n Checking tempfile v3.23.0\n Compiling clap_derive v4.5.49\n Checking directories-next v2.0.0\n Checking url v2.5.8\n Checking hashlink v0.10.0\n Checking aes v0.8.4\n Checking env_filter v0.1.4\n Checking ctr v0.9.2\n Checking cobs v0.3.0\n Checking aead v0.5.2\n Checking encoding_rs v0.8.35\n Checking fallible-streaming-iterator v0.1.9\n Compiling mutants v0.0.3\n Checking fallible-iterator v0.3.0\n Checking jiff v0.2.16\n Checking env_logger v0.11.8\n Checking rusqlite v0.37.0\n Checking clingwrap v0.6.0\n Checking aes-gcm-siv v0.11.1\n Checking postcard v1.1.3\n Checking rand v0.10.0\n Checking flate2 v1.1.8\n Checking clap v4.5.51\n Checking git-testament v0.2.6\n Checking uuid v1.20.0\n Checking hostname v0.4.2\n Checking fiat-crypto v0.3.0\n Checking orion v0.17.12\n Checking axum-core v0.5.6\n Checking serde_urlencoded v0.7.1\n Checking ed25519-compact v2.2.0\n Compiling axum-macros v0.5.0\n Checking serde_path_to_error v0.1.20\n Checking matchit v0.8.4\n Checking ct-codecs v1.1.6\n Checking pasetors v0.7.7\n Checking axum v0.8.8\n Checking rustls-webpki v0.103.10\n Checking tokio-rustls v0.26.4\n Checking rustls-platform-verifier v0.6.2\n Checking hyper-rustls v0.27.7\n Checking reqwest v0.13.2\n Checking obnam v0.10.0 (/ci/src/obnam)\n Checking obnam-server v0.1.0 (/ci/src/obnam-server)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.69s\n",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 407411415
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_clippy",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 462879708
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 463045489
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 463054529
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 519577486
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 522295306
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 551280588
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 554015636
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 568545797
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
98,
117,
105,
108,
100
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
},
{
"Unix": [
45,
45,
97,
108,
108,
45,
116,
97,
114,
103,
101,
116,
115
]
}
],
"timestamp": {
"secs_since_epoch": 1780118919,
"nanos_since_epoch": 571203132
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "",
"stderr": " Compiling libc v0.2.177\n Compiling cfg-if v1.0.4\n Compiling itoa v1.0.15\n Compiling stable_deref_trait v1.2.1\n Compiling once_cell v1.21.3\n Compiling serde_core v1.0.228\n Compiling bytes v1.11.1\n Compiling memchr v2.7.6\n Compiling pin-project-lite v0.2.16\n Compiling zerofrom v0.1.6\n Compiling jobserver v0.1.34\n Compiling futures-core v0.3.31\n Compiling cc v1.2.57\n Compiling yoke v0.8.1\n Compiling log v0.4.28\n Compiling zeroize v1.8.2\n Compiling zerovec v0.11.5\n Compiling cmake v0.1.57\n Compiling socket2 v0.6.2\n Compiling aws-lc-sys v0.39.0\n Compiling mio v1.1.0\n Compiling futures-sink v0.3.32\n Compiling tokio v1.49.0\n Compiling typenum v1.19.0\n Compiling http v1.4.0\n Compiling tracing-core v0.1.36\n Compiling smallvec v1.15.1\n Compiling subtle v2.6.1\n Compiling tracing v0.1.44\n Compiling generic-array v0.14.7\n Compiling getrandom v0.2.16\n Compiling slab v0.4.12\n Compiling equivalent v1.0.2\n Compiling hashbrown v0.16.0\n Compiling bitflags v2.11.0\n Compiling indexmap v2.12.0\n Compiling serde v1.0.228\n Compiling rand_core v0.6.4\n Compiling http-body v1.0.1\n Compiling tinystr v0.8.2\n Compiling litemap v0.8.1\n Compiling pin-utils v0.1.0\n Compiling writeable v0.6.2\n Compiling icu_locale_core v2.1.1\n Compiling crypto-common v0.1.7\n Compiling zerotrie v0.2.3\n Compiling potential_utf v0.1.4\n Compiling rustls-pki-types v1.14.0\n Compiling tower-service v0.3.3\n Compiling futures-task v0.3.31\n Compiling futures-io v0.3.32\n Compiling percent-encoding v2.3.2\n Compiling futures-util v0.3.31\n Compiling icu_collections v2.1.1\n Compiling icu_provider v2.1.1\n Compiling tokio-util v0.7.18\n Compiling atomic-waker v1.1.2\n Compiling time-core v0.1.6\n Compiling powerfmt v0.2.0\n Compiling untrusted v0.9.0\n Compiling num-conv v0.1.0\n Compiling fnv v1.0.7\n Compiling try-lock v0.2.5\n Compiling linux-raw-sys v0.11.0\n Compiling rustix v1.1.2\n Compiling want v0.3.1\n Compiling h2 v0.4.13\n Compiling deranged v0.5.5\n Compiling zmij v1.0.18\n Compiling httparse v1.10.1\n Compiling getrandom v0.3.4\n Compiling icu_properties_data v2.1.2\n Compiling icu_normalizer_data v2.1.1\n Compiling futures-channel v0.3.31\n Compiling sync_wrapper v1.0.2\n Compiling aho-corasick v1.1.4\n Compiling httpdate v1.0.3\n Compiling utf8parse v0.2.2\n Compiling regex-syntax v0.8.8\n Compiling tower-layer v0.3.3\n Compiling regex-automata v0.4.13\n Compiling anstyle-parse v0.2.7\n Compiling hyper v1.8.1\n Compiling icu_normalizer v2.1.1\n Compiling icu_properties v2.1.2\n Compiling serde_json v1.0.149\n Compiling form_urlencoded v1.2.2\n Compiling inout v0.1.4\n Compiling ipnet v2.12.0\n Compiling anstyle-query v1.1.5\n Compiling base64 v0.22.1\n Compiling scopeguard v1.2.0\n Compiling ryu v1.0.20\n Compiling colorchoice v1.0.4\n Compiling anstyle v1.0.13\n Compiling is_terminal_polyfill v1.70.2\n Compiling anstream v0.6.21\n Compiling lock_api v0.4.14\n Compiling hyper-util v0.1.20\n Compiling thiserror v2.0.17\n Compiling cipher v0.4.4\n Compiling idna_adapter v1.2.1\n Compiling regex v1.12.2\n Compiling tower v0.5.3\n Compiling time-macros v0.2.24\n Compiling http-body-util v0.1.3\n Compiling foldhash v0.1.5\n Compiling cpufeatures v0.2.17\n Compiling mime v0.3.17\n Compiling winnow v0.7.13\n Compiling utf8_iter v1.0.4\n Compiling rand_core v0.10.0\n Compiling openssl-probe v0.2.1\n Compiling byteorder v1.5.0\n Compiling hash32 v0.2.1\n Compiling rustls-native-certs v0.8.3\n Compiling idna v1.1.0\n Compiling toml_parser v1.0.4\n Compiling hashbrown v0.15.5\n Compiling time v0.3.44\n Compiling spin v0.9.8\n Compiling terminal_size v0.4.3\n Compiling universal-hash v0.5.1\n Compiling serde_spanned v1.0.3\n Compiling toml_datetime v0.7.3\n Compiling dirs-sys-next v0.1.2\n Compiling opaque-debug v0.3.1\n Compiling unsafe-libyaml-norway v0.2.15\n Compiling toml_writer v1.0.4\n Compiling iri-string v0.7.10\n Compiling cpufeatures v0.3.0\n Compiling adler2 v2.0.1\n Compiling clap_lex v0.7.6\n Compiling simd-adler32 v0.3.8\n Compiling strsim v0.11.1\n Compiling fastrand v2.3.0\n Compiling tempfile v3.23.0\n Compiling clap_builder v4.5.51\n Compiling miniz_oxide v0.8.9\n Compiling chacha20 v0.10.0\n Compiling tower-http v0.6.8\n Compiling toml v0.9.8\n Compiling serde_norway v0.9.42\n Compiling polyval v0.6.2\n Compiling git-testament-derive v0.2.1\n Compiling directories-next v2.0.0\n Compiling libsqlite3-sys v0.35.0\n Compiling heapless v0.7.17\n Compiling crc32fast v1.5.0\n Compiling hashlink v0.10.0\n Compiling getrandom v0.4.2\n Compiling url v2.5.8\n Compiling aes v0.8.4\n Compiling env_filter v0.1.4\n Compiling ctr v0.9.2\n Compiling cobs v0.3.0\n Compiling aead v0.5.2\n Compiling encoding_rs v0.8.35\n Compiling aws-lc-rs v1.16.2\n Compiling rustls v0.23.37\n Compiling jiff v0.2.16\n Compiling rustls-webpki v0.103.10\n Compiling tokio-rustls v0.26.4\n Compiling hyper-rustls v0.27.7\n Compiling rustls-platform-verifier v0.6.2\n Compiling fallible-iterator v0.3.0\n Compiling fallible-streaming-iterator v0.1.9\n Compiling rusqlite v0.37.0\n Compiling reqwest v0.13.2\n Compiling env_logger v0.11.8\n Compiling clingwrap v0.6.0\n Compiling aes-gcm-siv v0.11.1\n Compiling postcard v1.1.3\n Compiling rand v0.10.0\n Compiling flate2 v1.1.8\n Compiling git-testament v0.2.6\n Compiling clap v4.5.51\n Compiling uuid v1.20.0\n Compiling hostname v0.4.2\n Compiling obnam v0.10.0 (/ci/src/obnam)\n Compiling fiat-crypto v0.3.0\n Compiling axum-core v0.5.6\n Compiling serde_urlencoded v0.7.1\n Compiling ed25519-compact v2.2.0\n Compiling serde_path_to_error v0.1.20\n Compiling ct-codecs v1.1.6\n Compiling orion v0.17.12\n Compiling matchit v0.8.4\n Compiling axum v0.8.8\n Compiling pasetors v0.7.7\n Compiling obnam-server v0.1.0 (/ci/src/obnam-server)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s\n",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 660675828
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_build",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 714954482
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 715138004
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 715147712
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 723399943
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
99,
108,
105,
112,
112,
121
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 723560698
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 749343817
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
114,
117,
115,
116,
99
]
},
{
"Unix": [
45,
45,
118,
101,
114,
115,
105,
111,
110
]
}
],
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 749425921
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
"stderr": "",
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 761615208
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
99,
97,
114,
103,
111
]
},
{
"Unix": [
116,
101,
115,
116
]
},
{
"Unix": [
45,
45,
111,
102,
102,
108,
105,
110,
101
]
},
{
"Unix": [
45,
45,
108,
111,
99,
107,
101,
100
]
},
{
"Unix": [
45,
45,
119,
111,
114,
107,
115,
112,
97,
99,
101
]
}
],
"timestamp": {
"secs_since_epoch": 1780118987,
"nanos_since_epoch": 761652666
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "\nrunning 47 tests\ntest blobs::test::cant_init_nonexistent_dir ... ok\ntest blobs::test::empty_dir_is_not_init ... ok\ntest blobs::test::adds_blob ... ok\ntest blobs::test::finds_blob_when_labels_match ... ok\ntest blobs::test::finds_no_blob_in_empty_repo ... ok\ntest blobs::test::has_no_blobs_initially ... ok\ntest blobs::test::finds_no_blob_when_none_match_label ... ok\ntest blobs::test::inits_empty_dir ... ok\ntest blobs::test::nonexistent_dir_is_not_init ... ok\ntest blobs::test::root_dir_is_not_init ... ok\ntest chunk::test::chunk_round_trip ... ok\ntest blobs::test::removes_blob ... ok\ntest chunk::test::label_display ... ok\ntest chunk::test::label_round_trip ... ok\ntest chunk::test::metadata ... ok\ntest chunk::test::ciphertext_does_not_contain_plaintext ... ok\ntest chunk::test::metadata_round_trip ... ok\ntest cipher::test::aead_round_trip ... ok\ntest cipher::test::key ... ok\ntest cipher::test::key_from_string ... ok\ntest client::test::generates_key ... ok\ntest client::test::gets_correct_key ... ok\ntest client::test::has_name ... ok\ntest client::test::has_no_keys_initially ... ok\ntest client::test::serialiazion_round_trip ... ok\ntest client::test::sets_old_versions ... ok\ntest config::test::merge_files ... ok\ntest config::test::valideted_config ... ok\ntest credential::test::roundtrip_sop_method ... ok\ntest credential::test::roundtrip_sop_credential ... ok\ntest id::test::id_is_equal_to_itself ... ok\ntest id::test::id_round_trip ... ok\ntest id::test::one_is_expected ... ok\ntest id::test::textual_id_is_printable_ascii ... ok\ntest id::test::two_ids_are_different ... ok\ntest plaintext::test::compressed ... ok\ntest plaintext::test::uncompressed ... ok\ntest plaintext::test::compression_round_trip ... ok\ntest repository::test::finds_client_chunk ... ok\ntest repository::test::adds_chunk ... ok\ntest repository::test::finds_no_clients_when_there_are_none ... ok\ntest repository::test::has_no_chunks_initially ... ok\ntest repository::test::opens_client_chunk ... ok\ntest repository::test::removes_chunk ... ok\ntest sop::tests::cert_display ... ok\ntest sop::tests::key_display ... ok\ntest repository::test::finds_credential_chunk ... ok\n\ntest result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest config::test::merges ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 2 tests\ntest obnam/src/id.rs - id (line 5) ... ok\ntest obnam/src/lib.rs - (line 12) ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.25s; merged doctests compilation took 0.25s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n",
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam-8d48046fc9915a5f)\n Running unittests src/bin/obnam.rs (/ci/cache/cargo-target/debug/deps/obnam-43433d040a466956)\n Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/obnam_server-dafedbb85e42e16f)\n Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/obnam_server-1192fe101f804654)\n Doc-tests obnam\n Doc-tests obnam_server\n",
"timestamp": {
"secs_since_epoch": 1780118988,
"nanos_since_epoch": 358252869
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "cargo_test",
"timestamp": {
"secs_since_epoch": 1780118988,
"nanos_since_epoch": 358745676
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "shell",
"shell": "export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n",
"timestamp": {
"secs_since_epoch": 1780118988,
"nanos_since_epoch": 358965791
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
47,
98,
105,
110,
58,
47,
115,
98,
105,
110,
10,
108,
115,
32,
45,
108,
32,
34,
36,
67,
65,
82,
71,
79,
95,
84,
65,
82,
71,
69,
84,
95,
68,
73,
82,
34,
10,
109,
97,
107,
101,
32,
84,
65,
82,
71,
69,
84,
61,
32,
115,
117,
98,
112,
108,
111,
116,
32,
100,
111,
99,
10,
102,
105,
110,
100,
32,
100,
111,
99,
32,
45,
108,
115,
10,
109,
107,
100,
105,
114,
32,
45,
112,
32,
47,
99,
105,
47,
97,
114,
116,
105,
102,
97,
99,
116,
115,
47,
114,
115,
121,
110,
99,
10,
99,
112,
32,
111,
98,
110,
97,
109,
46,
104,
116,
109,
108,
32,
100,
111,
99,
47,
42,
46,
104,
116,
109,
108,
32,
47,
99,
105,
47,
97,
114,
116,
105,
102,
97,
99,
116,
115,
47,
114,
115,
121,
110,
99,
10,
10
]
}
],
"timestamp": {
"secs_since_epoch": 1780118988,
"nanos_since_epoch": 409343306
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "total 8\n-rw-r--r-- 1 root root 177 May 30 05:27 CACHEDIR.TAG\ndrwxr-xr-x 7 root root 4096 May 30 05:29 debug\nsubplot docgen obnam.subplot --output obnam.html\nsubplot codegen obnam.subplot --output test.py\nrm -f test.log\npython3 test.py --log test.log \nsrcdir /ci/src\ndatadir /tmp/tmpnj2h6dv0\nscenario: Generate new key\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: when I create directory mychunks\n step 4: when I run obnam repo init\n step 5: when I run obnam --client-key my.secret client init --client-name my.host\n step 6: when I run obnam --client-key my.secret client generate my.host my.key\n step 7: when I run obnam --client-key my.secret client show --client-name my.host\n step 8: then stdout contains \"my.key\"\nscenario: Validates token via HTTP API\n step 1: given an installed obnam\n step 2: given file server-config.yaml\n step 3: given file request.sh\n step 4: when I run obnam-server --config server-config.yaml init\n step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n step 6: when I run cat token.txt\n step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\n step 8: when I run bash request.sh GET /validate\n step 9: then stdout contains \"\"read_chunks_allowed\":true\"\n step 10: then stdout contains \"\"find_chunks_allowed\":true\"\n step 11: then stdout contains \"\"create_chunk_allowed\":true\"\n step 12: then stdout contains \"\"delete_chunk_allowed\":false\"\n cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\nscenario: Find chunks using labels\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: given a directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt\n step 7: when I run obnam chunk encrypt --key secret --label data-chunk greeting.txt\n step 8: when I run obnam chunk encrypt --key secret --label client-chunk greeting.txt\n step 9: when I run obnam repo find missing\n step 10: then stdout is exactly \"\"\n step 11: when I run obnam repo find data-chunk\n step 12: then stdout contains 2 lines\n step 13: when I run obnam repo find client-chunk\n step 14: then stdout contains 1 lines\nscenario: Avoid client chunks with the same name\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: when I create directory mychunks\n step 4: when I run obnam repo init\n step 5: when I run obnam --client-key my.secret client init --client-name my.host\n step 6: then command is successful\n step 7: when I try to run obnam --client-key my.secret client init --client-name my.host\n step 8: then command fails\nscenario: Encryption round trip\n step 1: given an installed obnam\n step 2: given file alice.key\n step 3: given file hello.txt\n step 4: when I run obnam sop encrypt rsop alice.key hello.txt -o encrypted\n step 5: when I run ls -l encrypted\n step 6: when I run cat encrypted\n step 7: when I run obnam sop decrypt rsop alice.key encrypted\n step 8: then stdout is exactly \"hello, world\\n\"\nscenario: Initialize a client chunk\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config-with-credential.yaml\n step 3: when I create directory mychunks\n step 4: when I run obnam repo init\n step 5: when I run obnam client init --client-name my.host\n step 6: then command is successful\nscenario: Show client\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: when I create directory mychunks\n step 4: when I run obnam repo init\n step 5: when I run obnam --client-key my.secret client init --client-name my.host\n step 6: when I run obnam --client-key my.secret client show --client-name my.host\n step 7: then stdout is valid JSON\nscenario: Chunk encrypt/decrypt with compression round trip via file\n step 1: given an installed obnam\n step 2: given file greeting.txt\n step 3: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt --output chunk.file\n step 4: when I run obnam chunk decrypt --key secret chunk.file\n step 5: then stdout is exactly \"Hello, world.\\n\"\nscenario: Conveniently encrypt and decrypt chunk in a backup repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from comfy.yaml\n step 3: given file message.txt\n step 4: when I create directory my.repo\n step 5: when I run obnam repo init\n step 6: when I run obnam client init --credential softy\n step 7: when I run obnam chunk encrypt --label data --key-name default --id-file id.txt message.txt\n step 8: when I run obnam chunk decrypt --key-name default --id-file id.txt --output out.dat\n step 9: then files message.txt and out.dat match\nscenario: Conveniently create a client with an OpenPGP software key credential\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from comfy.yaml\n step 3: when I create directory my.repo\n step 4: when I run obnam repo init\n step 5: when I run obnam client init --credential softy\n step 6: when I run obnam client list\n step 7: then stdout isn't exactly \"\"\nscenario: Manages chunks via API\n step 1: given an installed obnam\n step 2: given file server-config.yaml\n step 3: given file request.sh\n step 4: when I run obnam-server --config server-config.yaml init\n step 5: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n step 6: when I run cat token.txt\n step 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\n step 8: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw\n step 9: then stderr contains \"HTTP/1.1 404\"\n step 10: when I run bash request.sh PUT /chunks/OVsgIaDAmIOEq1hSn_Zauw?label=first hello\n step 11: then stderr contains \"HTTP/1.1 201\"\n step 12: when I run bash request.sh GET /chunks/OVsgIaDAmIOEq1hSn_Zauw\n step 13: then stderr contains \"HTTP/1.1 200\"\n step 14: then stdout is exactly \"hello\"\n step 15: when I run bash request.sh GET /chunks?label=first\n step 16: then stdout is exactly \"{\"chunk_ids\":[\"OVsgIaDAmIOEq1hSn_Zauw\"]}\"\n step 17: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw\n step 18: then stderr contains \"HTTP/1.1 401\"\n step 19: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete\n step 20: when I run bash request.sh DELETE /chunks/OVsgIaDAmIOEq1hSn_Zauw\n step 21: then stderr contains \"HTTP/1.1 204\"\n step 22: when I run bash request.sh GET /chunks?label=first\n step 23: then stdout is exactly \"{\"chunk_ids\":[]}\"\n cleanup 7: when I run, as a daemon, obnam-server --config server-config.yaml serve\nscenario: Round trip chunk encryption using key from client chunk\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: when I create directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam --client-key my.secret client init --client-name my.host\n step 7: when I run obnam --client-key my.secret client generate my.host my.key\n step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file\n step 9: when I run obnam --client-key my.secret chunk decrypt --client-name my.host --key-name my.key chunk.file\n step 10: then stdout is exactly \"Hello, world.\\n\"\nscenario: Logging level can be set\n step 1: given an installed obnam\n step 2: when I run obnam config\n step 3: then stderr doesn't contain \"TRACE\"\n step 4: then stderr doesn't contain \"DEBUG\"\n step 5: then stderr contains \"INFO\"\n step 6: then stderr contains \"WARN\"\n step 7: then stderr contains \"ERROR\"\n step 8: when I run env OBNAM_LOG=error obnam config\n step 9: then stderr doesn't contain \"TRACE\"\n step 10: then stderr doesn't contain \"DEBUG\"\n step 11: then stderr doesn't contain \"INFO\"\n step 12: then stderr doesn't contain \"WARN\"\n step 13: then stderr contains \"ERROR\"\n step 14: when I run obnam --log-level=error config\n step 15: then stderr doesn't contain \"TRACE\"\n step 16: then stderr doesn't contain \"DEBUG\"\n step 17: then stderr doesn't contain \"INFO\"\n step 18: then stderr doesn't contain \"WARN\"\n step 19: then stderr contains \"ERROR\"\n step 20: when I run env OBNAM_LOG=error obnam --log-level=trace config\n step 21: then stderr contains \"TRACE\"\n step 22: then stderr contains \"DEBUG\"\n step 23: then stderr contains \"INFO\"\n step 24: then stderr contains \"WARN\"\n step 25: then stderr contains \"ERROR\"\nscenario: Inspect an encrypted chunk using key from client chunk\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: when I create directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam --client-key my.secret client init --client-name my.host\n step 7: when I run obnam --client-key my.secret client generate my.host my.key\n step 8: when I run obnam --client-key my.secret chunk encrypt --client-name my.host --key-name my.key --label sticky.tape greeting.txt --output chunk.file\n step 9: when I run obnam --client-key my.secret chunk inspect --filename chunk.file --client-name my.host --key-name my.key\n step 10: then stdout is valid JSON\n step 11: then stdout contains \"\"id\":\"\n step 12: then stdout contains \"\"label\":\"\n step 13: then stdout contains \"\"data\": \"\"\nscenario: Add a chunk to the backup repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: given a directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam chunk encrypt --key secret --label data greeting.txt\n step 7: when I run obnam repo list\n step 8: then stdout contains \" data\\n\"\nscenario: Initialize a backup repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: then directory mychunks does not exist\n step 4: when I try to run obnam repo is\n step 5: then command fails\n step 6: when I create directory mychunks\n step 7: when I try to run obnam repo is\n step 8: then command fails\n step 9: when I run obnam repo init\n step 10: when I run obnam repo is\n step 11: then exit code is 0\nscenario: Refuses API token made for another server instance\n step 1: given an installed obnam\n step 2: given file server-config.yaml\n step 3: when I run obnam-server --config server-config.yaml init\n step 4: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n step 5: when I remove file keypair.json\n step 6: when I run obnam-server --config server-config.yaml init\n step 7: when I try to run obnam-server --config server-config.yaml validate --file token.txt\n step 8: then command fails\nscenario: Generates and validates API tokens\n step 1: given an installed obnam\n step 2: given file server-config.yaml\n step 3: when I run obnam-server --config server-config.yaml init\n step 4: then file keypair.json exists\n step 5: when I try to run obnam-server --config server-config.yaml init\n step 6: then command fails\n step 7: then stderr contains \"keypair.json\"\n step 8: when I run obnam-server --config server-config.yaml token --output token.txt --allow append\n step 9: then file token.txt contains \"v4.public.\"\n step 10: when I run obnam-server --config server-config.yaml validate --file token.txt\n step 11: then stdout contains \"read_chunks_allowed: true\"\n step 12: then stdout contains \"find_chunks_allowed: true\"\n step 13: then stdout contains \"create_chunk_allowed: true\"\n step 14: then stdout contains \"delete_chunk_allowed: false\"\n step 15: when I run obnam-server --config server-config.yaml token --output token.txt --allow delete\n step 16: then file token.txt contains \"v4.public.\"\n step 17: when I run obnam-server --config server-config.yaml validate --file token.txt\n step 18: then stdout contains \"read_chunks_allowed: true\"\n step 19: then stdout contains \"find_chunks_allowed: true\"\n step 20: then stdout contains \"create_chunk_allowed: true\"\n step 21: then stdout contains \"delete_chunk_allowed: true\"\nscenario: Extracting a certificate from a key\n step 1: given an installed obnam\n step 2: given file alice.key\n step 3: when I run obnam sop extract-cert rsop alice.key\n step 4: then stdout isn't exactly \"\"\nscenario: Remove a chunk from backup repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: given a directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam chunk encrypt --key secret --label data-chunk --id-file id.txt greeting.txt\n step 7: when I run obnam repo remove --id-file id.txt\n step 8: when I run obnam repo list\n step 9: then stdout doesn't contain \"xyzzy\"\nscenario: Inspect an encoded chunk in repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: when I create directory mychunks\n step 5: when I try to run obnam repo init\n step 6: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --id-file=id.txt\n step 7: when I run obnam chunk inspect --id-file id.txt\n step 8: then stdout is valid JSON\n step 9: then stdout contains \"\"id\":\"\n step 10: then stdout contains \"\"label\":\"\n step 11: then stdout contains \"\"data\": null\"\n step 12: when I run obnam chunk inspect --key secret --id-file id.txt\n step 13: then stdout is valid JSON\n step 14: then stdout contains \"\"id\":\"\n step 15: then stdout contains \"\"label\":\"\n step 16: then stdout contains \"\"data\": \"\"\nscenario: Chunk encrypt/decrypt round trip via repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: when I create directory mychunks\n step 5: when I try to run obnam repo init\n step 6: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --id-file id.txt\n step 7: when I run obnam repo list\n step 8: when I run obnam chunk decrypt --key secret --id-file id.txt\n step 9: then stdout is exactly \"Hello, world.\\n\"\nscenario: Chunk encrypt/decrypt round trip via file\n step 1: given an installed obnam\n step 2: given file greeting.txt\n step 3: when I run obnam chunk encrypt --key secret --label sticky.tape greeting.txt --output chunk.file\n step 4: when I run obnam chunk decrypt --key secret chunk.file\n step 5: then stdout is exactly \"Hello, world.\\n\"\nscenario: Get path to chunk in backup repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: given a directory mychunks\n step 5: when I run obnam repo init\n step 6: when I run obnam chunk encrypt --key secret --label data-chunk --id-file id.txt greeting.txt\n step 7: when I run obnam repo path --id-file id.txt -o chunk.filename\n step 8: then a file exists whose name is in chunk.filename\nscenario: Inspect an encoded chunk in file\n step 1: given an installed obnam\n step 2: given file greeting.txt\n step 3: when I run obnam chunk encrypt --label sticky.tape --key secret greeting.txt --output chunk.file\n step 4: when I run obnam chunk inspect --filename chunk.file\n step 5: then stdout is valid JSON\n step 6: then stdout contains \"\"id\":\"\n step 7: then stdout contains \"\"label\":\"\n step 8: then stdout contains \"\"data\": null\"\n step 9: when I run obnam chunk inspect --filename chunk.file --key secret\n step 10: then stdout is valid JSON\n step 11: then stdout contains \"\"id\":\"\n step 12: then stdout contains \"\"label\":\"\n step 13: then stdout contains \"\"data\": \"\"\nscenario: Chunk encrypt/decrypt with compression round trip via repository\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file greeting.txt\n step 4: when I create directory mychunks\n step 5: when I try to run obnam repo init\n step 6: when I run obnam chunk encrypt --compress --key secret --label sticky.tape greeting.txt\n step 7: when I run obnam repo find sticky.tape --one-match-output=id.txt\n step 8: when I run obnam chunk decrypt --key secret --id-file id.txt\n step 9: then stdout is exactly \"Hello, world.\\n\"\nscenario: Create an OpenPGP software key credential\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: given file sop-generate\n step 4: when I run bash sop-generate alice.tsk\n step 5: when I create directory mychunks\n step 6: when I run obnam repo init\n step 7: when I run obnam credential list\n step 8: then stdout is exactly \"\"\n step 9: when I run obnam --client-key my.secret credential openpgp-soft alice.tsk\n step 10: when I run obnam credential list --all\n step 11: then stdout isn't exactly \"\"\nscenario: List clients\n step 1: given an installed obnam\n step 2: given file .config/obnam/config.yaml from config.yaml\n step 3: when I create directory mychunks\n step 4: when I run obnam repo init\n step 5: when I run obnam --client-key my.secret client init --client-name my.host\n step 6: when I run obnam --client-key my.secret client list\n step 7: then stdout is exactly \"my.host\\n\"\nscenario: Manage chunks on the server\n step 1: given an installed obnam\n step 2: given file server-config.yaml\n step 3: given file greeting.txt\n step 4: given file .config/obnam/config.yaml from comfy.yaml\n step 5: given executable file create-token.sh\n step 6: when I run obnam-server --config server-config.yaml init\n step 7: when I run ./create-token.sh append\n step 8: when I run, as a daemon, obnam-server --config server-config.yaml serve\n step 9: when I run obnam remote put --id-file id.txt --label data --filename greeting.txt\n step 10: when I run obnam remote get --id-file id.txt --filename out\n step 11: then files greeting.txt and out on disk are identical\n step 12: when I run obnam remote find --label hahaha\n step 13: then stdout contains \"\"chunk_ids\":[]\"\n step 14: when I run obnam remote find --label data\n step 15: then stdout contains 1 lines\n step 16: when I try to run obnam remote delete --id-file id.txt\n step 17: then command fails\n step 18: when I run obnam remote get --id-file id.txt --filename out2\n step 19: then files greeting.txt and out2 on disk are identical\n step 20: when I run ./create-token.sh delete\n step 21: when I run obnam remote delete --id-file id.txt\n step 22: when I try to run obnam remote get --id-file id.txt --filename out2\n step 23: then command fails\n cleanup 8: when I run, as a daemon, obnam-server --config server-config.yaml serve\nOK, all scenarios finished successfully\nenv 'RUSTDOCFLAGS=-D warnings' cargo doc --no-deps\nmake -C doc\nmake[1]: Entering directory '/ci/src/doc'\npandoc -N --toc --standalone --self-contained -o \"arch.html\" \"arch.md\"\npandoc -N --toc --standalone --self-contained -o \"glossary.html\" \"glossary.md\"\nmake[1]: Leaving directory '/ci/src/doc'\n 2883636 4 drwxr-xr-x 2 root root 4096 May 30 05:29 doc\n 2883639 4 -rw-r--r-- 1 root root 427 May 30 05:27 doc/glossary.md\n 2915798 24 -rw-r--r-- 1 root root 22893 May 30 05:29 doc/arch.html\n 2883637 4 -rw-r--r-- 1 root root 3885 May 30 05:27 doc/keys.svg\n 2915799 4 -rw-r--r-- 1 root root 3529 May 30 05:29 doc/glossary.html\n 2883641 4 -rw-r--r-- 1 root root 327 May 30 05:27 doc/Makefile\n 2883638 4 -rw-r--r-- 1 root root 540 May 30 05:27 doc/keys.pik\n 2883640 16 -rw-r--r-- 1 root root 13627 May 30 05:27 doc/arch.md\n",
"stderr": "+ export PATH=/root/.cargo/bin:/bin:/sbin\n+ PATH=/root/.cargo/bin:/bin:/sbin\n+ ls -l /ci/cache/cargo-target\n+ make TARGET= subplot doc\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n Checking obnam v0.10.0 (/ci/src/obnam)\n Documenting obnam v0.10.0 (/ci/src/obnam)\n Documenting obnam-server v0.1.0 (/ci/src/obnam-server)\n Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.14s\n Generated /ci/cache/cargo-target/doc/obnam/index.html and 1 other file\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n[WARNING] This document format requires a nonempty <title> element.\n Defaulting to 'glossary' as the title.\n To specify a title, use 'title' in metadata or --metadata title=\"...\".\n+ find doc -ls\n+ mkdir -p /ci/artifacts/rsync\n+ cp obnam.html doc/arch.html doc/glossary.html /ci/artifacts/rsync\n",
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 47501093
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "shell",
"shell": "export PATH=/root/.cargo/bin:/bin:/sbin\nls -l \"$CARGO_TARGET_DIR\"\nmake TARGET= subplot doc\nfind doc -ls\nmkdir -p /ci/artifacts/rsync\ncp obnam.html doc/*.html /ci/artifacts/rsync\n",
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 329698512
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "custom",
"name": "dch",
"args": {
"debfullname": "Lars Wirzenius",
"debemail": "liw@liw.fi"
},
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 334115014
},
"log_source": "Plan"
}{
"type": "custom_action_starts",
"source": "/ci/src",
"custom": {
"name": "dch",
"args": {
"debemail": "liw@liw.fi",
"debfullname": "Lars Wirzenius"
}
},
"exe": ".ambient/dch",
"exe_exists": false,
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 337025999
},
"log_source": "Plan"
}{
"type": "custom_action_output",
"stdout": [
72,
69,
65,
68,
32,
105,
115,
32,
110,
111,
119,
32,
97,
116,
32,
48,
102,
50,
99,
55,
52,
48,
32,
99,
104,
111,
114,
101,
58,
32,
103,
105,
116,
32,
105,
103,
110,
111,
114,
101,
32,
100,
105,
114,
101,
99,
116,
111,
114,
121,
32,
102,
111,
114,
32,
109,
97,
110,
117,
97,
108,
32,
116,
101,
115,
116,
32,
98,
97,
99,
107,
117,
112,
115,
10,
82,
101,
109,
111,
118,
105,
110,
103,
32,
100,
111,
99,
47,
97,
114,
99,
104,
46,
104,
116,
109,
108,
10,
82,
101,
109,
111,
118,
105,
110,
103,
32,
100,
111,
99,
47,
103,
108,
111,
115,
115,
97,
114,
121,
46,
104,
116,
109,
108,
10,
82,
101,
109,
111,
118,
105,
110,
103,
32,
111,
98,
110,
97,
109,
46,
104,
116,
109,
108,
10,
82,
101,
109,
111,
118,
105,
110,
103,
32,
116,
101,
115,
116,
46,
108,
111,
103,
10,
82,
101,
109,
111,
118,
105,
110,
103,
32,
116,
101,
115,
116,
46,
112,
121,
10
],
"stderr": [
43,
32,
101,
120,
112,
111,
114,
116,
32,
39,
68,
69,
66,
69,
77,
65,
73,
76,
61,
34,
108,
105,
119,
64,
108,
105,
119,
46,
102,
105,
34,
39,
10,
43,
32,
68,
69,
66,
69,
77,
65,
73,
76,
61,
39,
34,
108,
105,
119,
64,
108,
105,
119,
46,
102,
105,
34,
39,
10,
43,
32,
101,
120,
112,
111,
114,
116,
32,
39,
68,
69,
66,
70,
85,
76,
76,
78,
65,
77,
69,
61,
34,
76,
97,
114,
115,
32,
87,
105,
114,
122,
101,
110,
105,
117,
115,
34,
39,
10,
43,
32,
68,
69,
66,
70,
85,
76,
76,
78,
65,
77,
69,
61,
39,
34,
76,
97,
114,
115,
32,
87,
105,
114,
122,
101,
110,
105,
117,
115,
34,
39,
10,
43,
32,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
84,
65,
82,
71,
69,
84,
95,
68,
73,
82,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
99,
97,
99,
104,
101,
10,
43,
32,
67,
65,
82,
71,
79,
95,
84,
65,
82,
71,
69,
84,
95,
68,
73,
82,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
99,
97,
99,
104,
101,
10,
43,
32,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
100,
101,
112,
115,
10,
43,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
119,
111,
114,
107,
115,
112,
97,
99,
101,
47,
100,
101,
112,
115,
10,
43,
32,
101,
120,
112,
111,
114,
116,
32,
72,
79,
77,
69,
61,
47,
114,
111,
111,
116,
10,
43,
32,
72,
79,
77,
69,
61,
47,
114,
111,
111,
116,
10,
43,
32,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
47,
117,
115,
114,
47,
108,
111,
99,
97,
108,
47,
115,
98,
105,
110,
58,
47,
117,
115,
114,
47,
108,
111,
99,
97,
108,
47,
98,
105,
110,
58,
47,
117,
115,
114,
47,
115,
98,
105,
110,
58,
47,
117,
115,
114,
47,
98,
105,
110,
10,
43,
32,
80,
65,
84,
72,
61,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
47,
117,
115,
114,
47,
108,
111,
99,
97,
108,
47,
115,
98,
105,
110,
58,
47,
117,
115,
114,
47,
108,
111,
99,
97,
108,
47,
98,
105,
110,
58,
47,
117,
115,
114,
47,
115,
98,
105,
110,
58,
47,
117,
115,
114,
47,
98,
105,
110,
10,
43,
32,
103,
105,
116,
32,
114,
101,
115,
101,
116,
32,
45,
45,
104,
97,
114,
100,
10,
43,
32,
103,
105,
116,
32,
99,
108,
101,
97,
110,
32,
45,
102,
100,
120,
10,
43,
43,
32,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
86,
101,
114,
115,
105,
111,
110,
10,
43,
43,
32,
115,
101,
100,
32,
39,
115,
47,
45,
91,
94,
45,
93,
42,
36,
47,
47,
39,
10,
43,
32,
86,
61,
48,
46,
57,
46,
57,
10,
43,
43,
32,
100,
97,
116,
101,
32,
45,
117,
32,
43,
37,
89,
37,
109,
37,
100,
84,
37,
72,
37,
77,
37,
83,
10,
43,
32,
84,
61,
50,
48,
50,
54,
48,
53,
51,
48,
84,
48,
53,
50,
57,
53,
49,
10,
43,
32,
118,
101,
114,
115,
105,
111,
110,
61,
48,
46,
57,
46,
57,
46,
99,
105,
50,
48,
50,
54,
48,
53,
51,
48,
84,
48,
53,
50,
57,
53,
49,
45,
49,
10,
43,
32,
100,
99,
104,
32,
45,
118,
32,
48,
46,
57,
46,
57,
46,
99,
105,
50,
48,
50,
54,
48,
53,
51,
48,
84,
48,
53,
50,
57,
53,
49,
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": 1780118991,
"nanos_since_epoch": 535717757
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "custom",
"name": "dch",
"args": {
"debfullname": "Lars Wirzenius",
"debemail": "liw@liw.fi"
},
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 535938265
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "deb",
"packages": "debian",
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 536136206
},
"log_source": "Plan"
}{
"type": "start_program",
"argv": [
{
"Unix": [
47,
98,
105,
110,
47,
98,
97,
115,
104
]
},
{
"Unix": [
45,
99
]
},
{
"Unix": [
35,
33,
47,
117,
115,
114,
47,
98,
105,
110,
47,
101,
110,
118,
32,
98,
97,
115,
104,
10,
115,
101,
116,
32,
45,
120,
101,
117,
111,
32,
112,
105,
112,
101,
102,
97,
105,
108,
10,
10,
101,
99,
104,
111,
32,
34,
80,
65,
84,
72,
32,
97,
116,
32,
115,
116,
97,
114,
116,
58,
32,
36,
80,
65,
84,
72,
34,
10,
101,
120,
112,
111,
114,
116,
32,
80,
65,
84,
72,
61,
34,
47,
114,
111,
111,
116,
47,
46,
99,
97,
114,
103,
111,
47,
98,
105,
110,
58,
36,
80,
65,
84,
72,
34,
10,
101,
120,
112,
111,
114,
116,
32,
67,
65,
82,
71,
79,
95,
72,
79,
77,
69,
61,
47,
99,
105,
47,
100,
101,
112,
115,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
69,
77,
65,
73,
76,
61,
108,
105,
119,
64,
108,
105,
119,
46,
102,
105,
10,
101,
120,
112,
111,
114,
116,
32,
68,
69,
66,
70,
85,
76,
76,
78,
65,
77,
69,
61,
34,
76,
97,
114,
115,
32,
87,
105,
114,
122,
101,
110,
105,
117,
115,
34,
10,
47,
98,
105,
110,
47,
101,
110,
118,
10,
10,
99,
111,
109,
109,
97,
110,
100,
32,
45,
118,
32,
99,
97,
114,
103,
111,
10,
99,
111,
109,
109,
97,
110,
100,
32,
45,
118,
32,
114,
117,
115,
116,
99,
10,
10,
99,
97,
114,
103,
111,
32,
45,
45,
118,
101,
114,
115,
105,
111,
110,
10,
114,
117,
115,
116,
99,
32,
45,
45,
118,
101,
114,
115,
105,
111,
110,
10,
10,
35,
32,
71,
101,
116,
32,
110,
97,
109,
101,
32,
97,
110,
100,
32,
118,
101,
114,
115,
105,
111,
110,
32,
111,
102,
32,
115,
111,
117,
114,
99,
101,
32,
112,
97,
99,
107,
97,
103,
101,
46,
10,
110,
97,
109,
101,
61,
34,
36,
40,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
83,
111,
117,
114,
99,
101,
41,
34,
10,
118,
101,
114,
115,
105,
111,
110,
61,
34,
36,
40,
100,
112,
107,
103,
45,
112,
97,
114,
115,
101,
99,
104,
97,
110,
103,
101,
108,
111,
103,
32,
45,
83,
86,
101,
114,
115,
105,
111,
110,
41,
34,
10,
10,
35,
32,
71,
101,
116,
32,
117,
112,
115,
116,
114,
101,
97,
109,
32,
118,
101,
114,
115,
105,
111,
110,
58,
32,
101,
118,
101,
114,
121,
116,
104,
105,
110,
103,
32,
98,
101,
102,
111,
114,
101,
32,
116,
104,
101,
32,
108,
97,
115,
116,
32,
100,
97,
115,
104,
46,
10,
117,
118,
61,
34,
36,
40,
101,
99,
104,
111,
32,
34,
36,
118,
101,
114,
115,
105,
111,
110,
34,
32,
124,
32,
115,
101,
100,
32,
39,
115,
47,
45,
91,
94,
45,
93,
42,
36,
47,
47,
39,
41,
34,
10,
10,
35,
32,
70,
105,
108,
101,
115,
32,
116,
104,
97,
116,
32,
119,
105,
108,
108,
32,
98,
101,
32,
99,
114,
101,
97,
116,
101,
100,
46,
10,
97,
114,
99,
104,
61,
34,
36,
40,
100,
112,
107,
103,
32,
45,
45,
112,
114,
105,
110,
116,
45,
97,
114,
99,
104,
105,
116,
101,
99,
116,
117,
114,
101,
41,
34,
10,
111,
114,
105,
103,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
117,
118,
125,
46,
111,
114,
105,
103,
46,
116,
97,
114,
46,
120,
122,
34,
10,
100,
101,
98,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
118,
101,
114,
115,
105,
111,
110,
125,
95,
36,
123,
97,
114,
99,
104,
125,
46,
100,
101,
98,
34,
10,
99,
104,
97,
110,
103,
101,
115,
61,
34,
46,
46,
47,
36,
123,
110,
97,
109,
101,
125,
95,
36,
123,
118,
101,
114,
115,
105,
111,
110,
125,
95,
36,
123,
97,
114,
99,
104,
125,
46,
99,
104,
97,
110,
103,
101,
115,
34,
10,
10,
35,
32,
67,
114,
101,
97,
116,
101,
32,
34,
117,
112,
115,
116,
114,
101,
97,
109,
32,
116,
97,
114,
98,
97,
108,
108,
34,
46,
10,
103,
105,
116,
32,
97,
114,
99,
104,
105,
118,
101,
32,
72,
69,
65,
68,
32,
124,
32,
120,
122,
32,
62,
34,
36,
111,
114,
105,
103,
34,
10,
10,
35,
32,
66,
117,
105,
108,
100,
32,
112,
97,
99,
107,
97,
103,
101,
46,
10,
100,
112,
107,
103,
45,
98,
117,
105,
108,
100,
112,
97,
99,
107,
97,
103,
101,
32,
45,
117,
115,
32,
45,
117,
99,
10,
10,
35,
32,
68,
117,
109,
112,
32,
115,
111,
109,
101,
32,
105,
110,
102,
111,
114,
109,
97,
116,
105,
111,
110,
32,
116,
111,
32,
109,
97,
107,
101,
32,
105,
116,
32,
101,
97,
115,
105,
101,
114,
32,
116,
111,
32,
118,
105,
115,
117,
97,
108,
108,
121,
32,
118,
101,
114,
105,
102,
121,
10,
35,
32,
101,
118,
101,
114,
121,
116,
104,
105,
110,
103,
32,
108,
111,
111,
107,
115,
32,
79,
75,
46,
32,
65,
108,
115,
111,
44,
32,
116,
101,
115,
116,
32,
116,
104,
101,
32,
112,
97,
99,
107,
97,
103,
101,
32,
119,
105,
116,
104,
32,
116,
104,
101,
32,
108,
105,
110,
116,
105,
97,
110,
32,
116,
111,
111,
108,
46,
10,
10,
108,
115,
32,
45,
108,
32,
46,
46,
10,
102,
111,
114,
32,
120,
32,
105,
110,
32,
46,
46,
47,
42,
46,
100,
101,
98,
59,
32,
100,
111,
32,
100,
112,
107,
103,
32,
45,
99,
32,
34,
36,
120,
34,
59,
32,
100,
111,
110,
101,
10,
35,
32,
70,
73,
88,
77,
69,
58,
32,
100,
105,
115,
97,
98,
108,
101,
100,
32,
119,
104,
105,
108,
101,
32,
116,
104,
105,
115,
32,
112,
114,
101,
118,
101,
110,
116,
115,
32,
114,
97,
100,
105,
99,
108,
101,
45,
110,
97,
116,
105,
118,
101,
45,
99,
105,
32,
100,
101,
98,
32,
102,
114,
111,
109,
32,
98,
101,
105,
110,
103,
32,
98,
117,
105,
108,
116,
46,
10,
35,
32,
108,
105,
110,
116,
105,
97,
110,
32,
45,
105,
32,
45,
45,
97,
108,
108,
111,
119,
45,
114,
111,
111,
116,
32,
45,
45,
102,
97,
105,
108,
45,
111,
110,
32,
119,
97,
114,
110,
105,
110,
103,
32,
46,
46,
47,
42,
46,
99,
104,
97,
110,
103,
101,
115,
10,
10,
35,
32,
77,
111,
118,
101,
32,
102,
105,
108,
101,
115,
32,
116,
111,
32,
97,
114,
116,
105,
102,
97,
99,
116,
115,
32,
100,
105,
114,
101,
99,
116,
111,
114,
121,
46,
10,
109,
118,
32,
46,
46,
47,
42,
95,
42,
32,
47,
99,
105,
47,
97,
114,
116,
105,
102,
97,
99,
116,
115,
47,
100,
101,
98,
105,
97,
110,
10,
32,
32,
32,
32,
32,
32,
32,
32
]
}
],
"timestamp": {
"secs_since_epoch": 1780118991,
"nanos_since_epoch": 536199106
},
"log_source": "Plan"
}{
"type": "program_succeeded",
"exit_code": 0,
"stdout": "PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nMEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=373\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nMEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=4537480e23fd4bd59d2b1b4166c911c0\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:2526\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nOLDPWD=/\n_=/bin/env\n/root/.cargo/bin/cargo\n/root/.cargo/bin/rustc\ncargo 1.95.0 (f2d3ce0bd 2026-03-21)\nrustc 1.95.0 (59807616e 2026-04-14)\ndpkg-buildpackage: info: source package obnam\ndpkg-buildpackage: info: source version 0.9.9.ci20260530T052951-1\ndpkg-buildpackage: info: source distribution unstable\ndpkg-buildpackage: info: source changed by \"Lars Wirzenius\" <\"liw@liw.fi\">\ndpkg-buildpackage: info: host architecture amd64\ndh clean\n dh_auto_clean\n dh_clean\ndpkg-source: info: using source format '3.0 (quilt)'\ndpkg-source: info: building obnam using existing ./obnam_0.9.9.ci20260530T052951.orig.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260530T052951-1.debian.tar.xz\ndpkg-source: info: building obnam in obnam_0.9.9.ci20260530T052951-1.dsc\ndh binary\n dh_update_autotools_config\n dh_autoreconf\n dh_auto_configure\n debian/rules override_dh_auto_build\nmake[1]: Entering directory '/ci/src'\ncargo build --workspace --release\nmake[1]: Leaving directory '/ci/src'\n debian/rules override_dh_auto_test\nmake[1]: Entering directory '/ci/src'\necho tests are disabled, for now\ntests are disabled, for now\nmake[1]: Leaving directory '/ci/src'\n create-stamp debian/debhelper-build-stamp\n dh_prep\n debian/rules override_dh_auto_install\nmake[1]: Entering directory '/ci/src'\ncargo install --offline --locked --path=obnam --root=debian/obnam/usr\nfind debian -name '.crates*.*' -delete\nmake[1]: Leaving directory '/ci/src'\n dh_installdocs\n dh_installchangelogs\n dh_lintian\n dh_perl\n dh_link\n dh_strip_nondeterminism\n dh_compress\n dh_fixperms\n dh_missing\n dh_strip\n dh_makeshlibs\n dh_shlibdeps\n dh_installdeb\n dh_gencontrol\n dh_md5sums\n dh_builddeb\ndpkg-deb: building package 'obnam-dbgsym' in '../obnam-dbgsym_0.9.9.ci20260530T052951-1_amd64.deb'.\ndpkg-deb: building package 'obnam' in '../obnam_0.9.9.ci20260530T052951-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 3040\ndrwxr-xr-x 4 root root 4096 May 30 05:29 artifacts\ndrwxr-xr-x 3 root root 4096 May 30 05:27 cache\ndrwxr-xr-x 3 root root 4096 May 30 05:27 deps\n-rw-r--r-- 1 root root 324180 May 30 05:32 obnam-dbgsym_0.9.9.ci20260530T052951-1_amd64.deb\n-rw-r--r-- 1 root root 1720 May 30 05:29 obnam_0.9.9.ci20260530T052951-1.debian.tar.xz\n-rw-r--r-- 1 root root 900 May 30 05:29 obnam_0.9.9.ci20260530T052951-1.dsc\n-rw-r--r-- 1 root root 5181 May 30 05:32 obnam_0.9.9.ci20260530T052951-1_amd64.buildinfo\n-rw-r--r-- 1 root root 2296 May 30 05:32 obnam_0.9.9.ci20260530T052951-1_amd64.changes\n-rw-r--r-- 1 root root 2663120 May 30 05:32 obnam_0.9.9.ci20260530T052951-1_amd64.deb\n-rw-r--r-- 1 root root 80192 May 30 05:29 obnam_0.9.9.ci20260530T052951.orig.tar.xz\ndrwxr-xr-x 10 root root 4096 May 30 05:29 src\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/lib/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/lib/debug/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/lib/debug/.build-id/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/lib/debug/.build-id/8c/\n-rw-r--r-- root/root 1961040 2026-05-30 05:29 ./usr/lib/debug/.build-id/8c/95afb6346b958dc2d2045ed833aef274d07aef.debug\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/doc/\nlrwxrwxrwx root/root 0 2026-05-30 05:29 ./usr/share/doc/obnam-dbgsym -> obnam\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/bin/\n-rwxr-xr-x root/root 9298312 2026-05-30 05:29 ./usr/bin/obnam\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/doc/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/doc/obnam/\n-rw-r--r-- root/root 209 2026-05-30 05:29 ./usr/share/doc/obnam/changelog.Debian.gz\n-rw-r--r-- root/root 371 2026-05-30 05:27 ./usr/share/doc/obnam/copyright\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/lintian/\ndrwxr-xr-x root/root 0 2026-05-30 05:29 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root 48 2026-05-30 05:27 ./usr/share/lintian/overrides/obnam\n",
"stderr": "+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ export CARGO_HOME=/ci/deps\n+ CARGO_HOME=/ci/deps\n+ export DEBEMAIL=liw@liw.fi\n+ DEBEMAIL=liw@liw.fi\n+ export 'DEBFULLNAME=Lars Wirzenius'\n+ DEBFULLNAME='Lars Wirzenius'\n+ /bin/env\n+ command -v cargo\n+ command -v rustc\n+ cargo --version\n+ rustc --version\n++ dpkg-parsechangelog -SSource\n+ name=obnam\n++ dpkg-parsechangelog -SVersion\n+ version=0.9.9.ci20260530T052951-1\n++ echo 0.9.9.ci20260530T052951-1\n++ sed 's/-[^-]*$//'\n+ uv=0.9.9.ci20260530T052951\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../obnam_0.9.9.ci20260530T052951.orig.tar.xz\n+ deb=../obnam_0.9.9.ci20260530T052951-1_amd64.deb\n+ changes=../obnam_0.9.9.ci20260530T052951-1_amd64.changes\n+ git archive HEAD\n+ xz\n+ dpkg-buildpackage -us -uc\n dpkg-source --before-build .\n debian/rules clean\n dpkg-source -b .\n debian/rules binary\n Compiling libc v0.2.177\n Compiling proc-macro2 v1.0.103\n Compiling unicode-ident v1.0.22\n Compiling quote v1.0.42\n Compiling syn v2.0.110\n Compiling cfg-if v1.0.4\n Compiling itoa v1.0.15\n Compiling serde_core v1.0.228\n Compiling once_cell v1.21.3\n Compiling stable_deref_trait v1.2.1\n Compiling synstructure v0.13.2\n Compiling bytes v1.11.1\n Compiling zerofrom-derive v0.1.6\n Compiling pin-project-lite v0.2.16\n Compiling memchr v2.7.6\n Compiling zerofrom v0.1.6\n Compiling yoke-derive v0.8.1\n Compiling jobserver v0.1.34\n Compiling futures-core v0.3.31\n Compiling find-msvc-tools v0.1.9\n Compiling shlex v1.3.0\n Compiling yoke v0.8.1\n Compiling cc v1.2.57\n Compiling log v0.4.28\n Compiling zerovec-derive v0.11.2\n Compiling cmake v0.1.57\n Compiling typenum v1.19.0\n Compiling zeroize v1.8.2\n Compiling version_check v0.9.5\n Compiling fs_extra v1.3.0\n Compiling dunce v1.0.5\n Compiling generic-array v0.14.7\n Compiling aws-lc-sys v0.39.0\n Compiling zerovec v0.11.5\n Compiling displaydoc v0.2.5\n Compiling tokio-macros v2.6.0\n Compiling socket2 v0.6.2\n Compiling mio v1.1.0\n Compiling futures-sink v0.3.32\n Compiling tokio v1.49.0\n Compiling http v1.4.0\n Compiling tracing-core v0.1.36\n Compiling subtle v2.6.1\n Compiling serde v1.0.228\n Compiling smallvec v1.15.1\n Compiling tracing v0.1.44\n Compiling serde_derive v1.0.228\n Compiling getrandom v0.2.16\n Compiling aws-lc-rs v1.16.2\n Compiling hashbrown v0.16.0\n Compiling bitflags v2.11.0\n Compiling equivalent v1.0.2\n Compiling slab v0.4.12\n Compiling indexmap v2.12.0\n Compiling rand_core v0.6.4\n Compiling http-body v1.0.1\n Compiling tinystr v0.8.2\n Compiling writeable v0.6.2\n Compiling litemap v0.8.1\n Compiling pin-utils v0.1.0\n Compiling icu_locale_core v2.1.1\n Compiling crypto-common v0.1.7\n Compiling zerotrie v0.2.3\n Compiling potential_utf v0.1.4\n Compiling rustls-pki-types v1.14.0\n Compiling tower-service v0.3.3\n Compiling rustix v1.1.2\n Compiling futures-task v0.3.31\n Compiling zmij v1.0.18\n Compiling percent-encoding v2.3.2\n Compiling icu_normalizer_data v2.1.1\n Compiling httparse v1.10.1\n Compiling futures-io v0.3.32\n Compiling icu_properties_data v2.1.2\n Compiling getrandom v0.3.4\n Compiling futures-util v0.3.31\n Compiling icu_collections v2.1.1\n Compiling icu_provider v2.1.1\n Compiling tokio-util v0.7.18\n Compiling serde_json v1.0.149\n Compiling linux-raw-sys v0.11.0\n Compiling try-lock v0.2.5\n Compiling untrusted v0.9.0\n Compiling fnv v1.0.7\n Compiling rustls v0.23.37\n Compiling atomic-waker v1.1.2\n Compiling h2 v0.4.13\n Compiling want v0.3.1\n Compiling futures-channel v0.3.31\n Compiling sync_wrapper v1.0.2\n Compiling aho-corasick v1.1.4\n Compiling thiserror v2.0.17\n Compiling tower-layer v0.3.3\n Compiling utf8parse v0.2.2\n Compiling regex-syntax v0.8.8\n Compiling semver v1.0.27\n Compiling httpdate v1.0.3\n Compiling hyper v1.8.1\n Compiling rustc_version v0.4.1\n Compiling regex-automata v0.4.13\n Compiling anstyle-parse v0.2.7\n Compiling icu_properties v2.1.2\n Compiling icu_normalizer v2.1.1\n Compiling form_urlencoded v1.2.2\n Compiling inout v0.1.4\n Compiling thiserror-impl v2.0.17\n Compiling time-core v0.1.6\n Compiling base64 v0.22.1\n Compiling powerfmt v0.2.0\n Compiling ipnet v2.12.0\n Compiling colorchoice v1.0.4\n Compiling scopeguard v1.2.0\n Compiling anstyle v1.0.13\n Compiling is_terminal_polyfill v1.70.2\n Compiling num-conv v0.1.0\n Compiling pkg-config v0.3.32\n Compiling ryu v1.0.20\n Compiling anstyle-query v1.1.5\n Compiling vcpkg v0.2.15\n Compiling libsqlite3-sys v0.35.0\n Compiling anstream v0.6.21\n Compiling time-macros v0.2.24\n Compiling lock_api v0.4.14\n Compiling hyper-util v0.1.20\n Compiling deranged v0.5.5\n Compiling cipher v0.4.4\n Compiling idna_adapter v1.2.1\n Compiling regex v1.12.2\n Compiling heapless v0.7.17\n Compiling tower v0.5.3\n Compiling http-body-util v0.1.3\n Compiling foldhash v0.1.5\n Compiling cpufeatures v0.2.17\n Compiling utf8_iter v1.0.4\n Compiling crc32fast v1.5.0\n Compiling getrandom v0.4.2\n Compiling winnow v0.7.13\n Compiling byteorder v1.5.0\n Compiling rand_core v0.10.0\n Compiling openssl-probe v0.2.1\n Compiling mime v0.3.17\n Compiling rustls-native-certs v0.8.3\n Compiling hash32 v0.2.1\n Compiling time v0.3.44\n Compiling toml_parser v1.0.4\n Compiling idna v1.1.0\n Compiling hashbrown v0.15.5\n Compiling spin v0.9.8\n Compiling terminal_size v0.4.3\n Compiling universal-hash v0.5.1\n Compiling serde_spanned v1.0.3\n Compiling toml_datetime v0.7.3\n Compiling dirs-sys-next v0.1.2\n Compiling cpufeatures v0.3.0\n Compiling unsafe-libyaml-norway v0.2.15\n Compiling rustls-webpki v0.103.10\n Compiling fastrand v2.3.0\n Compiling simd-adler32 v0.3.8\n Compiling heck v0.5.0\n Compiling strsim v0.11.1\n Compiling toml_writer v1.0.4\n Compiling tokio-rustls v0.26.4\n Compiling opaque-debug v0.3.1\n Compiling adler2 v2.0.1\n Compiling clap_lex v0.7.6\n Compiling iri-string v0.7.10\n Compiling tower-http v0.6.8\n Compiling clap_builder v4.5.51\n Compiling miniz_oxide v0.8.9\n Compiling polyval v0.6.2\n Compiling hyper-rustls v0.27.7\n Compiling rustls-platform-verifier v0.6.2\n Compiling toml v0.9.8\n Compiling git-testament-derive v0.2.1\n Compiling clap_derive v4.5.49\n Compiling tempfile v3.23.0\n Compiling serde_norway v0.9.42\n Compiling chacha20 v0.10.0\n Compiling directories-next v2.0.0\n Compiling hashlink v0.10.0\n Compiling url v2.5.8\n Compiling aes v0.8.4\n Compiling env_filter v0.1.4\n Compiling ctr v0.9.2\n Compiling cobs v0.3.0\n Compiling aead v0.5.2\n Compiling encoding_rs v0.8.35\n Compiling fallible-iterator v0.3.0\n Compiling jiff v0.2.16\n Compiling fallible-streaming-iterator v0.1.9\n Compiling mutants v0.0.3\n Compiling clingwrap v0.6.0\n Compiling rusqlite v0.37.0\n Compiling env_logger v0.11.8\n Compiling reqwest v0.13.2\n Compiling aes-gcm-siv v0.11.1\n Compiling postcard v1.1.3\n Compiling rand v0.10.0\n Compiling flate2 v1.1.8\n Compiling clap v4.5.51\n Compiling git-testament v0.2.6\n Compiling uuid v1.20.0\n Compiling hostname v0.4.2\n Compiling fiat-crypto v0.3.0\n Compiling orion v0.17.12\n Compiling obnam v0.10.0 (/ci/src/obnam)\n Compiling axum-core v0.5.6\n Compiling serde_urlencoded v0.7.1\n Compiling ed25519-compact v2.2.0\n Compiling axum-macros v0.5.0\n Compiling serde_path_to_error v0.1.20\n Compiling ct-codecs v1.1.6\n Compiling matchit v0.8.4\n Compiling pasetors v0.7.7\n Compiling axum v0.8.8\n Compiling obnam-server v0.1.0 (/ci/src/obnam-server)\n Finished `release` profile [optimized] target(s) in 2m 24s\n Installing obnam v0.10.0 (/ci/src/obnam)\n Compiling serde_core v1.0.228\n Compiling tokio v1.49.0\n Compiling serde v1.0.228\n Compiling tracing v0.1.44\n Compiling getrandom v0.3.4\n Compiling tokio-util v0.7.18\n Compiling h2 v0.4.13\n Compiling serde_json v1.0.149\n Compiling regex-syntax v0.8.8\n Compiling regex-automata v0.4.13\n Compiling hyper v1.8.1\n Compiling hyper-util v0.1.20\n Compiling tower v0.5.3\n Compiling regex v1.12.2\n Compiling tokio-rustls v0.26.4\n Compiling form_urlencoded v1.2.2\n Compiling toml_datetime v0.7.3\n Compiling serde_spanned v1.0.3\n Compiling serde_norway v0.9.42\n Compiling tempfile v3.23.0\n Compiling toml v0.9.8\n Compiling tower-http v0.6.8\n Compiling url v2.5.8\n Compiling hyper-rustls v0.27.7\n Compiling env_filter v0.1.4\n Compiling heapless v0.7.17\n Compiling clingwrap v0.6.0\n Compiling reqwest v0.13.2\n Compiling env_logger v0.11.8\n Compiling postcard v1.1.3\n Compiling uuid v1.20.0\n Compiling obnam v0.10.0 (/ci/src/obnam)\n Finished `release` profile [optimized] target(s) in 36.83s\n Installing /ci/src/debian/obnam/usr/bin/obnam\n Installed package `obnam v0.10.0 (/ci/src/obnam)` (executable `obnam`)\nwarning: be sure to add `/ci/src/debian/obnam/usr/bin` to your PATH to be able to run the installed binaries\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 from: /lib64/ld-linux-x86-64.so.2\ndpkg-shlibdeps: warning: diversions involved - output may be incorrect\n diversion by libc6 to: /lib64/ld-linux-x86-64.so.2.usr-is-merged\n dpkg-genbuildinfo -O../obnam_0.9.9.ci20260530T052951-1_amd64.buildinfo\n dpkg-genchanges -O../obnam_0.9.9.ci20260530T052951-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../obnam-dbgsym_0.9.9.ci20260530T052951-1_amd64.deb\n+ for x in ../*.deb\n+ dpkg -c ../obnam_0.9.9.ci20260530T052951-1_amd64.deb\n+ mv ../obnam-dbgsym_0.9.9.ci20260530T052951-1_amd64.deb ../obnam_0.9.9.ci20260530T052951-1.debian.tar.xz ../obnam_0.9.9.ci20260530T052951-1.dsc ../obnam_0.9.9.ci20260530T052951-1_amd64.buildinfo ../obnam_0.9.9.ci20260530T052951-1_amd64.changes ../obnam_0.9.9.ci20260530T052951-1_amd64.deb ../obnam_0.9.9.ci20260530T052951.orig.tar.xz /ci/artifacts/debian\n",
"timestamp": {
"secs_since_epoch": 1780119178,
"nanos_since_epoch": 404105622
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "deb",
"packages": "debian",
"timestamp": {
"secs_since_epoch": 1780119178,
"nanos_since_epoch": 607938159
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1780119178,
"nanos_since_epoch": 610053047
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vde",
"directory": "/ci/cache",
"timestamp": {
"secs_since_epoch": 1780119181,
"nanos_since_epoch": 240536899
},
"log_source": "Plan"
}{
"type": "execute_action",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1780119181,
"nanos_since_epoch": 243286416
},
"log_source": "Plan"
}{
"type": "action_succeeded",
"action": "tar_create",
"archive": "/dev/vdd",
"directory": "/ci/artifacts",
"timestamp": {
"secs_since_epoch": 1780119181,
"nanos_since_epoch": 252314429
},
"log_source": "Plan"
}{
"type": "plan_succeeded",
"timestamp": {
"secs_since_epoch": 1780119181,
"nanos_since_epoch": 255337380
},
"log_source": "Plan"
}{
"type": "executor_ends_successfully",
"timestamp": {
"secs_since_epoch": 1780119181,
"nanos_since_epoch": 256986349
},
"log_source": "Plan"
}{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x",
"name": "obnam",
"description": "Explore implementation of backup fundamentals",
"private": false,
"default_branch": "main",
"delegates": [
"did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
]
},
"action": "Created",
"patch": {
"id": "443189f7da2bbc100d1d43cca2a12a3fea748f3f",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"title": "feat: add example program to parse an encrypted chunk N times",
"state": {
"status": "open",
"conflicts": []
},
"before": "5b71bd2a97ebc84c8536c6a86d36b2a52441b50e",
"after": "0f2c74067bca15d21509f19e1e711dd4a951906e",
"commits": [
"0f2c74067bca15d21509f19e1e711dd4a951906e",
"da2f5a50bb38a3caef7b9c4c5353b05c743948ae",
"4247bc18f7b3c79f76472f9c1436a453bb9b203c",
"30707c01743f89f7061ab3dff9035dd038985aa9",
"deb580e8aaccf0cb1dd3e9deafaaeebee096061b",
"da53f023d211115a8cbe7825847ab5ff4ef89264",
"5ebfcc61a1d054e324ff4152437a2beeb80a2cb5",
"dda39a625a3052684897596e716ff82ff845f9b2",
"187902b67312e13ed5f75240c5671543c9a2e309",
"8e0eda40fa5b20883ff2c67cf659fcedd8954a91",
"5ae8fdbcc63a728f24e41748569da6d61f4c2057",
"1589e2ab445413bbdee4bbf0f36a806f3c5dc7ae",
"19c88114f13d3206642a4312928abf9cf7c477cd",
"cec1387be7afe1084e54d17d66f959d1a291aa61"
],
"target": "5b71bd2a97ebc84c8536c6a86d36b2a52441b50e",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "443189f7da2bbc100d1d43cca2a12a3fea748f3f",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "This is for deciding if it's OK to drop the id and label from the server\nAPI to upload a new chunk. Results on my laptop:\n\n$ hyperfine '/scratch/cargo-cache/release/examples/parse-chunk 100000'\nBenchmark 1: /scratch/cargo-cache/release/examples/parse-chunk 100000\n Time (mean ± σ): 10.5 ms ± 0.7 ms [User: 9.8 ms, System: 0.6 ms]\n Range (min … max): 9.3 ms … 15.4 ms 264 runs\n\nI deem this to be fast enough.\n\n\ntest: add test for serialized Id to make sure it's what's expected\n\n\nfeat: make all HTTP API operations report 500 error if repo fails\n\n\nfeat: configure server repository in its config file\n\n\nfeat: store backups in server backup repository\n\n\ndoc: add now-mandatory fiel to sample server config\n\n\nfeat: add a blob repository\n\n\nrefactor: make test code less repetitivfe\n\n\nrefactor: construct SQL parameters for Id, Label in one place\n\n\nrefactor: use blob repo in chunk repo\n\n\nrefactor: reduce duplication in test code\n\n\nrefactor: give server repo a directory name\n\nThis isn't yet used.\n\n\nfeat: use blob repository in server, for persistency\n\n\nchore: git ignore directory for manual test backups",
"base": "5b71bd2a97ebc84c8536c6a86d36b2a52441b50e",
"oid": "0f2c74067bca15d21509f19e1e711dd4a951906e",
"timestamp": 1780118846
}
]
}
}executor from config: /usr/bin/ambient-execute-plan executor from PATH: /usr/bin/ambient-execute-plan run CI for rad:zbWNQYkQ4QKgdSQcd1tjaemv6d6x
<empty log>