CI run for radicle-ci-broker

Radicle repository id rad:zwTxygwuz5LDGBq255RA2CbNGrz8

Triggered by

{
  "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": "19ede6dfed7bb10d90067a558f74802fddb57d2b",
    "commits": [
      "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
      }
    ]
  }
}

Run log

[2025-05-14T05:56:32Z INFO  ambient] ambient starts
[=3h[=3hBdsDxe: 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)
Welcome to GRUB!


INFO: 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 05:51 /workspace
   131074      4 drwxr-xr-x   2 root     root         4096 May 14 05:51 /workspace/artifacts
   131235      4 drwxr-xr-x   3 root     root         4096 May 14 05:51 /workspace/deps
   131238      4 drwxr-xr-x   5 root     root         4096 Apr  9 04:12 /workspace/deps/registry
   131236    120 -rw-r--r--   1 root     root       122880 May 14 05:51 /workspace/deps/.global-cache
   131237      0 -rw-r--r--   1 root     root            0 Apr  9 04:12 /workspace/deps/.package-cache
   158681      4 drwxr-xr-x   6 root     root         4096 Apr  9 05:52 /workspace/cache
   158683      4 drwxr-xr-x   7 root     root         4096 May 14 05:25 /workspace/cache/debug
   168693      4 drwxr-xr-x   7 root     root         4096 May 14 05:25 /workspace/cache/release
   158682      4 drwxr-xr-x   2 root     root         4096 Apr  9 05:48 /workspace/cache/tmp
   671158      4 drwxr-xr-x  12 root     root         4096 May 14 05:22 /workspace/cache/doc
   168692      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:22 /workspace/cache/.rustc_info.json
   131075      4 drwxr-xr-x   9 root     root         4096 May 14 05:51 /workspace/src
   131145      4 drwxr-xr-x   2 root     root         4096 May 14 05:51 /workspace/src/tests
   131141      4 -rw-r--r--   1 root     root          970 May 14 05:51 /workspace/src/build.rs
   131122     84 -rw-r--r--   1 root     root        85440 May 14 05:51 /workspace/src/ci-broker.md
   131125      4 -rw-r--r--   1 root     root          257 May 14 05:51 /workspace/src/ci-broker.subplot
   131121      4 -rw-r--r--   1 root     root            5 May 14 05:51 /workspace/src/rust-toolchain
   131142      8 -rw-r--r--   1 root     root         5951 May 14 05:51 /workspace/src/flake.nix
   131222     12 -rw-r--r--   1 root     root         9723 May 14 05:51 /workspace/src/LICENSE-APACHE
   131123      4 drwxr-xr-x   2 root     root         4096 May 14 05:51 /workspace/src/.cargo
   131147      8 -rw-r--r--   1 root     root         5418 May 14 05:51 /workspace/src/deny.toml
   131143      4 -rw-r--r--   1 root     root           44 May 14 05:51 /workspace/src/.gitignore
   131139      4 -rw-r--r--   1 root     root          732 May 14 05:51 /workspace/src/ci-broker.yaml
   131225      4 drwxr-xr-x   2 root     root         4096 May 14 05:51 /workspace/src/doc
   131126      4 -rw-r--r--   1 root     root           10 May 14 05:51 /workspace/src/.envrc
   131140      8 -rw-r--r--   1 root     root         4291 May 14 05:51 /workspace/src/README.md
   131076      4 drwxr-xr-x   2 root     root         4096 May 14 05:51 /workspace/src/.radicle
   131144      4 -rw-r--r--   1 root     root         1660 May 14 05:51 /workspace/src/Cargo.toml
   131128      4 drwxr-xr-x   3 root     root         4096 May 14 05:51 /workspace/src/debian
   131223      8 -rw-r--r--   1 root     root         6528 May 14 05:51 /workspace/src/flake.lock
   131127     32 -rw-r--r--   1 root     root        30855 May 14 05:51 /workspace/src/NEWS.md
   131078      4 -rw-r--r--   1 root     root         1079 May 14 05:51 /workspace/src/LICENSE-MIT
   131079      4 drwxr-xr-x   4 root     root         4096 May 14 05:51 /workspace/src/src
   131148      4 drwxr-xr-x   8 root     root         4096 May 14 05:51 /workspace/src/.git
   131224     88 -rw-r--r--   1 root     root        88753 May 14 05:51 /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 5.91s
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.19s
   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 10.00s
     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_first_message_isnt_triggered ... ok
test adapter::test::adapter_exits_nonzero ... ok
test adapter::test::adapter_is_killed_after_first_message ... ok
test adapter::test::adapter_has_bad_interpreter ... ok
test adapter::test::adapter_is_killed_after_second_message ... ok
test adapter::test::adapter_is_killed_before_any_messages ... 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 broker::test::executes_adapter ... 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 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 refs::test::creates_patch_from_str ... 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 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 msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok
test timeoutcmd::tests::kill ... ok
test timeoutcmd::tests::pipe_through_cat ... ok
test timeoutcmd::tests::kill_stderr ... 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.54s

     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 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 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_and ... ok
test filter_predicate_allow ... 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_or ... ok
test filter_predicate_repository ... ok
test filter_predicate_tag ... ok
test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... ok
test filter_recorded_ci_events ... 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 update_and_show_information_about_run_to_running ... ok
test we_can_run_rad ... ok

test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 127.28s

   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 5.04s

+ subplot docgen ci-broker.subplot -o doc/ci-broker.html
 INFO Starting Subplot
 INFO Subplot finished successfully
+ subplot docgen doc/userguide.subplot -o doc/userguide.html
 INFO Starting Subplot
 INFO 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.
 INFO Starting Subplot
 INFO Subplot finished successfully
make: Leaving directory '/workspace/src/doc'
+ git reset --hard
HEAD is now at 19ede6d refactor(src/pull_queue.rs): avoid asserts
+ 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 19ede6d
nothing to commit, working tree clean
++ dpkg-parsechangelog -SVersion
++ sed 's/-[^-]*$//'
+ V=0.16.0
++ date -u +%Y%m%dT%H%M%S
+ T=20250514T055505
+ version=0.16.0.ci20250514T055505-1
+ dch -v 0.16.0.ci20250514T055505-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=288
LANG=C.UTF-8
CARGO_HOME=/workspace/deps
DEBEMAIL=liw@liw.fi
INVOCATION_ID=4d826ef619cd482b9939a9bae1b998cd
SHLVL=2
JOURNAL_STREAM=8:15629
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.ci20250514T055505-1
++ echo 0.16.0.ci20250514T055505-1
++ sed 's/-[^-]*$//'
+ uv=0.16.0.ci20250514T055505
++ dpkg --print-architecture
+ arch=amd64
+ orig=../radicle-ci-broker_0.16.0.ci20250514T055505.orig.tar.xz
+ deb=../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.deb
+ changes=../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.changes
+ git archive HEAD
+ xz
+ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package radicle-ci-broker
dpkg-buildpackage: info: source version 0.16.0.ci20250514T055505-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Lars Wirzenius <liw@liw.fi>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
 debian/rules clean
dh clean
   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building radicle-ci-broker using existing ./radicle-ci-broker_0.16.0.ci20250514T055505.orig.tar.xz
dpkg-source: info: building radicle-ci-broker in radicle-ci-broker_0.16.0.ci20250514T055505-1.debian.tar.xz
dpkg-source: info: building radicle-ci-broker in radicle-ci-broker_0.16.0.ci20250514T055505-1.dsc
 debian/rules build
dh 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
 debian/rules binary
dh 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.30s
  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
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/radicle-ci-broker/bin/cib debian/radicle-ci-broker/bin/synthetic-events debian/radicle-ci-broker/bin/cibtool debian/radicle-ci-broker/bin/default_branch were not linked against libm.so.6 (they use none of the library's symbols)
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'radicle-ci-broker-dbgsym' in '../radicle-ci-broker-dbgsym_0.16.0.ci20250514T055505-1_amd64.deb'.
dpkg-deb: building package 'radicle-ci-broker' in '../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.deb'.
 dpkg-genbuildinfo -O../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.buildinfo
 dpkg-genchanges -O../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build .
dpkg-buildpackage: info: full upload (original source is included)
+ ls -l ..
total 6480
drwxr-xr-x 2 root root    4096 May 14 05:51 artifacts
drwxr-xr-x 6 root root    4096 Apr  9 05:52 cache
drwxr-xr-x 3 root root    4096 May 14 05:52 deps
-rw-r--r-- 1 root root  691096 May 14 05:55 radicle-ci-broker-dbgsym_0.16.0.ci20250514T055505-1_amd64.deb
-rw-r--r-- 1 root root    2168 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505-1.debian.tar.xz
-rw-r--r-- 1 root root    1078 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505-1.dsc
-rw-r--r-- 1 root root    6181 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.buildinfo
-rw-r--r-- 1 root root    2630 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.changes
-rw-r--r-- 1 root root 5777920 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.deb
-rw-r--r-- 1 root root  126176 May 14 05:55 radicle-ci-broker_0.16.0.ci20250514T055505.orig.tar.xz
drwxr-xr-x 9 root root    4096 May 14 05:55 src
+ for x in ../*.deb
+ dpkg -c ../radicle-ci-broker-dbgsym_0.16.0.ci20250514T055505-1_amd64.deb
drwxr-xr-x root/root         0 2025-05-14 05:55 ./
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/.build-id/35/
-rw-r--r-- root/root    539504 2025-05-14 05:55 ./usr/lib/debug/.build-id/35/b1a4da94dd7040a0b04067846fa91a12ec61de.debug
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/.build-id/3b/
-rw-r--r-- root/root    397040 2025-05-14 05:55 ./usr/lib/debug/.build-id/3b/9d19af0c101279c3b097dfcb88740ae5bd8ff7.debug
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/.build-id/c0/
-rw-r--r-- root/root   2359064 2025-05-14 05:55 ./usr/lib/debug/.build-id/c0/573fd39f2e053d9e570ea34e32a01b1f927561.debug
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/lib/debug/.build-id/f1/
-rw-r--r-- root/root   2628376 2025-05-14 05:55 ./usr/lib/debug/.build-id/f1/0ae0aec7cbf29546a63ce6be239e716bedbd88.debug
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/doc/
lrwxrwxrwx root/root         0 2025-05-14 05:55 ./usr/share/doc/radicle-ci-broker-dbgsym -> radicle-ci-broker
+ for x in ../*.deb
+ dpkg -c ../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.deb
drwxr-xr-x root/root         0 2025-05-14 05:55 ./
drwxr-xr-x root/root         0 2025-05-14 05:55 ./bin/
-rwxr-xr-x root/root   9288176 2025-05-14 05:55 ./bin/cib
-rwxr-xr-x root/root  10791472 2025-05-14 05:55 ./bin/cibtool
-rwxr-xr-x root/root   2198840 2025-05-14 05:55 ./bin/default_branch
-rwxr-xr-x root/root   1874856 2025-05-14 05:55 ./bin/synthetic-events
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/doc/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/doc/radicle-ci-broker/
-rw-r--r-- root/root       543 2025-05-14 05:55 ./usr/share/doc/radicle-ci-broker/changelog.Debian.gz
-rw-r--r-- root/root       396 2025-05-14 05:55 ./usr/share/doc/radicle-ci-broker/copyright
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/lintian/
drwxr-xr-x root/root         0 2025-05-14 05:55 ./usr/share/lintian/overrides/
-rw-r--r-- root/root        97 2025-05-14 05:55 ./usr/share/lintian/overrides/radicle-ci-broker
+ mv ../radicle-ci-broker-dbgsym_0.16.0.ci20250514T055505-1_amd64.deb ../radicle-ci-broker_0.16.0.ci20250514T055505-1.debian.tar.xz ../radicle-ci-broker_0.16.0.ci20250514T055505-1.dsc ../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.buildinfo ../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.changes ../radicle-ci-broker_0.16.0.ci20250514T055505-1_amd64.deb ../radicle-ci-broker_0.16.0.ci20250514T055505.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-14T05:56:32Z INFO  ambient] ambient ends successfully