Radicle repository id rad:zwTxygwuz5LDGBq255RA2CbNGrz8
[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI QEMU DVD-ROM QM00005 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0): Not Found
BdsDxe: loading Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0)
[0m[30m[47mWelcome to GRUB!
[0m[37m[40m[0m[30m[40m[2J[01;01H[0m[37m[40mINFO: Block devices
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 254:0 0 100G 0 disk
├─vda1 254:1 0 953M 0 part
└─vda2 254:2 0 99.1G 0 part /
vdb 254:16 0 6.1M 1 disk
vdc 254:32 0 9.7M 1 disk
vdd 254:48 0 953.7M 0 disk
vde 254:64 0 27.9G 0 disk
vdf 254:80 0 897.4M 1 disk
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad 0 2025-12-05 14:19 ./
-rw-r--r-- _rad/_rad 1691 2025-12-05 14:19 ./plan.yaml
-rwxr-xr-x _rad/_rad 6394112 2025-12-05 14:19 ./run-ci
INFO: Extracted files:
6160394 4 drwxr-xr-x 2 1000 1000 4096 Dec 5 14:19 .
6160390 4 -rw-r--r-- 1 1000 1000 1691 Dec 5 14:19 ./plan.yaml
6160391 6248 -rwxr-xr-x 1 1000 1000 6394112 Dec 5 14:19 ./run-ci
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
[2025-12-05T14:19:34Z TRACE ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z DEBUG ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z INFO ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z WARN ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z ERROR ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
RunnablePlan::from_file: filename=plan.yaml
steps:
- action: mkdir
pathname: /workspace
- action: mkdir
pathname: /workspace/artifacts
- action: tar_extract
archive: /dev/vdc
directory: /workspace/src
- action: tar_extract
archive: /dev/vdf
directory: /workspace/deps
- action: tar_extract
archive: /dev/vde
directory: /workspace/cache
- action: cargo_clippy
- action: shell
shell: |
export CARGO_TARGET_DIR=/workspace/cache
export CARGO_HOME=/workspace/deps
export HOME=/root
export PATH="/root/.cargo/bin:/root/.radicle/bin:$PATH"
# Check that `rad` is there.
rad --help >/dev/null || (echo rad is not there; exit 1)
cargo doc --workspace --no-deps
# FIXME: We can't run upgrade tests from older versions because
# Ambient only fetches dependencies for the current version.
# Thus, we can't build the old versions. This is an Ambient
# problem that we can't fix here. So we skip the upgrade tests.
cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2
subplot docgen ci-broker.subplot -o doc/ci-broker.html
subplot docgen doc/userguide.subplot -o doc/userguide.html
make -C doc
cp doc/*.html /workspace/artifacts/.
- action: custom
name: dch
args:
debfullname: Lars Wirzenius
debemail: liw@liw.fi
- action: deb
- action: tar_create
archive: /dev/vde
directory: /workspace/cache
- action: tar_create
archive: /dev/vdd
directory: /workspace/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /workspace
source_dir: /workspace/src
deps_dir: /workspace/deps
cache_dir: /workspace/cache
artifacts_dir: /workspace/artifacts
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action Mkdir(
Mkdir {
pathname: "/workspace",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=Mkdir(
Mkdir {
pathname: "/workspace",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action Mkdir(
Mkdir {
pathname: "/workspace/artifacts",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=Mkdir(
Mkdir {
pathname: "/workspace/artifacts",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
[2025-12-05T14:19:37Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:19:37Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:37Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
)
[2025-12-05T14:19:37Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
)
[2025-12-05T14:19:37Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:37Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
[2025-12-05T14:20:06Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:20:06Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:20:06Z DEBUG ambient_ci::plan] RUN: Action CargoClippy(
CargoClippy,
)
[2025-12-05T14:20:06Z DEBUG ambient_ci::action] RunnableAction::execute: self=CargoClippy(
CargoClippy,
)
[2025-12-05T14:20:06Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.91.1 (ea2d97820 2025-10-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.91 (ed61e7d7e2 2025-11-07)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.91.1 (ed61e7d7e 2025-11-07)
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
cwd=/workspace/src (exists? true)
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s
[2025-12-05T14:20:11Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:20:11Z DEBUG ambient_ci::plan] RUN: Action Shell(
Shell {
shell: "export CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n",
},
)
[2025-12-05T14:20:11Z DEBUG ambient_ci::action] RunnableAction::execute: self=Shell(
Shell {
shell: "export CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n",
},
)
[2025-12-05T14:20:11Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
SPAWN: argv=["/bin/bash", "-c", "set -xeuo pipefail\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n\n"]
cwd=/workspace/src (exists? true)
+ 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/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ rad --help
+ cargo doc --workspace --no-deps
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Documenting radicle-ci-broker v0.23.0 (/workspace/src)
warning: unresolved link to `RunningProcess`
--> src/adapter.rs:380:44
|
380 | /// Error from [`TimeoutCommand`] or [`RunningProcess`].
| ^^^^^^^^^^^^^^ no item named `RunningProcess` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
= note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
warning: unresolved link to `RunningProcess`
--> src/timeoutcmd.rs:74:24
|
74 | /// output. See also [`RunningProcess`].
| ^^^^^^^^^^^^^^ no item named `RunningProcess` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: `radicle-ci-broker` (lib doc) generated 2 warnings
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.13s
Generated /workspace/cache/doc/radicle_ci_broker/index.html and 4 other files
+ cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Finished `test` profile [unoptimized + debuginfo] target(s) in 8.26s
Running unittests src/lib.rs (/workspace/cache/debug/deps/radicle_ci_broker-17968df3ae8811eb)
running 86 tests
test adapter::test::adapter_ends_ok_before_first_message ... FAILED
test adapter::test::adapter_does_not_exist ... FAILED
test adapter::test::adapter_ends_ok_before_second_message ... FAILED
test adapter::test::adapter_exits_nonzero ... FAILED
test adapter::test::adapter_first_message_isnt_triggered ... FAILED
test adapter::test::adapter_has_bad_interpreter ... FAILED
test adapter::test::adapter_is_killed_after_second_message ... FAILED
test adapter::test::adapter_is_killed_before_any_messages ... FAILED
test adapter::test::adapter_is_not_executable ... FAILED
test adapter::test::adapter_is_killed_before_first_message ... FAILED
test adapter::test::adapter_outputs_too_many_messages ... FAILED
test adapter::test::adapter_produces_as_bad_message ... FAILED
test adapter::test::adapter_reports_success ... FAILED
test adapter::test::adapter_reports_failure ... FAILED
test broker::test::adapter_fails ... FAILED
test ci_event::test::branch_created ... ok
test ci_event::test::branch_deleted ... ok
test ci_event::test::branch_updated ... ok
test ci_event::test::nothing_updated ... ok
test ci_event::test::patch_created ... ok
test ci_event::test::patch_updated ... ok
test ci_event::test::skipped ... ok
test ci_event::test_parsed_ref::branch ... ok
test ci_event::test_parsed_ref::patch ... ok
test broker::test::executes_adapter ... FAILED
test config::test::parse_config_yaml ... ok
test config::test::parse_config_yaml_without_max_run_time ... ok
test ci_event::test_parsed_ref::tag ... ok
test filter::test::allows_all_for_default_repository ... ok
test filter::test::allows_all_for_main_branch ... ok
test filter::test::allows_all_for_right_node ... ok
test filter::test::allows_any_event ... ok
test filter::test::allows_branch_creation ... ok
test filter::test::allows_branch_deletion ... ok
test filter::test::allows_branch_update ... ok
test filter::test::allows_if_all_allow ... ok
test filter::test::allows_if_any_allows ... ok
test filter::test::allows_no_event ... ok
test filter::test::allows_none_for_wrong_node ... ok
test filter::test::allows_opposite ... ok
test filter::test::allows_patch_creation ... ok
test filter::test::allows_patch_update ... ok
test filter::test::allows_shutdown ... ok
test filter::test::allows_specific_patch ... ok
test filter::test::allows_wanted_tag ... ok
test filter::test::deserialize_yaml_nested_not ... ok
test filter::test::doesnt_allow_any_for_other_branch ... ok
test filter::test::doesnt_allow_any_for_other_repository ... ok
test filter::test::doesnt_allow_unexpected_tag ... ok
test filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_prefix ... ok
test filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_suffix ... ok
test filter::test::doesnt_allows_other_patch ... ok
test filter::test::only_allows_branch_creation ... ok
test filter::test::only_allows_branch_deletion ... ok
test filter::test::only_allows_branch_update ... ok
test filter::test::only_allows_patch_creation ... ok
test filter::test::only_allows_patch_update ... ok
test filter::test::yaml_roundtrip ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok
test refs::test::extracts_branch_namespaced_branch ... ok
test refs::test::namespaced_branch_from_plain ... ok
test refs::test::plain_branch_name ... ok
test refs::test::qualified_branch_name_from_plain ... ok
test refs::test::ref_string_from_plain_branch_name ... ok
test run::test::serialize_run_state ... ok
test sensitive::test_sensitive::debugged ... ok
test sensitive::test_sensitive::deser ... ok
test sensitive::test_sensitive::displayed ... ok
test sensitive::test_sensitive::ser ... ok
test refs::test::creates_patch_from_str ... ok
test timeoutcmd::tests::bin_false ... ok
test timeoutcmd::tests::hello_world ... ok
test timeoutcmd::tests::bin_true ... ok
test timeoutcmd::tests::hello_world_to_stderr ... ok
test timeoutcmd::tests::kill ... ok
test timeoutcmd::tests::kill_stderr ... ok
test timeoutcmd::tests::pipe_through_cat ... ok
test timeoutcmd::tests::sleep_1 ... ok
test timeoutcmd::tests::sleep_for_too_long ... ok
test timeoutcmd::tests::yes_to_stderr ... ok
test timeoutcmd::tests::sleep_for_too_long_while_reading_with_realtimelines ... ok
test timeoutcmd::tests::yes_to_stdout ... ok
test timeoutcmd::tests::yes_to_stdout_while_reading_with_realtimelines ... ok
failures:
---- adapter::test::adapter_ends_ok_before_first_message stdout ----
thread 'adapter::test::adapter_ends_ok_before_first_message' (1823) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_does_not_exist stdout ----
thread 'adapter::test::adapter_does_not_exist' (1822) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- adapter::test::adapter_ends_ok_before_second_message stdout ----
thread 'adapter::test::adapter_ends_ok_before_second_message' (1848) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_exits_nonzero stdout ----
thread 'adapter::test::adapter_exits_nonzero' (1849) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_first_message_isnt_triggered stdout ----
thread 'adapter::test::adapter_first_message_isnt_triggered' (1868) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_has_bad_interpreter stdout ----
thread 'adapter::test::adapter_has_bad_interpreter' (1875) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_after_second_message stdout ----
thread 'adapter::test::adapter_is_killed_after_second_message' (1900) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_before_any_messages stdout ----
thread 'adapter::test::adapter_is_killed_before_any_messages' (1901) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_not_executable stdout ----
thread 'adapter::test::adapter_is_not_executable' (1927) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_before_first_message stdout ----
thread 'adapter::test::adapter_is_killed_before_first_message' (1926) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_outputs_too_many_messages stdout ----
thread 'adapter::test::adapter_outputs_too_many_messages' (1952) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_produces_as_bad_message stdout ----
thread 'adapter::test::adapter_produces_as_bad_message' (1953) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_reports_success stdout ----
thread 'adapter::test::adapter_reports_success' (1979) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_reports_failure stdout ----
thread 'adapter::test::adapter_reports_failure' (1978) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- broker::test::adapter_fails stdout ----
thread 'broker::test::adapter_fails' (2004) panicked at src/broker.rs:236:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- broker::test::executes_adapter stdout ----
thread 'broker::test::executes_adapter' (2005) panicked at src/broker.rs:236:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
failures:
adapter::test::adapter_does_not_exist
adapter::test::adapter_ends_ok_before_first_message
adapter::test::adapter_ends_ok_before_second_message
adapter::test::adapter_exits_nonzero
adapter::test::adapter_first_message_isnt_triggered
adapter::test::adapter_has_bad_interpreter
adapter::test::adapter_is_killed_after_second_message
adapter::test::adapter_is_killed_before_any_messages
adapter::test::adapter_is_killed_before_first_message
adapter::test::adapter_is_not_executable
adapter::test::adapter_outputs_too_many_messages
adapter::test::adapter_produces_as_bad_message
adapter::test::adapter_reports_failure
adapter::test::adapter_reports_success
broker::test::adapter_fails
broker::test::executes_adapter
test result: FAILED. 70 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.29s
error: test failed, to rerun pass `--lib`
Running unittests src/bin/cib.rs (/workspace/cache/debug/deps/cib-5d0d858219535c52)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/cibtool.rs (/workspace/cache/debug/deps/cibtool-e1c2348a4ffda44c)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/default_branch.rs (/workspace/cache/debug/deps/default_branch-4c3a2f857747fa7f)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/synthetic-events.rs (/workspace/cache/debug/deps/synthetic_events-496e5811faef25f2)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/subplot.rs (/workspace/cache/debug/deps/subplot-d25024c6d39494bf)
running 73 tests
test adapter_with_url_runs_successfully ... ok
test add_information_about_run_that_s_finished_in_failure_to_database ... ok
test adapter_can_provide_url_for_info_on_run ... ok
test add_information_about_run_that_s_finished_successfully_to_database ... ok
test add_information_about_run_that_s_running_to_database ... ok
test allows_setting_minimum_log_level ... ok
test add_information_about_triggered_run_to_database ... ok
test can_add_a_branch_creation_event_to_queue ... ok
test can_add_a_branch_deletion_event_to_queue ... ok
test can_add_a_branch_update_event_to_queue ... ok
test can_add_a_patch_creation_event_to_queue ... ok
test can_add_a_patch_update_event_to_queue ... ok
test can_add_shutdown_event_to_queue ... ok
test can_output_trigger_message_for_a_ci_run ... ok
test can_remove_all_queued_events ... ok
test can_trigger_a_ci_run ... ok
test convert_recorded_node_events_into_ci_events ... ok
test can_shut_down_cleanly ... ok
test count_in_a_single_process has been running for over 60 seconds
test count_in_concurrent_processes has been running for over 60 seconds
test count_in_a_single_process ... ok
test create_a_repository ... ok
test don_t_insert_event_for_non_existent_repository ... ok
test dummy_adapter_runs_successfully ... ok
test event_synthesizer_terminates_after_first_connection ... ok
test events_can_be_queued_and_removed_from_queue ... ok
test extract_cib_log_from_journald_and_pretty_print ... ok
test count_in_concurrent_processes ... ok
test fails_run_if_building_trigger_fails__but_does_not_crash ... ok
test filter_predicate_allow ... ok
test filter_predicate_anydelegate ... ok
test filter_predicate_and ... ok
test filter_predicate_branch ... ok
test filter_predicate_branchcreated ... ok
test filter_predicate_branchdeleted ... ok
test filter_predicate_branchupdated ... ok
test filter_predicate_deny ... ok
test filter_predicate_defaultbranch ... ok
test filter_predicate_hasfile ... ok
test filter_predicate_not ... ok
test filter_predicate_node ... ok
test filter_predicate_repository ... ok
test filter_predicate_or ... ok
test filter_recorded_ci_events ... ok
test filter_predicate_tag ... ok
test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... ok
test gives_helpful_error_message_if_node_socket_can_t_be_found ... ok
test handles_adapter_failing_on_a_failed_run ... ok
test handles_adapter_failing_on_a_successful_run ... ok
test insert_events_into_queue ... ok
test logs_adapter_stderr_output ... ok
test logs_start_and_successful_end ... ok
test logs_termination_due_to_error ... ok
test process_queued_events ... ok
test processes_empty_event_queue_successfully ... ok
test produces_a_json_status_file ... ok
test produces_a_report_page_upon_request ... ok
test queue_a_node_event_for_processing ... ok
test record_node_events ... ok
test refuses_config_with_an_unknown_field ... ok
test remove_information_about_a_run_from_the_database ... ok
test reports_it_version ... ok
test runs_adapter_on_each_type_of_event ... ok
test runs_adapter_with_configuration ... ok
test runs_adapter_without_a_report_directory ... ok
test runs_adapters_for_all_matching_triggers ... ok
test set_up_a_node ... ok
test shows_adapter_specification ... ok
test shows_json_config_as_json ... ok
test shows_yaml_config_as_json ... ok
test insert_many_events_into_queue ... ok
test stops_if_the_node_connection_breaks ... ok
test update_and_show_information_about_run_to_running ... ok
test we_can_run_rad ... ok
test smoke_test__runs_adapter ... ok
test result: ok. 73 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 206.20s
Doc-tests radicle_ci_broker
running 2 tests
test src/msg.rs - msg::RunId (line 49) ... ok
test src/timeoutcmd.rs - timeoutcmd (line 21) ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
error: 1 target failed:
`--lib`
[2025-12-05T14:24:00Z ERROR ambient_ci::plan] ERROR: Action failed: failed to execute /bin/bash
[2025-12-05T14:24:00Z ERROR ambient_ci::plan] caused by: command failed: "/bin/bash": exit code 101
ERROR: failed to execute /bin/bash
caused by: command failed: "/bin/bash": exit code 101
EXIT CODE: 1
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:zwTxygwuz5LDGBq255RA2CbNGrz8",
"name": "radicle-ci-broker",
"description": "Radicle CI broker",
"private": false,
"default_branch": "main",
"delegates": [
"did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT"
]
},
"action": "Created",
"patch": {
"id": "80f08ce0e6ee22a460c7edb15c2f2da3c95f8f41",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"title": "feat: add \"cibtool cob\" to add runs to a job COB",
"state": {
"status": "open",
"conflicts": []
},
"before": "c60c427eb94d9333f49366d540984ef5e50b9326",
"after": "565892557b1401ff92ebccaca9013aebd432121d",
"commits": [
"565892557b1401ff92ebccaca9013aebd432121d",
"e541019e3a496e18a7068e1a136e7610684837f5",
"21db3db163531ff0f652224d018a961822110b59"
],
"target": "c60c427eb94d9333f49366d540984ef5e50b9326",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "80f08ce0e6ee22a460c7edb15c2f2da3c95f8f41",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "feat: cache job COB ID lookup\n\n\nfeat: make announcing option for \"cibool cob\"",
"base": "c60c427eb94d9333f49366d540984ef5e50b9326",
"oid": "565892557b1401ff92ebccaca9013aebd432121d",
"timestamp": 1764944352
}
]
}
}[2025-12-05T14:19:13Z INFO ambient] ambient starts
[2025-12-05T14:19:13Z DEBUG ambient] load default configuration file /home/_rad/.config/ambient/config.yaml if it exists
deprecated: the `cpus` field is replaced by `qemu.cpus`
deprecated: the `memory` field is replaced by `qemu.memory`
[2025-12-05T14:19:13Z DEBUG ambient] complete configuration: Config {
tmpdir: "/home/_rad/tmp",
image_store: "/home/_rad/ambient-images",
projects: "/dev/null",
state: "/home/_rad/ambient-state",
rsync_target: None,
rsync_target_base: None,
rsync_target_map: None,
dput_target: None,
executor: Some(
"/usr/bin/ambient-execute-plan",
),
artifacts_max_size: Byte(
1000000000,
),
cache_max_size: Byte(
30000000000,
),
qemu: QemuConfig {
cpus: 2,
memory: Byte(
12000000000,
),
kvm_binary: "/usr/bin/kvm",
ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
},
}
[2025-12-05T14:19:13Z DEBUG ambient_ci::project] load project state from /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/meta.yaml
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] latest commit: "c60c427eb94d9333f49366d540984ef5e50b9326"
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] is a git repository
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] git repository is clean
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] current (HEAD) commit: 565892557b1401ff92ebccaca9013aebd432121d
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] no dry run requested
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] forced run requested
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] run? true
[2025-12-05T14:19:13Z INFO ambient_ci::run] project rad:zwTxygwuz5LDGBq255RA2CbNGrz8: running CI
[2025-12-05T14:19:13Z DEBUG ambient_ci::run] Executing pre-plan steps
[2025-12-05T14:19:13Z DEBUG ambient_ci::plan] RUN: Action CargoFetch(
CargoFetch,
)
[2025-12-05T14:19:13Z DEBUG ambient_ci::action] RunnableAction::execute: self=CargoFetch(
CargoFetch,
)
[2025-12-05T14:19:13Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"PATH": "/root/.cargo/bin:/bin:/home/_rad/.radicle/bin:/home/_rad/.cargo/bin",
"CARGO_HOME": "/home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/dependencies",
"CARGO_TARGET_DIR": "/home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/cache",
},
source_dir: "/tmp/.tmpwEqYsy/src",
deps_dir: "/home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/dependencies",
artifacts_dir: "/home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/artifacts",
}
SPAWN: argv=["cargo", "--version"]
cwd=/tmp/.tmpwEqYsy/src (exists? true)
cargo 1.91.1 (ea2d97820 2025-10-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/tmp/.tmpwEqYsy/src (exists? true)
clippy 0.1.91 (ed61e7d7e2 2025-11-07)
SPAWN: argv=["rustc", "--version"]
cwd=/tmp/.tmpwEqYsy/src (exists? true)
rustc 1.91.1 (ed61e7d7e 2025-11-07)
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: /tmp/.tmpwEqYsy/src => /tmp/.tmpxaRUmJ
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/Cargo.toml wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/Cargo.toml => /tmp/.tmpxaRUmJ/Cargo.toml
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.gitignore wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/tests wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/tests/subplot.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/tests/subplot.rs => /tmp/.tmpxaRUmJ/tests/subplot.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/test2.yaml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/test.yaml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/queueproc.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/queueproc.rs => /tmp/.tmpxaRUmJ/src/queueproc.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/cob.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/cob.rs => /tmp/.tmpxaRUmJ/src/cob.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/broker.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/broker.rs => /tmp/.tmpxaRUmJ/src/broker.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/adapter.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/adapter.rs => /tmp/.tmpxaRUmJ/src/adapter.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/worker.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/worker.rs => /tmp/.tmpxaRUmJ/src/worker.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/util.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/util.rs => /tmp/.tmpxaRUmJ/src/util.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/timeoutcmd.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/timeoutcmd.rs => /tmp/.tmpxaRUmJ/src/timeoutcmd.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/test.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/test.rs => /tmp/.tmpxaRUmJ/src/test.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/subplot.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/subplot.rs => /tmp/.tmpxaRUmJ/src/subplot.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/sensitive.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/sensitive.rs => /tmp/.tmpxaRUmJ/src/sensitive.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/run.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/run.rs => /tmp/.tmpxaRUmJ/src/run.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/refs.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/refs.rs => /tmp/.tmpxaRUmJ/src/refs.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/radicle-ci.css wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/queueadd.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/queueadd.rs => /tmp/.tmpxaRUmJ/src/queueadd.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/pages.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/pages.rs => /tmp/.tmpxaRUmJ/src/pages.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/notif.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/notif.rs => /tmp/.tmpxaRUmJ/src/notif.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/node_event_source.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/node_event_source.rs => /tmp/.tmpxaRUmJ/src/node_event_source.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/msg.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/msg.rs => /tmp/.tmpxaRUmJ/src/msg.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/logger.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/logger.rs => /tmp/.tmpxaRUmJ/src/logger.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/lib.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/lib.rs => /tmp/.tmpxaRUmJ/src/lib.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/filter wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/filter/arbitrary.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/filter/arbitrary.rs => /tmp/.tmpxaRUmJ/src/filter/arbitrary.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/filter.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/filter.rs => /tmp/.tmpxaRUmJ/src/filter.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/ergo.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/ergo.rs => /tmp/.tmpxaRUmJ/src/ergo.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/db.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/db.rs => /tmp/.tmpxaRUmJ/src/db.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/config.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/config.rs => /tmp/.tmpxaRUmJ/src/config.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/ci_event_source.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/ci_event_source.rs => /tmp/.tmpxaRUmJ/src/ci_event_source.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/ci_event.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/ci_event.rs => /tmp/.tmpxaRUmJ/src/ci_event.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtool.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtool.rs => /tmp/.tmpxaRUmJ/src/bin/cibtool.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/synthetic-events.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/synthetic-events.rs => /tmp/.tmpxaRUmJ/src/bin/synthetic-events.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/default_branch.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/default_branch.rs => /tmp/.tmpxaRUmJ/src/bin/default_branch.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/mod.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/mod.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/mod.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/cob.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/cob.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/cob.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/trigger.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/trigger.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/trigger.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/timeout.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/timeout.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/timeout.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/run.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/run.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/run.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/report.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/report.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/report.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/message.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/message.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/message.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/log.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/log.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/log.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/event.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/event.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/event.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/counter.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cibtoolcmd/counter.rs => /tmp/.tmpxaRUmJ/src/bin/cibtoolcmd/counter.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/src/bin/cib.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/src/bin/cib.rs => /tmp/.tmpxaRUmJ/src/bin/cib.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/flake.nix wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/flake.lock wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/userguide.subplot wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/userguide.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/requirements.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/overview.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/messages.txt wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/messages.sh wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/filter-impl.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/architecture.subplot wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/architecture.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/adapter-impl.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/doc/Makefile wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/source wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/source/format wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/rules wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/radicle-ci-broker.manpages wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/lintian-overrides wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/copyright wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/control wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/compat wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/changelog wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/cargo-checksum.json wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/debian/build-deb wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/cibtool.1 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/cib.1 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/ci-broker.yaml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/ci-broker.subplot wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/ci-broker.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/ci-broker.db wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/build.rs wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/build.rs => /tmp/.tmpxaRUmJ/build.rs
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/RELEASE.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/README.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/NEWS.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/Makefile wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/LICENSE-MIT wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/LICENSE-APACHE wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/Cargo.lock wanted=true
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] copy_partial_tree: copy /tmp/.tmpwEqYsy/src/Cargo.lock => /tmp/.tmpxaRUmJ/Cargo.lock
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/CONTRIBUTING.md wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.radicle wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.radicle/ambient.yaml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.envrc wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.cargo wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.cargo/deny.toml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.cargo/audit.toml wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.ambient wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.ambient/dch wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/index wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/HEAD wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/config wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/HEAD wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs/heads wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs/heads/main wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs/remotes wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs/remotes/origin wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/logs/refs/remotes/origin/HEAD wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/packed-refs wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/remotes wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/remotes/origin wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/remotes/origin/HEAD wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/tags wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/heads wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/refs/heads/main wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/07 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/07/6a801f2d681e483fd74c0b041725da57435816 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/c6 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/c6/eade58f2f94d74576decca7f6bc61efeb8589a wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/b8 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/b8/c2d05b3e7bc1775756d2eb49daabefff5656ac wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/7c wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/7c/b3a48c342c6c891d794cf2919a484bd371cf06 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/ae wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/ae/12383ef3cff78df9269ec9ea252a2ee84bbdbd wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/01 wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/01/3c3de36ef0da688dfd513bf22164fa6becccea wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/7f wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/7f/0d9dc42ad906c818ca4e1dd409468ffa42a53c wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/info wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/info/commit-graph wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/info/packs wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-74d6caa86feb0e8658169be9bf4a59bb8d46127e.idx wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-9b8faeeee6227a305ec83e1661392811c03b7ad0.idx wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-30c1dbad08ed99c14433bfe42a0a92eda5feb663.idx wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-30c1dbad08ed99c14433bfe42a0a92eda5feb663.pack wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-74d6caa86feb0e8658169be9bf4a59bb8d46127e.pack wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-30c1dbad08ed99c14433bfe42a0a92eda5feb663.bitmap wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-9b8faeeee6227a305ec83e1661392811c03b7ad0.pack wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/objects/pack/pack-30c1dbad08ed99c14433bfe42a0a92eda5feb663.rev wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/branches wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/update.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/commit-msg.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/applypatch-msg.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-merge-commit.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/post-update.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-push.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-rebase.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/push-to-checkout.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/prepare-commit-msg.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/fsmonitor-watchman.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-commit.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-receive.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/sendemail-validate.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/hooks/pre-applypatch.sample wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/description wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/info wanted=false
[2025-12-05T14:19:13Z DEBUG ambient_ci::util] path=/tmp/.tmpwEqYsy/src/.git/info/exclude wanted=false
SPAWN: argv=["cargo", "fetch", "--locked"]
cwd=/tmp/.tmpxaRUmJ (exists? true)
[2025-12-05T14:19:14Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:14Z DEBUG ambient_ci::plan] All actions were performed successfully
[2025-12-05T14:19:14Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpAYGGkK/src.tar
[2025-12-05T14:19:14Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpAYGGkK/deps.tar
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] create_executor_vdrive: executor="/usr/bin/ambient-execute-plan"
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] create_executor_vdrive: plan=RunnablePlan {
steps: [
Mkdir(
Mkdir {
pathname: "/workspace",
},
),
Mkdir(
Mkdir {
pathname: "/workspace/artifacts",
},
),
TarExtract(
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
),
TarExtract(
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
),
TarExtract(
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
),
CargoClippy(
CargoClippy,
),
Shell(
Shell {
shell: "export CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n",
},
),
Custom(
Custom {
name: "dch",
args: {
"debfullname": String("Lars Wirzenius"),
"debemail": String("liw@liw.fi"),
},
},
),
Deb(
Deb,
),
TarCreate(
TarCreate {
archive: "/dev/vde",
directory: "/workspace/cache",
},
),
TarCreate(
TarCreate {
archive: "/dev/vdd",
directory: "/workspace/artifacts",
},
),
],
executor_drive: Some(
"/dev/vdb",
),
source_drive: Some(
"/dev/vdc",
),
artifact_drive: Some(
"/dev/vdd",
),
cache_drive: Some(
"/dev/vde",
),
deps_drive: Some(
"/dev/vdf",
),
workspace_dir: Some(
"/workspace",
),
source_dir: Some(
"/workspace/src",
),
deps_dir: Some(
"/workspace/deps",
),
cache_dir: Some(
"/workspace/cache",
),
artifacts_dir: Some(
"/workspace/artifacts",
),
}
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] executor bin /usr/bin/ambient-execute-plan
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] copying /usr/bin/ambient-execute-plan to /home/_rad/tmp/.tmpAYGGkK/ambient-execute-plan/run-ci
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] copy OK: true
[2025-12-05T14:19:19Z DEBUG ambient_ci::run] create virtual drive /home/_rad/tmp/.tmpAYGGkK/executor.tar
[2025-12-05T14:19:31Z DEBUG ambient_ci::project] removing run log file /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log
[2025-12-05T14:19:31Z DEBUG ambient_ci::project] statedir is /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8, exists? true
[2025-12-05T14:19:31Z DEBUG ambient_ci::project] creating run log file /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log
[2025-12-05T14:19:31Z DEBUG ambient_ci::project] created run log file /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log OK
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] with_hostname called: "ambient"
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] with_runcmd called: "echo xyzzy > /dev/ttyS1"
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] with_runcmd called: "\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n"
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] with_runcmd called: "poweroff"
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] LocalDataStoreBuilder: LocalDataStoreBuilder {
hostname: Some(
"ambient",
),
network: false,
bootcmd: [],
runcmd: [
"echo xyzzy > /dev/ttyS1",
"\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
"poweroff",
],
}
[2025-12-05T14:19:31Z DEBUG ambient_ci::qemu] run QEMU
[2025-12-05T14:19:31Z DEBUG ambient_ci::qemu] create copy-on-write image and UEFI vars file
[2025-12-05T14:19:31Z DEBUG ambient_ci::qemu_utils] qemu-img create /home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/vm.qcow2 backing on /home/_rad/ambient.qcow2
[2025-12-05T14:19:31Z DEBUG ambient_ci::qemu] create cloud-init ISO file
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] LocalDataStore: LocalDataStore {
hostname: "ambient",
network: false,
bootcmd: [],
runcmd: [
"echo xyzzy > /dev/ttyS1",
"\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n echo \"EXIT CODE: 0\"\nelse\n echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
"poweroff",
],
}
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] write /tmp/.tmpHuwQRZ/meta-data
[2025-12-05T14:19:31Z DEBUG ambient_ci::cloud_init] write /tmp/.tmpHuwQRZ/user-data
[2025-12-05T14:19:32Z DEBUG ambient_ci::qemu] set console log file to /home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/console.log
[2025-12-05T14:19:32Z DEBUG ambient_ci::util] create file /home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/console.log
[2025-12-05T14:19:32Z DEBUG ambient_ci::qemu] set run file to /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log
[2025-12-05T14:19:32Z DEBUG ambient_ci::util] create file /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log
[2025-12-05T14:19:32Z DEBUG ambient_ci::qemu] run QEMU: QemuArgs {
args: [
"-m",
"11444",
"-smp",
"cpus=2",
"-cpu",
"kvm64",
"-machine",
"type=q35,accel=kvm,usb=off",
"-uuid",
"a85c9de7-edc0-4e54-bead-112e5733582c",
"-boot",
"strict=on",
"-name",
"ambient-ci-vm",
"-rtc",
"base=utc,driftfix=slew",
"-display",
"none",
"-device",
"virtio-rng-pci",
"-serial",
"file:/home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/console.log",
"-serial",
"file:/home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/run.log",
"-drive",
"if=pflash,format=raw,unit=0,file=/usr/share/ovmf/OVMF.fd,readonly=on",
"-drive",
"if=pflash,format=raw,unit=1,file=/home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/vars.fd",
"-drive",
"format=qcow2,if=virtio,file=/home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/vm.qcow2",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpAYGGkK/executor.tar,readonly=on",
"-cdrom",
"/home/_rad/tmp/.tmpXBEnIR/.tmp8wgrRl/cloud_init.iso",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpAYGGkK/src.tar,readonly=on",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpAYGGkK/artifacts.tar",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpAYGGkK/cache.tar",
"-drive",
"format=raw,if=virtio,file=/home/_rad/tmp/.tmpAYGGkK/deps.tar,readonly=on",
"-nodefaults",
"-no-user-config",
],
}
[2025-12-05T14:24:01Z DEBUG ambient_ci::qemu] QEMU finished OK
[2025-12-05T14:24:01Z DEBUG ambient_ci::qemu] run log:
--------------------==========
[2025-12-05T14:19:34Z TRACE ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z DEBUG ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z INFO ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z WARN ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
[2025-12-05T14:19:34Z ERROR ambient_execute_plan] ambient-execute-plan version 0.10.0@9492962 starts
RunnablePlan::from_file: filename=plan.yaml
steps:
- action: mkdir
pathname: /workspace
- action: mkdir
pathname: /workspace/artifacts
- action: tar_extract
archive: /dev/vdc
directory: /workspace/src
- action: tar_extract
archive: /dev/vdf
directory: /workspace/deps
- action: tar_extract
archive: /dev/vde
directory: /workspace/cache
- action: cargo_clippy
- action: shell
shell: |
export CARGO_TARGET_DIR=/workspace/cache
export CARGO_HOME=/workspace/deps
export HOME=/root
export PATH="/root/.cargo/bin:/root/.radicle/bin:$PATH"
# Check that `rad` is there.
rad --help >/dev/null || (echo rad is not there; exit 1)
cargo doc --workspace --no-deps
# FIXME: We can't run upgrade tests from older versions because
# Ambient only fetches dependencies for the current version.
# Thus, we can't build the old versions. This is an Ambient
# problem that we can't fix here. So we skip the upgrade tests.
cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2
subplot docgen ci-broker.subplot -o doc/ci-broker.html
subplot docgen doc/userguide.subplot -o doc/userguide.html
make -C doc
cp doc/*.html /workspace/artifacts/.
- action: custom
name: dch
args:
debfullname: Lars Wirzenius
debemail: liw@liw.fi
- action: deb
- action: tar_create
archive: /dev/vde
directory: /workspace/cache
- action: tar_create
archive: /dev/vdd
directory: /workspace/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /workspace
source_dir: /workspace/src
deps_dir: /workspace/deps
cache_dir: /workspace/cache
artifacts_dir: /workspace/artifacts
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action Mkdir(
Mkdir {
pathname: "/workspace",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=Mkdir(
Mkdir {
pathname: "/workspace",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action Mkdir(
Mkdir {
pathname: "/workspace/artifacts",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=Mkdir(
Mkdir {
pathname: "/workspace/artifacts",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:34Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
},
)
[2025-12-05T14:19:34Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:34Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
[2025-12-05T14:19:37Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:19:37Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:19:37Z DEBUG ambient_ci::plan] RUN: Action TarExtract(
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
)
[2025-12-05T14:19:37Z DEBUG ambient_ci::action] RunnableAction::execute: self=TarExtract(
TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
},
)
[2025-12-05T14:19:37Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
[2025-12-05T14:19:37Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
[2025-12-05T14:20:06Z TRACE ambient_ci::vdrive] extraction OK
[2025-12-05T14:20:06Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:20:06Z DEBUG ambient_ci::plan] RUN: Action CargoClippy(
CargoClippy,
)
[2025-12-05T14:20:06Z DEBUG ambient_ci::action] RunnableAction::execute: self=CargoClippy(
CargoClippy,
)
[2025-12-05T14:20:06Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
SPAWN: argv=["cargo", "--version"]
cwd=/workspace/src (exists? true)
cargo 1.91.1 (ea2d97820 2025-10-10)
SPAWN: argv=["cargo", "clippy", "--version"]
cwd=/workspace/src (exists? true)
clippy 0.1.91 (ed61e7d7e2 2025-11-07)
SPAWN: argv=["rustc", "--version"]
cwd=/workspace/src (exists? true)
rustc 1.91.1 (ed61e7d7e 2025-11-07)
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
cwd=/workspace/src (exists? true)
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s
[2025-12-05T14:20:11Z DEBUG ambient_ci::plan] RUN: Action finished OK
[2025-12-05T14:20:11Z DEBUG ambient_ci::plan] RUN: Action Shell(
Shell {
shell: "export CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n",
},
)
[2025-12-05T14:20:11Z DEBUG ambient_ci::action] RunnableAction::execute: self=Shell(
Shell {
shell: "export CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n",
},
)
[2025-12-05T14:20:11Z DEBUG ambient_ci::action] RunnableAction::execute: context=Context {
envs: {
"CARGO_TARGET_DIR": "/workspace/cache",
"CARGO_HOME": "/workspace/deps",
"HOME": "/root",
"PATH": "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
},
source_dir: "/workspace/src",
deps_dir: "/workspace/deps",
artifacts_dir: "/workspace/artifacts",
}
SPAWN: argv=["/bin/bash", "-c", "set -xeuo pipefail\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:/root/.radicle/bin:$PATH\"\n\n# Check that `rad` is there.\nrad --help >/dev/null || (echo rad is not there; exit 1)\n\ncargo doc --workspace --no-deps\n\n# FIXME: We can't run upgrade tests from older versions because\n# Ambient only fetches dependencies for the current version.\n# Thus, we can't build the old versions. This is an Ambient\n# problem that we can't fix here. So we skip the upgrade tests.\ncargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc\ncp doc/*.html /workspace/artifacts/.\n\n"]
cwd=/workspace/src (exists? true)
+ 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/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ rad --help
+ cargo doc --workspace --no-deps
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Documenting radicle-ci-broker v0.23.0 (/workspace/src)
warning: unresolved link to `RunningProcess`
--> src/adapter.rs:380:44
|
380 | /// Error from [`TimeoutCommand`] or [`RunningProcess`].
| ^^^^^^^^^^^^^^ no item named `RunningProcess` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
= note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
warning: unresolved link to `RunningProcess`
--> src/timeoutcmd.rs:74:24
|
74 | /// output. See also [`RunningProcess`].
| ^^^^^^^^^^^^^^ no item named `RunningProcess` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: `radicle-ci-broker` (lib doc) generated 2 warnings
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.13s
Generated /workspace/cache/doc/radicle_ci_broker/index.html and 4 other files
+ cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2
Compiling radicle-ci-broker v0.23.0 (/workspace/src)
Finished `test` profile [unoptimized + debuginfo] target(s) in 8.26s
Running unittests src/lib.rs (/workspace/cache/debug/deps/radicle_ci_broker-17968df3ae8811eb)
running 86 tests
test adapter::test::adapter_ends_ok_before_first_message ... FAILED
test adapter::test::adapter_does_not_exist ... FAILED
test adapter::test::adapter_ends_ok_before_second_message ... FAILED
test adapter::test::adapter_exits_nonzero ... FAILED
test adapter::test::adapter_first_message_isnt_triggered ... FAILED
test adapter::test::adapter_has_bad_interpreter ... FAILED
test adapter::test::adapter_is_killed_after_second_message ... FAILED
test adapter::test::adapter_is_killed_before_any_messages ... FAILED
test adapter::test::adapter_is_not_executable ... FAILED
test adapter::test::adapter_is_killed_before_first_message ... FAILED
test adapter::test::adapter_outputs_too_many_messages ... FAILED
test adapter::test::adapter_produces_as_bad_message ... FAILED
test adapter::test::adapter_reports_success ... FAILED
test adapter::test::adapter_reports_failure ... FAILED
test broker::test::adapter_fails ... FAILED
test ci_event::test::branch_created ... ok
test ci_event::test::branch_deleted ... ok
test ci_event::test::branch_updated ... ok
test ci_event::test::nothing_updated ... ok
test ci_event::test::patch_created ... ok
test ci_event::test::patch_updated ... ok
test ci_event::test::skipped ... ok
test ci_event::test_parsed_ref::branch ... ok
test ci_event::test_parsed_ref::patch ... ok
test broker::test::executes_adapter ... FAILED
test config::test::parse_config_yaml ... ok
test config::test::parse_config_yaml_without_max_run_time ... ok
test ci_event::test_parsed_ref::tag ... ok
test filter::test::allows_all_for_default_repository ... ok
test filter::test::allows_all_for_main_branch ... ok
test filter::test::allows_all_for_right_node ... ok
test filter::test::allows_any_event ... ok
test filter::test::allows_branch_creation ... ok
test filter::test::allows_branch_deletion ... ok
test filter::test::allows_branch_update ... ok
test filter::test::allows_if_all_allow ... ok
test filter::test::allows_if_any_allows ... ok
test filter::test::allows_no_event ... ok
test filter::test::allows_none_for_wrong_node ... ok
test filter::test::allows_opposite ... ok
test filter::test::allows_patch_creation ... ok
test filter::test::allows_patch_update ... ok
test filter::test::allows_shutdown ... ok
test filter::test::allows_specific_patch ... ok
test filter::test::allows_wanted_tag ... ok
test filter::test::deserialize_yaml_nested_not ... ok
test filter::test::doesnt_allow_any_for_other_branch ... ok
test filter::test::doesnt_allow_any_for_other_repository ... ok
test filter::test::doesnt_allow_unexpected_tag ... ok
test filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_prefix ... ok
test filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_suffix ... ok
test filter::test::doesnt_allows_other_patch ... ok
test filter::test::only_allows_branch_creation ... ok
test filter::test::only_allows_branch_deletion ... ok
test filter::test::only_allows_branch_update ... ok
test filter::test::only_allows_patch_creation ... ok
test filter::test::only_allows_patch_update ... ok
test filter::test::yaml_roundtrip ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok
test refs::test::extracts_branch_namespaced_branch ... ok
test refs::test::namespaced_branch_from_plain ... ok
test refs::test::plain_branch_name ... ok
test refs::test::qualified_branch_name_from_plain ... ok
test refs::test::ref_string_from_plain_branch_name ... ok
test run::test::serialize_run_state ... ok
test sensitive::test_sensitive::debugged ... ok
test sensitive::test_sensitive::deser ... ok
test sensitive::test_sensitive::displayed ... ok
test sensitive::test_sensitive::ser ... ok
test refs::test::creates_patch_from_str ... ok
test timeoutcmd::tests::bin_false ... ok
test timeoutcmd::tests::hello_world ... ok
test timeoutcmd::tests::bin_true ... ok
test timeoutcmd::tests::hello_world_to_stderr ... ok
test timeoutcmd::tests::kill ... ok
test timeoutcmd::tests::kill_stderr ... ok
test timeoutcmd::tests::pipe_through_cat ... ok
test timeoutcmd::tests::sleep_1 ... ok
test timeoutcmd::tests::sleep_for_too_long ... ok
test timeoutcmd::tests::yes_to_stderr ... ok
test timeoutcmd::tests::sleep_for_too_long_while_reading_with_realtimelines ... ok
test timeoutcmd::tests::yes_to_stdout ... ok
test timeoutcmd::tests::yes_to_stdout_while_reading_with_realtimelines ... ok
failures:
---- adapter::test::adapter_ends_ok_before_first_message stdout ----
thread 'adapter::test::adapter_ends_ok_before_first_message' (1823) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_does_not_exist stdout ----
thread 'adapter::test::adapter_does_not_exist' (1822) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- adapter::test::adapter_ends_ok_before_second_message stdout ----
thread 'adapter::test::adapter_ends_ok_before_second_message' (1848) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_exits_nonzero stdout ----
thread 'adapter::test::adapter_exits_nonzero' (1849) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_first_message_isnt_triggered stdout ----
thread 'adapter::test::adapter_first_message_isnt_triggered' (1868) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_has_bad_interpreter stdout ----
thread 'adapter::test::adapter_has_bad_interpreter' (1875) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_after_second_message stdout ----
thread 'adapter::test::adapter_is_killed_after_second_message' (1900) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_before_any_messages stdout ----
thread 'adapter::test::adapter_is_killed_before_any_messages' (1901) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_not_executable stdout ----
thread 'adapter::test::adapter_is_not_executable' (1927) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_is_killed_before_first_message stdout ----
thread 'adapter::test::adapter_is_killed_before_first_message' (1926) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_outputs_too_many_messages stdout ----
thread 'adapter::test::adapter_outputs_too_many_messages' (1952) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_produces_as_bad_message stdout ----
thread 'adapter::test::adapter_produces_as_bad_message' (1953) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_reports_success stdout ----
thread 'adapter::test::adapter_reports_success' (1979) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- adapter::test::adapter_reports_failure stdout ----
thread 'adapter::test::adapter_reports_failure' (1978) panicked at src/adapter.rs:524:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- broker::test::adapter_fails stdout ----
thread 'broker::test::adapter_fails' (2004) panicked at src/broker.rs:236:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
---- broker::test::executes_adapter stdout ----
thread 'broker::test::executes_adapter' (2005) panicked at src/broker.rs:236:49:
called `Result::unwrap()` on an `Err` value: Profile(NotFound("/root/.radicle"))
failures:
adapter::test::adapter_does_not_exist
adapter::test::adapter_ends_ok_before_first_message
adapter::test::adapter_ends_ok_before_second_message
adapter::test::adapter_exits_nonzero
adapter::test::adapter_first_message_isnt_triggered
adapter::test::adapter_has_bad_interpreter
adapter::test::adapter_is_killed_after_second_message
adapter::test::adapter_is_killed_before_any_messages
adapter::test::adapter_is_killed_before_first_message
adapter::test::adapter_is_not_executable
adapter::test::adapter_outputs_too_many_messages
adapter::test::adapter_produces_as_bad_message
adapter::test::adapter_reports_failure
adapter::test::adapter_reports_success
broker::test::adapter_fails
broker::test::executes_adapter
test result: FAILED. 70 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.29s
error: test failed, to rerun pass `--lib`
Running unittests src/bin/cib.rs (/workspace/cache/debug/deps/cib-5d0d858219535c52)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/cibtool.rs (/workspace/cache/debug/deps/cibtool-e1c2348a4ffda44c)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/default_branch.rs (/workspace/cache/debug/deps/default_branch-4c3a2f857747fa7f)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/bin/synthetic-events.rs (/workspace/cache/debug/deps/synthetic_events-496e5811faef25f2)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/subplot.rs (/workspace/cache/debug/deps/subplot-d25024c6d39494bf)
running 73 tests
test adapter_with_url_runs_successfully ... ok
test add_information_about_run_that_s_finished_in_failure_to_database ... ok
test adapter_can_provide_url_for_info_on_run ... ok
test add_information_about_run_that_s_finished_successfully_to_database ... ok
test add_information_about_run_that_s_running_to_database ... ok
test allows_setting_minimum_log_level ... ok
test add_information_about_triggered_run_to_database ... ok
test can_add_a_branch_creation_event_to_queue ... ok
test can_add_a_branch_deletion_event_to_queue ... ok
test can_add_a_branch_update_event_to_queue ... ok
test can_add_a_patch_creation_event_to_queue ... ok
test can_add_a_patch_update_event_to_queue ... ok
test can_add_shutdown_event_to_queue ... ok
test can_output_trigger_message_for_a_ci_run ... ok
test can_remove_all_queued_events ... ok
test can_trigger_a_ci_run ... ok
test convert_recorded_node_events_into_ci_events ... ok
test can_shut_down_cleanly ... ok
test count_in_a_single_process has been running for over 60 seconds
test count_in_concurrent_processes has been running for over 60 seconds
test count_in_a_single_process ... ok
test create_a_repository ... ok
test don_t_insert_event_for_non_existent_repository ... ok
test dummy_adapter_runs_successfully ... ok
test event_synthesizer_terminates_after_first_connection ... ok
test events_can_be_queued_and_removed_from_queue ... ok
test extract_cib_log_from_journald_and_pretty_print ... ok
test count_in_concurrent_processes ... ok
test fails_run_if_building_trigger_fails__but_does_not_crash ... ok
test filter_predicate_allow ... ok
test filter_predicate_anydelegate ... ok
test filter_predicate_and ... ok
test filter_predicate_branch ... ok
test filter_predicate_branchcreated ... ok
test filter_predicate_branchdeleted ... ok
test filter_predicate_branchupdated ... ok
test filter_predicate_deny ... ok
test filter_predicate_defaultbranch ... ok
test filter_predicate_hasfile ... ok
test filter_predicate_not ... ok
test filter_predicate_node ... ok
test filter_predicate_repository ... ok
test filter_predicate_or ... ok
test filter_recorded_ci_events ... ok
test filter_predicate_tag ... ok
test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... ok
test gives_helpful_error_message_if_node_socket_can_t_be_found ... ok
test handles_adapter_failing_on_a_failed_run ... ok
test handles_adapter_failing_on_a_successful_run ... ok
test insert_events_into_queue ... ok
test logs_adapter_stderr_output ... ok
test logs_start_and_successful_end ... ok
test logs_termination_due_to_error ... ok
test process_queued_events ... ok
test processes_empty_event_queue_successfully ... ok
test produces_a_json_status_file ... ok
test produces_a_report_page_upon_request ... ok
test queue_a_node_event_for_processing ... ok
test record_node_events ... ok
test refuses_config_with_an_unknown_field ... ok
test remove_information_about_a_run_from_the_database ... ok
test reports_it_version ... ok
test runs_adapter_on_each_type_of_event ... ok
test runs_adapter_with_configuration ... ok
test runs_adapter_without_a_report_directory ... ok
test runs_adapters_for_all_matching_triggers ... ok
test set_up_a_node ... ok
test shows_adapter_specification ... ok
test shows_json_config_as_json ... ok
test shows_yaml_config_as_json ... ok
test insert_many_events_into_queue ... ok
test stops_if_the_node_connection_breaks ... ok
test update_and_show_information_about_run_to_running ... ok
test we_can_run_rad ... ok
test smoke_test__runs_adapter ... ok
test result: ok. 73 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 206.20s
Doc-tests radicle_ci_broker
running 2 tests
test src/msg.rs - msg::RunId (line 49) ... ok
test src/timeoutcmd.rs - timeoutcmd (line 21) ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
error: 1 target failed:
`--lib`
[2025-12-05T14:24:00Z ERROR ambient_ci::plan] ERROR: Action failed: failed to execute /bin/bash
[2025-12-05T14:24:00Z ERROR ambient_ci::plan] caused by: command failed: "/bin/bash": exit code 101
ERROR: failed to execute /bin/bash
caused by: command failed: "/bin/bash": exit code 101
EXIT CODE: 1
====================
[2025-12-05T14:24:01Z DEBUG ambient_ci::qemu] QEMU: CI run under exit code 1
[2025-12-05T14:24:04Z DEBUG ambient_ci::run] CI run exit code from QEMU: 1
[2025-12-05T14:24:04Z DEBUG ambient_ci::project] write project state to /home/_rad/ambient-state/rad:zwTxygwuz5LDGBq255RA2CbNGrz8/meta.yaml
ERROR: CI run failed inside QEMU
<empty log>