CI run for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5

Radicle repository id rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5

Table of Contents

Run log

At: 2026-02-16 09:21:20Z
After: 0.00 seconds
Program: ambient
Version: 0.12.0
Ambient starts
At: 2026-02-16 09:21:20Z
After: 0.00 seconds
tmpdir: /home/_rad/tmp
image_store: /home/_rad/ambient-images
projects: /dev/null
state: /home/_rad/ambient-state
rsync_target: null
rsync_target_base: null
rsync_target_map: null
dput_target: null
executor: /usr/bin/ambient-execute-plan
artifacts_max_size: 1 GB
cache_max_size: 30 GB
qemu:
  cpus: 2
  memory: 12 GB
  kvm_binary: /usr/bin/kvm
  ovmf_vars_file: /usr/share/ovmf/OVMF.fd
  ovmf_code_file: /usr/share/ovmf/OVMF.fd
uefi: false
lint: true
Ambient configuration
At: 2026-02-16 09:21:20Z
After: 0.05 seconds
Hoping for the best
Will run CI for project rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
At: 2026-02-16 09:21:20Z
After: 0.05 seconds
CargoFetch(
    CargoFetch,
)
Start action cargo_fetch
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • cargo
  • --version
exit: 0
Stdout:
cargo 1.90.0 (840b83a10 2025-07-30)
OK: cargo --version
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • cargo
  • clippy
  • --version
exit: 0
Stdout:
clippy 0.1.90 (1159e78c47 2025-09-14)
OK: cargo clippy --version
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • rustc
  • --version
exit: 0
Stdout:
rustc 1.90.0 (1159e78c4 2025-09-14)
OK: rustc --version
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • cargo
  • fetch
  • --locked
exit: 0
Stderr:
    Updating crates.io index
 Downloading crates ...
  Downloaded nu-ansi-term v0.46.0
  Downloaded anstyle v1.0.11
  Downloaded overload v0.1.1
  Downloaded matchers v0.1.0
  Downloaded test-log v0.2.18
  Downloaded test-log-macros v0.2.18
  Downloaded num-conv v0.1.0
  Downloaded human-panic v2.0.3
  Downloaded anstyle-wincon v3.0.2
  Downloaded anstream v0.6.13
  Downloaded deranged v0.4.0
  Downloaded powerfmt v0.2.0
  Downloaded time-macros v0.2.22
  Downloaded toml_writer v1.0.2
  Downloaded bytes v1.10.1
  Downloaded plist v1.7.4
  Downloaded regex-automata v0.1.10
  Downloaded backtrace v0.3.75
  Downloaded serde v1.0.219
  Downloaded time v0.3.41
  Downloaded quick-xml v0.38.1
  Downloaded tracing-subscriber v0.3.19
  Downloaded tracing v0.1.41
  Downloaded serde_derive v1.0.219
  Downloaded gimli v0.31.1
  Downloaded toml v0.9.5
  Downloaded object v0.36.7
  Downloaded regex-syntax v0.6.29
  Downloaded tracing-core v0.1.34
  Downloaded uuid v1.16.0
  Downloaded addr2line v0.24.2
  Downloaded os_info v3.12.0
  Downloaded toml_datetime v0.7.0
  Downloaded utf8parse v0.2.1
  Downloaded time-core v0.1.4
  Downloaded serde_spanned v1.0.0
OK: cargo fetch --locked
At: 2026-02-16 09:21:22Z
After: 1.66 seconds
End action cargo_fetch
At: 2026-02-16 09:21:22Z
After: 1.66 seconds
Hopefully all is good.
Plan succeeded
At: 2026-02-16 09:21:26Z
After: 5.97 seconds
Program: ambient-execute-plan
Version: 0.12.0@626957c
Executor starts
At: 2026-02-16 09:21:26Z
After: 5.98 seconds
steps:
- action: mkdir
  pathname: /ci
- action: mkdir
  pathname: /ci/artifacts
- action: tar_extract
  archive: /dev/vdc
  directory: /ci/src
- action: tar_extract
  archive: /dev/vdf
  directory: /ci/deps
- action: tar_extract
  archive: /dev/vde
  directory: /ci/cache
- action: shell
  shell: ln -sf /ci /workspace
- action: shell
  shell: git config --global user.name 'Ambient CI'
- action: shell
  shell: git config --global user.email ambient@example.com
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_build
- action: cargo_test
- action: shell
  shell: |
    # Because of a (temporary) limitation in Ambient, we need to set
    # these variables manually. Once Ambient manages environment
    # variables better, these can be deleted.
    export CARGO_TARGET_DIR=/workspace/cache
    export CARGO_HOME=/workspace/deps
    export HOME=/root
    export PATH="/root/.cargo/bin:$PATH"
    export RUSTDOCFLAGS='-D warnings'

    cargo doc --workspace --no-deps --all-features
- action: shell
  shell: |
    # Because of a (temporary) limitation in Ambient, we need to set
    # these variables manually. Once Ambient manages environment
    # variables better, these can be deleted.
    export CARGO_TARGET_DIR=/workspace/cache
    export CARGO_HOME=/workspace/deps
    export HOME=/root
    export PATH="/root/.cargo/bin:$PATH"

    # These are based on debian/control.
    export DEBEMAIL=liw@liw.fi
    export DEBFULLNAME="Lars Wirzenius"

    # Clean up after tests and documentation building. The Debian
    # package building tools do not want changes outside the
    # `debian` directory, compared to what is committed to Git, from
    # which the "upstream tarball" is created.
    git reset --hard
    git clean -fdx
    git status --ignored

    # Update debian/changelog with a new version so that every run
    # creates a newer version. This avoids us having to update the
    # file manually for every CI run.
    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
  packages: .
- action: tar_create
  archive: /dev/vde
  directory: /ci/cache
- action: tar_create
  archive: /dev/vdd
  directory: /ci/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /ci
source_dir: /ci/src
deps_dir: /ci/deps
cache_dir: /ci/cache
artifacts_dir: /ci/artifacts
Runnable plan
At: 2026-02-16 09:21:26Z
After: 6.01 seconds
Mkdir(
    Mkdir {
        pathname: "/ci",
    },
)
Start action mkdir
At: 2026-02-16 09:21:26Z
After: 6.01 seconds
End action mkdir
At: 2026-02-16 09:21:26Z
After: 6.02 seconds
Mkdir(
    Mkdir {
        pathname: "/ci/artifacts",
    },
)
Start action mkdir
At: 2026-02-16 09:21:26Z
After: 6.02 seconds
End action mkdir
At: 2026-02-16 09:21:26Z
After: 6.02 seconds
TarExtract(
    TarExtract {
        archive: "/dev/vdc",
        directory: "/ci/src",
    },
)
Start action tar_extract
At: 2026-02-16 09:21:26Z
After: 6.11 seconds
End action tar_extract
At: 2026-02-16 09:21:26Z
After: 6.11 seconds
TarExtract(
    TarExtract {
        archive: "/dev/vdf",
        directory: "/ci/deps",
    },
)
Start action tar_extract
At: 2026-02-16 09:21:29Z
After: 8.60 seconds
End action tar_extract
At: 2026-02-16 09:21:29Z
After: 8.60 seconds
TarExtract(
    TarExtract {
        archive: "/dev/vde",
        directory: "/ci/cache",
    },
)
Start action tar_extract
At: 2026-02-16 09:21:29Z
After: 8.61 seconds
End action tar_extract
At: 2026-02-16 09:21:29Z
After: 8.61 seconds
Shell(
    Shell {
        shell: "ln -sf /ci /workspace",
    },
)
Start action shell
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • bash
  • -c
  • set -xeuo pipefail ln -sf /ci /workspace
exit: 0
Stderr:
+ ln -sf /ci /workspace
OK: bash -c set -xeuo pipefail ln -sf /ci /workspace
At: 2026-02-16 09:21:29Z
After: 8.62 seconds
End action shell
At: 2026-02-16 09:21:29Z
After: 8.62 seconds
Shell(
    Shell {
        shell: "git config --global user.name 'Ambient CI'",
    },
)
Start action shell
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • bash
  • -c
  • set -xeuo pipefail git config --global user.name 'Ambient CI'
exit: 0
Stderr:
+ git config --global user.name 'Ambient CI'
OK: bash -c set -xeuo pipefail git config --global user.name 'Ambient CI'
At: 2026-02-16 09:21:29Z
After: 8.64 seconds
End action shell
At: 2026-02-16 09:21:29Z
After: 8.64 seconds
Shell(
    Shell {
        shell: "git config --global user.email ambient@example.com",
    },
)
Start action shell
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • bash
  • -c
  • set -xeuo pipefail git config --global user.email ambient@example.com
exit: 0
Stderr:
+ git config --global user.email ambient@example.com
OK: bash -c set -xeuo pipefail git config --global user.email ambient@example.com
At: 2026-02-16 09:21:29Z
After: 8.65 seconds
End action shell
At: 2026-02-16 09:21:29Z
After: 8.66 seconds
CargoFmt(
    CargoFmt,
)
Start action cargo_fmt
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
  • cargo
  • --version
exit: 1
Stderr:
info: syncing channel updates for '1.90-x86_64-unknown-linux-gnu'
error: failed to download file error=Reqwest(reqwest::Error { kind: Request, url: "https://static.rust-lang.org/dist/channel-rust-1.90.toml.sha256", source: hyper_util::client::legacy::Error(Connect, ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) })
error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-1.90.toml.sha256' to '/root/.rustup/tmp/egawfms2diq87ure_file': error downloading file: error sending request for url (https://static.rust-lang.org/dist/channel-rust-1.90.toml.sha256): client error (Connect): dns error: failed to lookup address information: Temporary failure in name resolution: failed to lookup address information: Temporary failure in name resolution
FAILED: cargo --version
At: 2026-02-16 09:21:29Z
After: 8.69 seconds
Action failed
At: 2026-02-16 09:21:29Z
After: 8.69 seconds
Exit codd 1
Executor ends, failure
At: 2026-02-16 09:21:32Z
After: 12.07 seconds
    exit: 0
    QEMU OK

    Trigger message

    {
      "request": "trigger",
      "version": 1,
      "event_type": "patch",
      "repository": {
        "id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
        "name": "heartwood",
        "description": "Radicle Heartwood Protocol & Stack",
        "private": false,
        "default_branch": "master",
        "delegates": [
          "did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
          "did:key:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
          "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
          "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
        ]
      },
      "action": "Created",
      "patch": {
        "id": "2488ccf5c36015d081b132171e033ccecdae06d4",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": "fintohaps"
        },
        "title": "node: add block command to control socket",
        "state": {
          "status": "open",
          "conflicts": []
        },
        "before": "03bbe52417f131ec721a7c1cc57185019f0298a3",
        "after": "be8c999f27f55279d8957d041674564f20a20ef0",
        "commits": [
          "be8c999f27f55279d8957d041674564f20a20ef0",
          "7970b2b69a4373353096907b365e2e3bbbbd12ae",
          "5eb272ce08627317eee697ae79b241a4f6518fa2",
          "4db47cd2086db9b4c4e0bc0655e26f730371fab3",
          "8aab8ea5e2de8fd890a6cc2b1b67ecdc3763409f",
          "cd239a48fcd3c569958f8c7462de840d9fddf26c"
        ],
        "target": "ed2b36cf9c930724a752458752d71825634f73a4",
        "labels": [],
        "assignees": [],
        "revisions": [
          {
            "id": "2488ccf5c36015d081b132171e033ccecdae06d4",
            "author": {
              "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
              "alias": "fintohaps"
            },
            "description": "Introduces the ability to explicitly block a peer via the node control\nsocket. Previously, the node only exposed follow and unfollow commands.\nWhile the underlying policy database schema supported a Block variant,\nthere was no mechanism to trigger this state via the client handle.\n\nThe new block command:\n\n1.  Updates the node's follow policy to Block.\n2.  Immediately disconnects the peer if a session is active.\n3.  Prevents future inbound and outbound connections to that peer.\n4.  Filters the peer out of the available peers list.",
            "base": "03bbe52417f131ec721a7c1cc57185019f0298a3",
            "oid": "cd239a48fcd3c569958f8c7462de840d9fddf26c",
            "timestamp": 1771005177
          },
          {
            "id": "18aeacab18890f76894dce14b0c7562adaad4f7f",
            "author": {
              "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
              "alias": "fintohaps"
            },
            "description": "REVIEW",
            "base": "03bbe52417f131ec721a7c1cc57185019f0298a3",
            "oid": "be8c999f27f55279d8957d041674564f20a20ef0",
            "timestamp": 1771233676
          }
        ]
      }
    }

    Ambient stdout

    deprecated: the `cpus` field is replaced by `qemu.cpus`
    deprecated: the `memory` field is replaced by `qemu.memory`
    run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
    ERROR: CI run failed inside QEMU
    

    Ambient stderr

    <empty log>