Radicle repository id rad:zwTxygwuz5LDGBq255RA2CbNGrz8
{
"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": "Updated",
"patch": {
"id": "9437534900d8a772fee17cc62bb2abf2b6b9f07e",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"title": "add concurrent adapters",
"state": {
"status": "open",
"conflicts": []
},
"before": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"after": "4577682fd689384ffb125505cea07ba8a394a960",
"commits": [
"4577682fd689384ffb125505cea07ba8a394a960",
"19ede6dfed7bb10d90067a558f74802fddb57d2b",
"582bd54b73feaab767b17988b31fdb4910ca4bfe",
"e5723448d4d230ff81545ae83eeeb868a5c0ff66",
"e49496122740153e2623df90d2de46a2591534e5",
"62faeeec0228962c6d497275daa44f5fc5e3a39a",
"c493ec4928869bf978c9388157d799e9be3b918a",
"fd845f7e445999b1ef6d101f52ea146894fa577b",
"1f8978186a41cb5161345bd9b08d2d11c0db13a3",
"06449445ec58b962136649448165071236f0c821",
"55023f2e4fcf9d4a5ff021b893dc552197e55c72",
"b73ab44962134073624f51e93e165b6bde4fe4d7",
"0cf160d3d1aee6e7942c61ca42d89322e77421b1",
"c16e9b0af76db10569a2bb04eaf17cc9b5ed7360",
"ccb82c8890f7835b120ba44275e8287571d9dba8",
"c7dbff55e5c706aa38adca054c014bb17046eb45",
"5ce95bc360c4f20b2f21952667e7b9be818e876a"
],
"target": "93177407b47b9ba8563b72d5ac18529bc74abe45",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "9437534900d8a772fee17cc62bb2abf2b6b9f07e",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "One adapter at a time per repository.\n\nNot all commits in this patch build or pass tests separately.",
"base": "22451b4b3aa48b671786e890f2e3df6a83e3968c",
"oid": "29a61e790063c51d8cd0e178832c0fac56bf84f8",
"timestamp": 1747049654
},
{
"id": "2966f9ca0c33912f736b5508201e44c9504be549",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "rebase on main",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "06449445ec58b962136649448165071236f0c821",
"timestamp": 1747116142
},
{
"id": "a60613a02507bfa0ac272730123113eae08e1e40",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor: use a type to capture non-zero count of concurrent adapters\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "1f8978186a41cb5161345bd9b08d2d11c0db13a3",
"timestamp": 1747197923
},
{
"id": "67c56ed052c728924211831dc43be1394e56ddd8",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor: use more idiomatic Rust to check result of operation\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>\n\n\nfix(src/queueproc.rs): rewrite to avoid unimplemented!\n\nThis should never trigger, but just in case, we don't ever want it to\ntrigger in production.\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "c493ec4928869bf978c9388157d799e9be3b918a",
"timestamp": 1747198608
},
{
"id": "c67256c4cedcd1a178fb169d4e470845294f1fd0",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor: drop now-unnecessary pragma to allow unused imports\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "62faeeec0228962c6d497275daa44f5fc5e3a39a",
"timestamp": 1747198858
},
{
"id": "6f571150bfa0f2c68ffd1076ce31679dd2e22cbb",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor: drop unnecessary pragma for allowing dead code\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "e49496122740153e2623df90d2de46a2591534e5",
"timestamp": 1747199268
},
{
"id": "74710051df3e4e354768c21d21a77155469016ac",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "feat(src/queueproc.rs): log reason why waiting for adapter fails\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "e5723448d4d230ff81545ae83eeeb868a5c0ff66",
"timestamp": 1747199798
},
{
"id": "185c474bbb52b14402efe6d1121a0f0857de6893",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor: drop commented-out constants\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "582bd54b73feaab767b17988b31fdb4910ca4bfe",
"timestamp": 1747200021
},
{
"id": "cf6a958a7534dc2c2e99396247ef88db9ce60b26",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor(src/pull_queue.rs): avoid asserts\n\nI didn't like having asserts, and didn't want debug_asserts. With\nplain asserts, the program would have panicked. With debug_asserts, the\nprogram would have silently overwritten the item in the queue.\nInstead, change the method to return whether it was able to set, and\nhave the caller cope with not being able to set. The caller needs to\nbe able handle that (and was already doing so).\n\nFound-by: Fintan\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "19ede6dfed7bb10d90067a558f74802fddb57d2b",
"timestamp": 1747201893
},
{
"id": "642564cd63ad71433d7f5e2c214dab60ffe2a60d",
"author": {
"id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
"alias": "liw"
},
"description": "refactor(src/pull_queue.rs): drop \"end\" method, add Drop impl\n\nThis makes it harder to forget to close the producer end.\n\nSuggested-by: Fintan\nSigned-off-by: Lars Wirzenius <liw@liw.fi>",
"base": "d90b609b41ef3b7a8b59026f2cae85b9d99b23db",
"oid": "4577682fd689384ffb125505cea07ba8a394a960",
"timestamp": 1747217992
}
]
}
}[2025-05-14T10:24:53Z INFO ambient] ambient starts
[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,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: Extracting tar archive from /dev/vdb
./
./plan.yaml
./run-ci
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
ambient-execute-plan 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: spawn
argv:
- find
- /workspace
- '-maxdepth'
- '2'
- '-ls'
- action: cargo_fmt
- action: cargo_clippy
- action: shell
shell: |
export DEBEMAIL=liw@liw.fi
export DEBFULLNAME="Lars Wirzenius"
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
# Clean up after tests and documentation building.
git reset --hard
git clean -fdx
git status --ignored
V="$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')"
T="$(date -u "+%Y%m%dT%H%M%S")"
version="$V.ci$T-1"
dch -v "$version" "CI build under Ambient."
dch -r ''
- 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
RUN: Action Mkdir {
pathname: "/workspace",
}
RUN: Action finished OK
RUN: Action Mkdir {
pathname: "/workspace/artifacts",
}
RUN: Action finished OK
RUN: Action TarExtract {
archive: "/dev/vdc",
directory: "/workspace/src",
}
RUN: Action finished OK
RUN: Action TarExtract {
archive: "/dev/vdf",
directory: "/workspace/deps",
}
RUN: Action finished OK
RUN: Action TarExtract {
archive: "/dev/vde",
directory: "/workspace/cache",
}
RUN: Action finished OK
RUN: Action Spawn {
argv: [
"find",
"/workspace",
"-maxdepth",
"2",
"-ls",
],
}
SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
cwd=/workspace/src (exists? true)
extra_env=[]
131073 4 drwxr-xr-x 6 root root 4096 May 14 10:20 /workspace
131074 4 drwxr-xr-x 2 root root 4096 May 14 10:20 /workspace/artifacts
131239 4 drwxr-xr-x 3 root root 4096 May 14 10:19 /workspace/deps
131242 4 drwxr-xr-x 5 root root 4096 Apr 9 04:12 /workspace/deps/registry
131240 120 -rw-r--r-- 1 root root 122880 May 14 10:19 /workspace/deps/.global-cache
131241 0 -rw-r--r-- 1 root root 0 Apr 9 04:12 /workspace/deps/.package-cache
158685 4 drwxr-xr-x 6 root root 4096 Apr 9 05:52 /workspace/cache
158687 4 drwxr-xr-x 7 root root 4096 May 14 05:55 /workspace/cache/debug
168697 4 drwxr-xr-x 7 root root 4096 May 14 05:55 /workspace/cache/release
158686 4 drwxr-xr-x 2 root root 4096 Apr 9 05:48 /workspace/cache/tmp
671162 4 drwxr-xr-x 12 root root 4096 May 14 05:52 /workspace/cache/doc
168696 4 -rw-r--r-- 1 root root 218 Apr 9 05:49 /workspace/cache/.rustdoc_fingerprint.json
171086 4 -rw-r--r-- 1 root root 1178 May 14 05:52 /workspace/cache/.rustc_info.json
131075 4 drwxr-xr-x 9 root root 4096 May 14 10:19 /workspace/src
131145 4 drwxr-xr-x 2 root root 4096 May 14 10:19 /workspace/src/tests
131141 4 -rw-r--r-- 1 root root 970 May 14 10:19 /workspace/src/build.rs
131122 84 -rw-r--r-- 1 root root 85440 May 14 10:19 /workspace/src/ci-broker.md
131125 4 -rw-r--r-- 1 root root 257 May 14 10:19 /workspace/src/ci-broker.subplot
131121 4 -rw-r--r-- 1 root root 5 May 14 10:19 /workspace/src/rust-toolchain
131142 8 -rw-r--r-- 1 root root 5951 May 14 10:19 /workspace/src/flake.nix
131226 12 -rw-r--r-- 1 root root 9723 May 14 10:19 /workspace/src/LICENSE-APACHE
131123 4 drwxr-xr-x 2 root root 4096 May 14 10:19 /workspace/src/.cargo
131147 8 -rw-r--r-- 1 root root 5418 May 14 10:19 /workspace/src/deny.toml
131143 4 -rw-r--r-- 1 root root 44 May 14 10:19 /workspace/src/.gitignore
131139 4 -rw-r--r-- 1 root root 732 May 14 10:19 /workspace/src/ci-broker.yaml
131229 4 drwxr-xr-x 2 root root 4096 May 14 10:19 /workspace/src/doc
131126 4 -rw-r--r-- 1 root root 10 May 14 10:19 /workspace/src/.envrc
131140 8 -rw-r--r-- 1 root root 4291 May 14 10:19 /workspace/src/README.md
131076 4 drwxr-xr-x 2 root root 4096 May 14 10:19 /workspace/src/.radicle
131144 4 -rw-r--r-- 1 root root 1660 May 14 10:19 /workspace/src/Cargo.toml
131128 4 drwxr-xr-x 3 root root 4096 May 14 10:19 /workspace/src/debian
131227 8 -rw-r--r-- 1 root root 6528 May 14 10:19 /workspace/src/flake.lock
131127 32 -rw-r--r-- 1 root root 30855 May 14 10:19 /workspace/src/NEWS.md
131078 4 -rw-r--r-- 1 root root 1079 May 14 10:19 /workspace/src/LICENSE-MIT
131079 4 drwxr-xr-x 4 root root 4096 May 14 10:19 /workspace/src/src
131148 4 drwxr-xr-x 8 root root 4096 May 14 10:19 /workspace/src/.git
131228 88 -rw-r--r-- 1 root root 88753 May 14 10:19 /workspace/src/Cargo.lock
RUN: Action finished OK
RUN: Action CargoFmt
SPAWN: argv=["cargo", "fmt", "--check"]
cwd=/workspace/src (exists? true)
extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")]
RUN: Action finished OK
RUN: Action CargoClippy
SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"]
cwd=/workspace/src (exists? true)
extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")]
Compiling radicle-ci-broker v0.16.0 (/workspace/src)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.80s
RUN: Action finished OK
RUN: Action Shell {
shell: "export DEBEMAIL=liw@liw.fi\nexport DEBFULLNAME=\"Lars Wirzenius\"\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\n\n# Clean up after tests and documentation building.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n\nV=\"$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')\"\nT=\"$(date -u \"+%Y%m%dT%H%M%S\")\"\nversion=\"$V.ci$T-1\"\ndch -v \"$version\" \"CI build under Ambient.\"\ndch -r ''\n",
}
SPAWN: argv=["/bin/bash", "-c", "set -xeuo pipefail\nexport DEBEMAIL=liw@liw.fi\nexport DEBFULLNAME=\"Lars Wirzenius\"\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\n\n# Clean up after tests and documentation building.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n\nV=\"$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')\"\nT=\"$(date -u \"+%Y%m%dT%H%M%S\")\"\nversion=\"$V.ci$T-1\"\ndch -v \"$version\" \"CI build under Ambient.\"\ndch -r ''\n\n"]
cwd=/workspace/src (exists? true)
extra_env=[]
+ export DEBEMAIL=liw@liw.fi
+ DEBEMAIL=liw@liw.fi
+ export 'DEBFULLNAME=Lars Wirzenius'
+ DEBFULLNAME='Lars Wirzenius'
+ export CARGO_TARGET_DIR=/workspace/cache
+ CARGO_TARGET_DIR=/workspace/cache
+ export CARGO_HOME=/workspace/deps
+ CARGO_HOME=/workspace/deps
+ export HOME=/root
+ HOME=/root
+ export PATH=/root/.cargo/bin:/root/.radicle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PATH=/root/.cargo/bin:/root/.radicle/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.16.0 (/workspace/src)
Documenting radicle-ci-broker v0.16.0 (/workspace/src)
warning: unresolved link to `RunningProcess`
--> src/adapter.rs:283:44
|
283 | /// 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:71:24
|
71 | /// 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.11s
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.16.0 (/workspace/src)
Finished `test` profile [unoptimized + debuginfo] target(s) in 11.70s
Running unittests src/lib.rs (/workspace/cache/debug/deps/radicle_ci_broker-484f2fb3c45e927b)
running 79 tests
test adapter::test::adapter_does_not_exist ... ok
test adapter::test::adapter_ends_ok_before_second_message ... ok
test adapter::test::adapter_exits_nonzero ... ok
test adapter::test::adapter_first_message_isnt_triggered ... ok
test adapter::test::adapter_has_bad_interpreter ... ok
test adapter::test::adapter_is_killed_after_first_message ... ok
test adapter::test::adapter_is_killed_before_any_messages ... ok
test adapter::test::adapter_is_killed_after_second_message ... ok
test adapter::test::adapter_is_not_executable ... ok
test adapter::test::adapter_outputs_too_many_messages ... ok
test adapter::test::adapter_produces_as_bad_message ... ok
test adapter::test::adapter_reports_failure ... ok
test adapter::test::adapter_reports_success ... ok
test broker::test::adapter_fails ... ok
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 ci_event::test_parsed_ref::tag ... ok
test config::test::parse_config_yaml ... ok
test config::test::parse_config_yaml_without_max_run_time ... 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::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_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 broker::test::executes_adapter ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok
test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok
test refs::test::creates_patch_from_str ... ok
test refs::test::extracts_branch_namespaced_branch ... ok
test refs::test::namespaced_branch_from_plain ... ok
test msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... 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 timeoutcmd::tests::bin_false ... ok
test timeoutcmd::tests::bin_true ... ok
test timeoutcmd::tests::hello_world ... 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::yes_to_stderr ... ok
test timeoutcmd::tests::sleep_for_too_long ... ok
test timeoutcmd::tests::yes_to_stdout ... ok
test result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.43s
Running unittests src/bin/cib.rs (/workspace/cache/debug/deps/cib-e248cf7846042bf3)
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-0ab24598289eaf91)
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-3c53c91a334aaf01)
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-d9779cf728e83c6f)
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-f7fc0dd4441adc0a)
running 66 tests
test adapter_with_url_runs_successfully ... ok
test adapter_can_provide_url_for_info_on_run ... ok
test add_information_about_run_that_s_finished_in_failure_to_database ... 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 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 count_in_concurrent_processes ... ok
test extract_cib_log_from_journald_and_pretty_print ... ok
test fails_run_if_building_trigger_fails__but_does_not_crash ... ok
test filter_predicate_allow ... 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_defaultbranch ... ok
test filter_predicate_deny ... ok
test filter_predicate_hasfile ... ok
test filter_predicate_node ... ok
test filter_predicate_not ... ok
test filter_predicate_repository ... ok
test filter_predicate_tag ... ok
test filter_recorded_ci_events ... ok
test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... ok
test filter_predicate_or ... ok
test gives_helpful_error_message_if_node_socket_can_t_be_found ... 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 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_without_a_report_directory ... ok
test runs_adapters_for_all_matching_triggers ... ok
test set_up_a_node ... ok
test shows_config_as_json ... ok
test shuts_down_when_requested ... ok
test smoke_test__runs_adapter ... ok
test stops_if_the_node_connection_breaks ... ok
test insert_many_events_into_queue ... ok
test we_can_run_rad ... ok
test update_and_show_information_about_run_to_running ... ok
test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 124.89s
Doc-tests radicle_ci_broker
running 3 tests
test src/msg.rs - msg::RunId (line 49) ... ok
test src/pull_queue.rs - pull_queue::PullQueue (line 12) ... ok
test src/timeoutcmd.rs - timeoutcmd (line 21) ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.99s
+ subplot docgen ci-broker.subplot -o doc/ci-broker.html
[32m INFO[0m Starting Subplot
[32m INFO[0m Subplot finished successfully
+ subplot docgen doc/userguide.subplot -o doc/userguide.html
[32m INFO[0m Starting Subplot
[32m INFO[0m Subplot finished successfully
+ make -C doc
make: Entering directory '/workspace/src/doc'
./messages.sh > messages.md
subplot docgen --date "Version: $(git describe --long --dirty)" architecture.subplot -o architecture.html
fatal: No names found, cannot describe anything.
[32m INFO[0m Starting Subplot
[32m INFO[0m Subplot finished successfully
make: Leaving directory '/workspace/src/doc'
+ git reset --hard
HEAD is now at 4577682 refactor(src/pull_queue.rs): drop "end" method, add Drop impl
+ git clean -fdx
Removing doc/architecture.html
Removing doc/ci-broker.html
Removing doc/messages.md
Removing doc/userguide.html
+ git status --ignored
HEAD detached at 4577682
nothing to commit, working tree clean
++ sed 's/-[^-]*$//'
++ dpkg-parsechangelog -SVersion
+ V=0.16.0
++ date -u +%Y%m%dT%H%M%S
+ T=20250514T102325
+ version=0.16.0.ci20250514T102325-1
+ dch -v 0.16.0.ci20250514T102325-1 'CI build under Ambient.'
+ dch -r ''
RUN: Action finished OK
RUN: Action Deb
SPAWN: argv=["/bin/bash", "-c", "#!/bin/bash\nset -xeuo pipefail\n\necho \"PATH at start: $PATH\"\nexport PATH=\"/root/.cargo/bin:$PATH\"\nexport CARGO_HOME=/workspace/deps\nexport DEBEMAIL=liw@liw.fi\nexport DEBFULLNAME=\"Lars Wirzenius\"\n/bin/env\n\ncommand -v cargo\ncommand -v rustc\n\ncargo --version\nrustc --version\n\n# Get name and version of source package.\nname=\"$(dpkg-parsechangelog -SSource)\"\nversion=\"$(dpkg-parsechangelog -SVersion)\"\n\n# Get upstream version: everything before the last dash.\nuv=\"$(echo \"$version\" | sed 's/-[^-]*$//')\"\n\n# Files that will be created.\narch=\"$(dpkg --print-architecture)\"\norig=\"../${name}_${uv}.orig.tar.xz\"\ndeb=\"../${name}_${version}_${arch}.deb\"\nchanges=\"../${name}_${version}_${arch}.changes\"\n\n# Create \"upstream tarball\".\ngit archive HEAD | xz >\"$orig\"\n\n# Build package.\ndpkg-buildpackage -us -uc\n\n# Dump some information to make it easier to visually verify\n# everything looks OK. Also, test the package with the lintian tool.\n\nls -l ..\nfor x in ../*.deb; do dpkg -c \"$x\"; done\n# FIXME: disabled while this prevents radicle-native-ci deb from being built.\n# lintian -i --allow-root --fail-on warning ../*.changes\n\n# Move files to artifacts directory.\nmv ../*_* /workspace/artifacts\n "]
cwd=/workspace/src (exists? true)
extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")]
+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ export CARGO_HOME=/workspace/deps
+ CARGO_HOME=/workspace/deps
+ export DEBEMAIL=liw@liw.fi
+ DEBEMAIL=liw@liw.fi
+ export 'DEBFULLNAME=Lars Wirzenius'
+ DEBFULLNAME='Lars Wirzenius'
+ /bin/env
DEBFULLNAME=Lars Wirzenius
CARGO_TARGET_DIR=/workspace/cache
PWD=/workspace/src
SYSTEMD_EXEC_PID=273
LANG=C.UTF-8
CARGO_HOME=/workspace/deps
DEBEMAIL=liw@liw.fi
INVOCATION_ID=7f75037c9d374b71b2eec1f686b2b52d
SHLVL=2
JOURNAL_STREAM=8:15374
PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
OLDPWD=/
_=/bin/env
+ command -v cargo
/root/.cargo/bin/cargo
+ command -v rustc
/root/.cargo/bin/rustc
+ cargo --version
cargo 1.80.1 (376290515 2024-07-16)
+ rustc --version
rustc 1.80.1 (3f5fd8dd4 2024-08-06)
++ dpkg-parsechangelog -SSource
+ name=radicle-ci-broker
++ dpkg-parsechangelog -SVersion
+ version=0.16.0.ci20250514T102325-1
++ echo 0.16.0.ci20250514T102325-1
++ sed 's/-[^-]*$//'
+ uv=0.16.0.ci20250514T102325
++ dpkg --print-architecture
+ arch=amd64
+ orig=../radicle-ci-broker_0.16.0.ci20250514T102325.orig.tar.xz
+ deb=../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.deb
+ changes=../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.changes
+ git archive HEAD
+ xz
+ dpkg-buildpackage -us -uc
[1mdpkg-buildpackage: [0m[32minfo[0m: source package radicle-ci-broker
[1mdpkg-buildpackage: [0m[32minfo[0m: source version 0.16.0.ci20250514T102325-1
[1mdpkg-buildpackage: [0m[32minfo[0m: source distribution unstable
[1mdpkg-buildpackage: [0m[32minfo[0m: source changed by Lars Wirzenius <liw@liw.fi>
[1mdpkg-buildpackage: [0m[32minfo[0m: host architecture amd64
[1;35m dpkg-source --before-build .
[0m[1;35m debian/rules clean
[0mdh clean
dh_clean
[1;35m dpkg-source -b .
[0m[1mdpkg-source: [0m[32minfo[0m: using source format '3.0 (quilt)'
[1mdpkg-source: [0m[32minfo[0m: building radicle-ci-broker using existing ./radicle-ci-broker_0.16.0.ci20250514T102325.orig.tar.xz
[1mdpkg-source: [0m[32minfo[0m: building radicle-ci-broker in radicle-ci-broker_0.16.0.ci20250514T102325-1.debian.tar.xz
[1mdpkg-source: [0m[32minfo[0m: building radicle-ci-broker in radicle-ci-broker_0.16.0.ci20250514T102325-1.dsc
[1;35m debian/rules build
[0mdh build
dh_update_autotools_config
dh_autoreconf
debian/rules override_dh_auto_build
make[1]: Entering directory '/workspace/src'
true
make[1]: Leaving directory '/workspace/src'
debian/rules override_dh_auto_test
make[1]: Entering directory '/workspace/src'
echo tests are disabled, for now
tests are disabled, for now
make[1]: Leaving directory '/workspace/src'
create-stamp debian/debhelper-build-stamp
[1;35m debian/rules binary
[0mdh binary
dh_testroot
dh_prep
debian/rules override_dh_auto_install
make[1]: Entering directory '/workspace/src'
cargo install --offline --locked --path=. --root=debian/radicle-ci-broker
Installing radicle-ci-broker v0.16.0 (/workspace/src)
Compiling radicle-ci-broker v0.16.0 (/workspace/src)
Finished `release` profile [optimized] target(s) in 22.07s
Installing debian/radicle-ci-broker/bin/cib
Installing debian/radicle-ci-broker/bin/cibtool
Installing debian/radicle-ci-broker/bin/default_branch
Installing debian/radicle-ci-broker/bin/synthetic-events
Installed package `radicle-ci-broker v0.16.0 (/workspace/src)` (executables `cib`, `cibtool`, `default_branch`, `synthetic-events`)
warning: be sure to add `debian/radicle-ci-broker/bin` to your PATH to be able to run the installed binaries
rm -f debian/*/.crates*.*
make[1]: Leaving directory '/workspace/src'
dh_installdocs
dh_installchangelogs
dh_lintian
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_strip
dh_makeshlibs
dh_shlibdeps
[1mdpkg-shlibdeps: [0m[1;33mwarning[0m: package could avoid a useless dependency if debian/radicle-ci-broker/bin/synthetic-events debian/radicle-ci-broker/bin/default_branch debian/radicle-ci-broker/bin/cib debian/radicle-ci-broker/bin/cibtool were not linked against libm.so.6 (they use none of the library's symbols)
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
[1mdpkg-deb:[0m building package 'radicle-ci-broker' in '../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.deb'.
[1mdpkg-deb:[0m building package 'radicle-ci-broker-dbgsym' in '../radicle-ci-broker-dbgsym_0.16.0.ci20250514T102325-1_amd64.deb'.
[1;35m dpkg-genbuildinfo -O../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.buildinfo
[0m[1;35m dpkg-genchanges -O../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.changes
[0m[1mdpkg-genchanges: [0m[32minfo[0m: including full source code in upload
[1;35m dpkg-source --after-build .
[0m[1mdpkg-buildpackage: [0m[32minfo[0m: full upload (original source is included)
+ ls -l ..
total 6484
drwxr-xr-x 2 root root 4096 May 14 10:20 artifacts
drwxr-xr-x 6 root root 4096 Apr 9 05:52 cache
drwxr-xr-x 3 root root 4096 May 14 10:20 deps
-rw-r--r-- 1 root root 693648 May 14 10:23 radicle-ci-broker-dbgsym_0.16.0.ci20250514T102325-1_amd64.deb
-rw-r--r-- 1 root root 2156 May 14 10:23 radicle-ci-broker_0.16.0.ci20250514T102325-1.debian.tar.xz
-rw-r--r-- 1 root root 1078 May 14 10:23 radicle-ci-broker_0.16.0.ci20250514T102325-1.dsc
-rw-r--r-- 1 root root 6181 May 14 10:24 radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.buildinfo
-rw-r--r-- 1 root root 2630 May 14 10:24 radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.changes
-rw-r--r-- 1 root root 5778720 May 14 10:24 radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.deb
-rw-r--r-- 1 root root 126144 May 14 10:23 radicle-ci-broker_0.16.0.ci20250514T102325.orig.tar.xz
drwxr-xr-x 9 root root 4096 May 14 10:23 src
+ for x in ../*.deb
+ dpkg -c ../radicle-ci-broker-dbgsym_0.16.0.ci20250514T102325-1_amd64.deb
drwxr-xr-x root/root 0 2025-05-14 10:23 ./
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/.build-id/3b/
-rw-r--r-- root/root 397040 2025-05-14 10:23 ./usr/lib/debug/.build-id/3b/9d19af0c101279c3b097dfcb88740ae5bd8ff7.debug
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/.build-id/6f/
-rw-r--r-- root/root 539720 2025-05-14 10:23 ./usr/lib/debug/.build-id/6f/8216f3cf4206fbaa89b06db4887c9ceabf1d13.debug
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/.build-id/c8/
-rw-r--r-- root/root 2630160 2025-05-14 10:23 ./usr/lib/debug/.build-id/c8/b95b71151483bd317647b0f117fa0bfd3547ec.debug
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/lib/debug/.build-id/da/
-rw-r--r-- root/root 2363896 2025-05-14 10:23 ./usr/lib/debug/.build-id/da/4dfb9024df643ab84aa46c54fcc12b90f427f7.debug
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/doc/
lrwxrwxrwx root/root 0 2025-05-14 10:23 ./usr/share/doc/radicle-ci-broker-dbgsym -> radicle-ci-broker
+ for x in ../*.deb
+ dpkg -c ../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.deb
drwxr-xr-x root/root 0 2025-05-14 10:23 ./
drwxr-xr-x root/root 0 2025-05-14 10:23 ./bin/
-rwxr-xr-x root/root 9288176 2025-05-14 10:23 ./bin/cib
-rwxr-xr-x root/root 10787376 2025-05-14 10:23 ./bin/cibtool
-rwxr-xr-x root/root 2198840 2025-05-14 10:23 ./bin/default_branch
-rwxr-xr-x root/root 1874856 2025-05-14 10:23 ./bin/synthetic-events
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/doc/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/doc/radicle-ci-broker/
-rw-r--r-- root/root 543 2025-05-14 10:23 ./usr/share/doc/radicle-ci-broker/changelog.Debian.gz
-rw-r--r-- root/root 396 2025-05-14 10:23 ./usr/share/doc/radicle-ci-broker/copyright
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/lintian/
drwxr-xr-x root/root 0 2025-05-14 10:23 ./usr/share/lintian/overrides/
-rw-r--r-- root/root 97 2025-05-14 10:23 ./usr/share/lintian/overrides/radicle-ci-broker
+ mv ../radicle-ci-broker-dbgsym_0.16.0.ci20250514T102325-1_amd64.deb ../radicle-ci-broker_0.16.0.ci20250514T102325-1.debian.tar.xz ../radicle-ci-broker_0.16.0.ci20250514T102325-1.dsc ../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.buildinfo ../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.changes ../radicle-ci-broker_0.16.0.ci20250514T102325-1_amd64.deb ../radicle-ci-broker_0.16.0.ci20250514T102325.orig.tar.xz /workspace/artifacts
RUN: Action finished OK
RUN: Action TarCreate {
archive: "/dev/vde",
directory: "/workspace/cache",
}
RUN: Action finished OK
RUN: Action TarCreate {
archive: "/dev/vdd",
directory: "/workspace/artifacts",
}
RUN: Action finished OK
ambient-execute-plan ends
EXIT CODE: 0
[2025-05-14T10:24:53Z INFO ambient] ambient ends successfully