CI run log: rad:zwTxygwuz5LDGBq255RA2CbNGrz8

Radicle info

Trigger message
{
  "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": "a2c5c6fd74c8915ae431ed00df35bedc6ae0a993",
    "author": {
      "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
      "alias": "liw"
    },
    "title": "chore: git ignore the inst directory",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "884dda7794a7fba46da56ac16d9f862980749459",
    "after": "f80dbd95eb119771643554de4cfd00b2cf2d29e2",
    "commits": [
      "f80dbd95eb119771643554de4cfd00b2cf2d29e2",
      "8632bed993330ca02fa88635ef28b3469bf60734"
    ],
    "target": "884dda7794a7fba46da56ac16d9f862980749459",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "a2c5c6fd74c8915ae431ed00df35bedc6ae0a993",
        "author": {
          "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
          "alias": "liw"
        },
        "description": "test: install binaries in the inst directory, run from there\n\nThis avoids having to determine the rigth path in the Cargo target\ndirectory, which is tricky when --target is used.",
        "base": "884dda7794a7fba46da56ac16d9f862980749459",
        "oid": "f80dbd95eb119771643554de4cfd00b2cf2d29e2",
        "timestamp": 1787584211
      }
    ]
  }
}
Ambient stdout
Project {
    source: TildePathBuf {
        path: "src",
    },
    expanded_source: "/tmp/.tmp2ZiHrZ/src",
    image: TildePathBuf {
        path: "/home/_rad/ambient.qcow2",
    },
    expanded_image: "/home/_rad/ambient.qcow2",
    pre_plan: Some(
        [
            CargoFetch,
        ],
    ),
    plan: Some(
        [
            CargoClippy,
            Shell {
                shell: "export CARGO_TARGET_DIR=/ci/cache\nexport CARGO_HOME=/ci/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.\nexport RAD_PASSPHRAE=secret\nrad auth --alias ambient\nenv\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 /ci/artifacts/rsync/.\n",
            },
            Custom(
                Custom {
                    name: "dch",
                    args: {
                        "debfullname": String("Lars Wirzenius"),
                        "debemail": String("liw@liw.fi"),
                    },
                },
            ),
            Deb2,
        ],
    ),
    post_plan: Some(
        [],
    ),
    artifact_max_size: None,
    cache_max_size: None,
    dependencies_max_size: None,
}
run CI for rad:zwTxygwuz5LDGBq255RA2CbNGrz8
ERROR: CI run failed inside QEMU
Ambient stderr
<empty log>

Pre-plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.18.0@5360d3f
  2. 0 ms: Runnable plan
    steps:
    - action: mkdir
      pathname: /ci
    - action: mkdir
      pathname: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/secrets
    - action: mkdir
      pathname: /ci/deps
    - 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: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    - action: shell
      shell: ln -sf /ci /workspace
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    - action: wait_online
    - action: network_diagnostics
    - action: cargo_fetch
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    secrets_drive: null
    workspace_dir: /ci
    source_dir: /ci/src
    deps_dir: /ci/deps
    cache_dir: /ci/cache
    artifacts_dir: /ci/artifacts
    secrets_dir: null
    envs: {}
    
  3. 1 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 2 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  5. 2 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  6. 2 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  7. 56 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  8. 57 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  9. 111 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  10. 117 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  11. 8069 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  12. 8077 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  13. 8082 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  14. 8101 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  15. 8104 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  16. 8111 ms: Action succeeded: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  17. 8158 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
    • Stderr
  18. 8178 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      ● systemd-networkd-wait-online.service - Wait for Network to be Configured
           Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)
           Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 20ms ago
       Invocation: 05262b9796b1440fa6dd5a0767dda8d2
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 429 (code=exited, status=0/SUCCESS)
         Mem peak: 1.8M
              CPU: 7ms
      
      Aug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  19. 8208 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      ● systemd-networkd.service - Network Configuration
           Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
           Active: active (running) since Mon 2026-08-24 15:10:27 UTC; 8s ago
       Invocation: 63fc0c9726244ad8b22dbf85d611ca76
      TriggeredBy: ● systemd-networkd.socket
             Docs: man:systemd-networkd.service(8)
                   man:org.freedesktop.network1(5)
         Main PID: 323 (systemd-network)
           Status: "Processing requests..."
            Tasks: 1 (limit: 13288)
         FD Store: 0 (limit: 512)
           Memory: 3.8M (peak: 13.3M)
              CPU: 81ms
           CGroup: /system.slice/systemd-networkd.service
                   └─323 /usr/lib/systemd/systemd-networkd
      
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL
      
    • Stderr
  20. 8248 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      ● systemd-networkd-wait-online.service - Wait for Network to be Configured
           Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)
           Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 89ms ago
       Invocation: 05262b9796b1440fa6dd5a0767dda8d2
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 429 (code=exited, status=0/SUCCESS)
         Mem peak: 1.8M
              CPU: 7ms
      
      Aug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  21. 8276 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      Type=oneshot
      ExitType=main
      Restart=no
      RestartMode=normal
      NotifyAccess=none
      RestartUSec=100ms
      RestartSteps=0
      RestartMaxDelayUSec=infinity
      RestartUSecNext=100ms
      TimeoutStartUSec=infinity
      TimeoutStopUSec=1min 30s
      TimeoutAbortUSec=1min 30s
      TimeoutStartFailureMode=terminate
      TimeoutStopFailureMode=terminate
      RuntimeMaxUSec=infinity
      RuntimeRandomizedExtraUSec=0
      WatchdogUSec=0
      WatchdogTimestampMonotonic=0
      RootDirectoryStartOnly=no
      RemainAfterExit=yes
      GuessMainPID=yes
      MainPID=0
      ControlPID=0
      FileDescriptorStoreMax=0
      NFileDescriptorStore=0
      FileDescriptorStorePreserve=restart
      StatusErrno=0
      Result=success
      ReloadResult=success
      CleanResult=success
      LiveMountResult=success
      UID=[not set]
      GID=[not set]
      NRestarts=0
      OOMPolicy=stop
      ReloadSignal=1
      ExecMainStartTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainStartTimestampMonotonic=16149149
      ExecMainExitTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainExitTimestampMonotonic=16172300
      ExecMainHandoffTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainHandoffTimestampMonotonic=16168360
      ExecMainPID=429
      ExecMainCode=1
      ExecMainStatus=0
      ExecStart={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; ignore_errors=no ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }
      ExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }
      Slice=system.slice
      ControlGroupId=2153
      MemoryCurrent=[not set]
      MemoryPeak=1929216
      MemorySwapCurrent=[not set]
      MemorySwapPeak=0
      MemoryZSwapCurrent=[not set]
      MemoryAvailable=11120476160
      EffectiveMemoryMax=11670540288
      EffectiveMemoryHigh=11670540288
      CPUUsageNSec=7536000
      TasksCurrent=[not set]
      EffectiveTasksMax=13288
      IPIngressBytes=[no data]
      IPIngressPackets=[no data]
      IPEgressBytes=[no data]
      IPEgressPackets=[no data]
      IOReadBytes=[not set]
      IOReadOperations=[not set]
      IOWriteBytes=[not set]
      IOWriteOperations=[not set]
      Delegate=no
      CPUAccounting=yes
      CPUWeight=[not set]
      StartupCPUWeight=[not set]
      CPUShares=[not set]
      StartupCPUShares=[not set]
      CPUQuotaPerSecUSec=infinity
      CPUQuotaPeriodUSec=infinity
      IOAccounting=no
      IOWeight=[not set]
      StartupIOWeight=[not set]
      BlockIOAccounting=no
      BlockIOWeight=[not set]
      StartupBlockIOWeight=[not set]
      MemoryAccounting=yes
      DefaultMemoryLow=0
      DefaultStartupMemoryLow=0
      DefaultMemoryMin=0
      MemoryMin=0
      MemoryLow=0
      StartupMemoryLow=0
      MemoryHigh=infinity
      StartupMemoryHigh=infinity
      MemoryMax=infinity
      StartupMemoryMax=infinity
      MemorySwapMax=infinity
      StartupMemorySwapMax=infinity
      MemoryZSwapMax=infinity
      StartupMemoryZSwapMax=infinity
      MemoryZSwapWriteback=yes
      MemoryLimit=infinity
      DevicePolicy=auto
      TasksAccounting=yes
      TasksMax=13288
      IPAccounting=no
      ManagedOOMSwap=auto
      ManagedOOMMemoryPressure=auto
      ManagedOOMMemoryPressureLimit=0
      ManagedOOMMemoryPressureDurationUSec=[not set]
      ManagedOOMPreference=none
      MemoryPressureWatch=auto
      MemoryPressureThresholdUSec=200ms
      CoredumpReceive=no
      UMask=0022
      LimitCPU=infinity
      LimitCPUSoft=infinity
      LimitFSIZE=infinity
      LimitFSIZESoft=infinity
      LimitDATA=infinity
      LimitDATASoft=infinity
      LimitSTACK=infinity
      LimitSTACKSoft=8388608
      LimitCORE=infinity
      LimitCORESoft=0
      LimitRSS=infinity
      LimitRSSSoft=infinity
      LimitNOFILE=524288
      LimitNOFILESoft=1024
      LimitAS=infinity
      LimitASSoft=infinity
      LimitNPROC=44294
      LimitNPROCSoft=44294
      LimitMEMLOCK=8388608
      LimitMEMLOCKSoft=8388608
      LimitLOCKS=infinity
      LimitLOCKSSoft=infinity
      LimitSIGPENDING=44294
      LimitSIGPENDINGSoft=44294
      LimitMSGQUEUE=819200
      LimitMSGQUEUESoft=819200
      LimitNICE=0
      LimitNICESoft=0
      LimitRTPRIO=0
      LimitRTPRIOSoft=0
      LimitRTTIME=infinity
      LimitRTTIMESoft=infinity
      RootEphemeral=no
      OOMScoreAdjust=0
      CoredumpFilter=0x33
      Nice=0
      IOSchedulingClass=2
      IOSchedulingPriority=4
      CPUSchedulingPolicy=0
      CPUSchedulingPriority=0
      CPUAffinityFromNUMA=no
      NUMAPolicy=n/a
      TimerSlackNSec=50000
      CPUSchedulingResetOnFork=no
      NonBlocking=no
      StandardInput=null
      StandardOutput=journal
      StandardError=inherit
      TTYReset=no
      TTYVHangup=no
      TTYVTDisallocate=no
      SyslogPriority=30
      SyslogLevelPrefix=yes
      SyslogLevel=6
      SyslogFacility=3
      LogLevelMax=-1
      LogRateLimitIntervalUSec=0
      LogRateLimitBurst=0
      SecureBits=0
      CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore
      DynamicUser=no
      SetLoginEnvironment=no
      RemoveIPC=no
      PrivateTmp=no
      PrivateTmpEx=no
      PrivateDevices=no
      ProtectClock=no
      ProtectKernelTunables=no
      ProtectKernelModules=no
      ProtectKernelLogs=no
      ProtectControlGroups=no
      ProtectControlGroupsEx=no
      PrivateNetwork=no
      PrivateUsers=no
      PrivateUsersEx=no
      PrivateMounts=no
      PrivateIPC=no
      PrivatePIDs=no
      ProtectHome=no
      ProtectSystem=no
      SameProcessGroup=no
      UtmpMode=init
      IgnoreSIGPIPE=yes
      NoNewPrivileges=no
      SystemCallErrorNumber=2147483646
      LockPersonality=no
      RuntimeDirectoryPreserve=no
      RuntimeDirectoryMode=0755
      StateDirectoryMode=0755
      CacheDirectoryMode=0755
      LogsDirectoryMode=0755
      ConfigurationDirectoryMode=0755
      TimeoutCleanUSec=infinity
      MemoryDenyWriteExecute=no
      RestrictRealtime=no
      RestrictSUIDSGID=no
      RestrictNamespaces=no
      MountAPIVFS=no
      BindLogSockets=no
      KeyringMode=private
      ProtectProc=default
      ProcSubset=all
      ProtectHostname=no
      MemoryKSM=no
      RootImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      MountImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      ExtensionImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      KillMode=control-group
      KillSignal=15
      RestartKillSignal=15
      FinalKillSignal=9
      SendSIGKILL=yes
      SendSIGHUP=no
      WatchdogSignal=6
      Id=systemd-networkd-wait-online.service
      Names=systemd-networkd-wait-online.service
      Requires=system.slice
      BindsTo=systemd-networkd.service
      WantedBy=network-online.target
      Conflicts=shutdown.target
      Before=shutdown.target network-online.target
      After=systemd-journald.socket system.slice systemd-networkd.service
      Documentation="man:systemd-networkd-wait-online.service(8)"
      Description=Wait for Network to be Configured
      LoadState=loaded
      ActiveState=active
      FreezerState=running
      SubState=exited
      FragmentPath=/usr/lib/systemd/system/systemd-networkd-wait-online.service
      UnitFileState=enabled
      UnitFilePreset=enabled
      StateChangeTimestamp=Mon 2026-08-24 15:10:35 UTC
      StateChangeTimestampMonotonic=16172427
      InactiveExitTimestamp=Mon 2026-08-24 15:10:35 UTC
      InactiveExitTimestampMonotonic=16149624
      ActiveEnterTimestamp=Mon 2026-08-24 15:10:35 UTC
      ActiveEnterTimestampMonotonic=16172427
      ActiveExitTimestampMonotonic=0
      InactiveEnterTimestampMonotonic=0
      CanStart=yes
      CanStop=yes
      CanReload=no
      CanIsolate=no
      CanFreeze=yes
      CanLiveMount=no
      StopWhenUnneeded=no
      RefuseManualStart=no
      RefuseManualStop=no
      AllowIsolate=no
      DefaultDependencies=no
      SurviveFinalKillSignal=no
      OnSuccessJobMode=fail
      OnFailureJobMode=replace
      IgnoreOnIsolate=no
      NeedDaemonReload=no
      JobTimeoutUSec=infinity
      JobRunningTimeoutUSec=infinity
      JobTimeoutAction=none
      ConditionResult=yes
      AssertResult=yes
      ConditionTimestamp=Mon 2026-08-24 15:10:35 UTC
      ConditionTimestampMonotonic=16148584
      AssertTimestamp=Mon 2026-08-24 15:10:35 UTC
      AssertTimestampMonotonic=16148665
      Transient=no
      Perpetual=no
      StartLimitIntervalUSec=10s
      StartLimitBurst=5
      StartLimitAction=none
      FailureAction=none
      SuccessAction=none
      InvocationID=05262b9796b1440fa6dd5a0767dda8d2
      CollectMode=inactive
      DebugInvocation=no
      
    • Stderr
  22. 8379 ms: Program succeeded: ip
    • Exit code: 0
    • Stdout
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
          altname enp0s1
          altname enx525400123456
          inet 10.0.2.15/24 metric 1024 brd 10.0.2.255 scope global dynamic eth0
             valid_lft 86392sec preferred_lft 86392sec
          inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute 
             valid_lft 86395sec preferred_lft 14395sec
          inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll 
             valid_lft forever preferred_lft forever
      
    • Stderr
  23. 8383 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      IDX LINK TYPE     OPERATIONAL SETUP
        1 lo   loopback carrier     unmanaged
        2 eth0 ether    routable    configured
      
      2 links listed.
      
    • Stderr
  24. 8439 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      ● Interfaces: 1, 2
             State: routable
      Online state: online
           Address: 10.0.2.15 on eth0
                    fec0::5054:ff:fe12:3456 on eth0
                    fe80::5054:ff:fe12:3456 on eth0
           Gateway: 10.0.2.2 on eth0
                    fe80::2 on eth0
               DNS: 10.0.2.3
                    fec0::3
      
      Aug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL
      Aug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  25. 8442 ms: Program succeeded: ping
    • Exit code: 0
    • Stdout
      PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
      64 bytes from 8.8.8.8: icmp_seq=1 ttl=255 time=1.31 ms
      
      --- 8.8.8.8 ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.312/1.312/1.312/0.000 ms
      
    • Stderr
  26. 8485 ms: Program succeeded: ping
    • Exit code: 0
    • Stdout
      PING www.google.com (142.251.156.119) 56(84) bytes of data.
      64 bytes from 142.251.156.119: icmp_seq=1 ttl=255 time=1.35 ms
      
      --- www.google.com ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.348/1.348/1.348/0.000 ms
      
    • Stderr
  27. 8485 ms: Action succeeded: wait_online
    - action: wait_online
    
  28. 8513 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      ● systemd-networkd.service - Network Configuration
           Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
           Active: active (running) since Mon 2026-08-24 15:10:27 UTC; 8s ago
       Invocation: 63fc0c9726244ad8b22dbf85d611ca76
      TriggeredBy: ● systemd-networkd.socket
             Docs: man:systemd-networkd.service(8)
                   man:org.freedesktop.network1(5)
         Main PID: 323 (systemd-network)
           Status: "Processing requests..."
            Tasks: 1 (limit: 13288)
         FD Store: 0 (limit: 512)
           Memory: 3.8M (peak: 13.3M)
              CPU: 82ms
           CGroup: /system.slice/systemd-networkd.service
                   └─323 /usr/lib/systemd/systemd-networkd
      
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL
      
    • Stderr
  29. 8553 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      ● systemd-networkd-wait-online.service - Wait for Network to be Configured
           Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)
           Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 395ms ago
       Invocation: 05262b9796b1440fa6dd5a0767dda8d2
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 429 (code=exited, status=0/SUCCESS)
         Mem peak: 1.8M
              CPU: 7ms
      
      Aug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  30. 8582 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
      Type=oneshot
      ExitType=main
      Restart=no
      RestartMode=normal
      NotifyAccess=none
      RestartUSec=100ms
      RestartSteps=0
      RestartMaxDelayUSec=infinity
      RestartUSecNext=100ms
      TimeoutStartUSec=infinity
      TimeoutStopUSec=1min 30s
      TimeoutAbortUSec=1min 30s
      TimeoutStartFailureMode=terminate
      TimeoutStopFailureMode=terminate
      RuntimeMaxUSec=infinity
      RuntimeRandomizedExtraUSec=0
      WatchdogUSec=0
      WatchdogTimestampMonotonic=0
      RootDirectoryStartOnly=no
      RemainAfterExit=yes
      GuessMainPID=yes
      MainPID=0
      ControlPID=0
      FileDescriptorStoreMax=0
      NFileDescriptorStore=0
      FileDescriptorStorePreserve=restart
      StatusErrno=0
      Result=success
      ReloadResult=success
      CleanResult=success
      LiveMountResult=success
      UID=[not set]
      GID=[not set]
      NRestarts=0
      OOMPolicy=stop
      ReloadSignal=1
      ExecMainStartTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainStartTimestampMonotonic=16149149
      ExecMainExitTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainExitTimestampMonotonic=16172300
      ExecMainHandoffTimestamp=Mon 2026-08-24 15:10:35 UTC
      ExecMainHandoffTimestampMonotonic=16168360
      ExecMainPID=429
      ExecMainCode=1
      ExecMainStatus=0
      ExecStart={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; ignore_errors=no ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }
      ExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }
      Slice=system.slice
      ControlGroupId=2153
      MemoryCurrent=[not set]
      MemoryPeak=1929216
      MemorySwapCurrent=[not set]
      MemorySwapPeak=0
      MemoryZSwapCurrent=[not set]
      MemoryAvailable=11121692672
      EffectiveMemoryMax=11670540288
      EffectiveMemoryHigh=11670540288
      CPUUsageNSec=7536000
      TasksCurrent=[not set]
      EffectiveTasksMax=13288
      IPIngressBytes=[no data]
      IPIngressPackets=[no data]
      IPEgressBytes=[no data]
      IPEgressPackets=[no data]
      IOReadBytes=[not set]
      IOReadOperations=[not set]
      IOWriteBytes=[not set]
      IOWriteOperations=[not set]
      Delegate=no
      CPUAccounting=yes
      CPUWeight=[not set]
      StartupCPUWeight=[not set]
      CPUShares=[not set]
      StartupCPUShares=[not set]
      CPUQuotaPerSecUSec=infinity
      CPUQuotaPeriodUSec=infinity
      IOAccounting=no
      IOWeight=[not set]
      StartupIOWeight=[not set]
      BlockIOAccounting=no
      BlockIOWeight=[not set]
      StartupBlockIOWeight=[not set]
      MemoryAccounting=yes
      DefaultMemoryLow=0
      DefaultStartupMemoryLow=0
      DefaultMemoryMin=0
      MemoryMin=0
      MemoryLow=0
      StartupMemoryLow=0
      MemoryHigh=infinity
      StartupMemoryHigh=infinity
      MemoryMax=infinity
      StartupMemoryMax=infinity
      MemorySwapMax=infinity
      StartupMemorySwapMax=infinity
      MemoryZSwapMax=infinity
      StartupMemoryZSwapMax=infinity
      MemoryZSwapWriteback=yes
      MemoryLimit=infinity
      DevicePolicy=auto
      TasksAccounting=yes
      TasksMax=13288
      IPAccounting=no
      ManagedOOMSwap=auto
      ManagedOOMMemoryPressure=auto
      ManagedOOMMemoryPressureLimit=0
      ManagedOOMMemoryPressureDurationUSec=[not set]
      ManagedOOMPreference=none
      MemoryPressureWatch=auto
      MemoryPressureThresholdUSec=200ms
      CoredumpReceive=no
      UMask=0022
      LimitCPU=infinity
      LimitCPUSoft=infinity
      LimitFSIZE=infinity
      LimitFSIZESoft=infinity
      LimitDATA=infinity
      LimitDATASoft=infinity
      LimitSTACK=infinity
      LimitSTACKSoft=8388608
      LimitCORE=infinity
      LimitCORESoft=0
      LimitRSS=infinity
      LimitRSSSoft=infinity
      LimitNOFILE=524288
      LimitNOFILESoft=1024
      LimitAS=infinity
      LimitASSoft=infinity
      LimitNPROC=44294
      LimitNPROCSoft=44294
      LimitMEMLOCK=8388608
      LimitMEMLOCKSoft=8388608
      LimitLOCKS=infinity
      LimitLOCKSSoft=infinity
      LimitSIGPENDING=44294
      LimitSIGPENDINGSoft=44294
      LimitMSGQUEUE=819200
      LimitMSGQUEUESoft=819200
      LimitNICE=0
      LimitNICESoft=0
      LimitRTPRIO=0
      LimitRTPRIOSoft=0
      LimitRTTIME=infinity
      LimitRTTIMESoft=infinity
      RootEphemeral=no
      OOMScoreAdjust=0
      CoredumpFilter=0x33
      Nice=0
      IOSchedulingClass=2
      IOSchedulingPriority=4
      CPUSchedulingPolicy=0
      CPUSchedulingPriority=0
      CPUAffinityFromNUMA=no
      NUMAPolicy=n/a
      TimerSlackNSec=50000
      CPUSchedulingResetOnFork=no
      NonBlocking=no
      StandardInput=null
      StandardOutput=journal
      StandardError=inherit
      TTYReset=no
      TTYVHangup=no
      TTYVTDisallocate=no
      SyslogPriority=30
      SyslogLevelPrefix=yes
      SyslogLevel=6
      SyslogFacility=3
      LogLevelMax=-1
      LogRateLimitIntervalUSec=0
      LogRateLimitBurst=0
      SecureBits=0
      CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore
      DynamicUser=no
      SetLoginEnvironment=no
      RemoveIPC=no
      PrivateTmp=no
      PrivateTmpEx=no
      PrivateDevices=no
      ProtectClock=no
      ProtectKernelTunables=no
      ProtectKernelModules=no
      ProtectKernelLogs=no
      ProtectControlGroups=no
      ProtectControlGroupsEx=no
      PrivateNetwork=no
      PrivateUsers=no
      PrivateUsersEx=no
      PrivateMounts=no
      PrivateIPC=no
      PrivatePIDs=no
      ProtectHome=no
      ProtectSystem=no
      SameProcessGroup=no
      UtmpMode=init
      IgnoreSIGPIPE=yes
      NoNewPrivileges=no
      SystemCallErrorNumber=2147483646
      LockPersonality=no
      RuntimeDirectoryPreserve=no
      RuntimeDirectoryMode=0755
      StateDirectoryMode=0755
      CacheDirectoryMode=0755
      LogsDirectoryMode=0755
      ConfigurationDirectoryMode=0755
      TimeoutCleanUSec=infinity
      MemoryDenyWriteExecute=no
      RestrictRealtime=no
      RestrictSUIDSGID=no
      RestrictNamespaces=no
      MountAPIVFS=no
      BindLogSockets=no
      KeyringMode=private
      ProtectProc=default
      ProcSubset=all
      ProtectHostname=no
      MemoryKSM=no
      RootImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      MountImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      ExtensionImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent
      KillMode=control-group
      KillSignal=15
      RestartKillSignal=15
      FinalKillSignal=9
      SendSIGKILL=yes
      SendSIGHUP=no
      WatchdogSignal=6
      Id=systemd-networkd-wait-online.service
      Names=systemd-networkd-wait-online.service
      Requires=system.slice
      BindsTo=systemd-networkd.service
      WantedBy=network-online.target
      Conflicts=shutdown.target
      Before=shutdown.target network-online.target
      After=systemd-journald.socket system.slice systemd-networkd.service
      Documentation="man:systemd-networkd-wait-online.service(8)"
      Description=Wait for Network to be Configured
      LoadState=loaded
      ActiveState=active
      FreezerState=running
      SubState=exited
      FragmentPath=/usr/lib/systemd/system/systemd-networkd-wait-online.service
      UnitFileState=enabled
      UnitFilePreset=enabled
      StateChangeTimestamp=Mon 2026-08-24 15:10:35 UTC
      StateChangeTimestampMonotonic=16172427
      InactiveExitTimestamp=Mon 2026-08-24 15:10:35 UTC
      InactiveExitTimestampMonotonic=16149624
      ActiveEnterTimestamp=Mon 2026-08-24 15:10:35 UTC
      ActiveEnterTimestampMonotonic=16172427
      ActiveExitTimestampMonotonic=0
      InactiveEnterTimestampMonotonic=0
      CanStart=yes
      CanStop=yes
      CanReload=no
      CanIsolate=no
      CanFreeze=yes
      CanLiveMount=no
      StopWhenUnneeded=no
      RefuseManualStart=no
      RefuseManualStop=no
      AllowIsolate=no
      DefaultDependencies=no
      SurviveFinalKillSignal=no
      OnSuccessJobMode=fail
      OnFailureJobMode=replace
      IgnoreOnIsolate=no
      NeedDaemonReload=no
      JobTimeoutUSec=infinity
      JobRunningTimeoutUSec=infinity
      JobTimeoutAction=none
      ConditionResult=yes
      AssertResult=yes
      ConditionTimestamp=Mon 2026-08-24 15:10:35 UTC
      ConditionTimestampMonotonic=16148584
      AssertTimestamp=Mon 2026-08-24 15:10:35 UTC
      AssertTimestampMonotonic=16148665
      Transient=no
      Perpetual=no
      StartLimitIntervalUSec=10s
      StartLimitBurst=5
      StartLimitAction=none
      FailureAction=none
      SuccessAction=none
      InvocationID=05262b9796b1440fa6dd5a0767dda8d2
      CollectMode=inactive
      DebugInvocation=no
      
    • Stderr
  31. 8685 ms: Program succeeded: ip
    • Exit code: 0
    • Stdout
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
          altname enp0s1
          altname enx525400123456
          inet 10.0.2.15/24 metric 1024 brd 10.0.2.255 scope global dynamic eth0
             valid_lft 86392sec preferred_lft 86392sec
          inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute 
             valid_lft 86395sec preferred_lft 14395sec
          inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll 
             valid_lft forever preferred_lft forever
      
    • Stderr
  32. 8689 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      IDX LINK TYPE     OPERATIONAL SETUP
        1 lo   loopback carrier     unmanaged
        2 eth0 ether    routable    configured
      
      2 links listed.
      
    • Stderr
  33. 8746 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      ● Interfaces: 1, 2
             State: routable
      Online state: online
           Address: 10.0.2.15 on eth0
                    fec0::5054:ff:fe12:3456 on eth0
                    fe80::5054:ff:fe12:3456 on eth0
           Gateway: 10.0.2.2 on eth0
                    fe80::2 on eth0
               DNS: 10.0.2.3
                    fec0::3
      
      Aug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL
      Aug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  34. 8749 ms: Program succeeded: ping
    • Exit code: 0
    • Stdout
      PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
      64 bytes from 8.8.8.8: icmp_seq=1 ttl=255 time=1.23 ms
      
      --- 8.8.8.8 ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.231/1.231/1.231/0.000 ms
      
    • Stderr
  35. 8804 ms: Program succeeded: ping
    • Exit code: 0
    • Stdout
      PING www.google.com (142.251.155.119) 56(84) bytes of data.
      64 bytes from 142.251.155.119: icmp_seq=1 ttl=255 time=1.08 ms
      
      --- www.google.com ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.083/1.083/1.083/0.000 ms
      
    • Stderr
  36. 8804 ms: Action succeeded: network_diagnostics
    - action: network_diagnostics
    
  37. 8850 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      cargo 1.98.0 (797e8a9bc 2026-08-05)
      
    • Stderr
  38. 8913 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      clippy 0.1.98 (88d9e12ae1 2026-08-18)
      
    • Stderr
  39. 8942 ms: Program succeeded: rustc
    • Exit code: 0
    • Stdout
      rustc 1.98.0 (88d9e12ae 2026-08-18)
      
    • Stderr
  40. 16569 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
    • Stderr
          Updating crates.io index
       Downloading crates ...
        Downloaded version_check v0.9.5
        Downloaded serde_path_to_error v0.1.20
        Downloaded uuid v1.23.4
        Downloaded arraydeque v0.5.1
        Downloaded culpa-macros v1.0.2
        Downloaded scoped-tls v1.0.1
        Downloaded find-msvc-tools v0.1.9
        Downloaded foldhash v0.1.5
        Downloaded html-escape v0.2.14
        Downloaded descape v3.0.0
        Downloaded windows-targets v0.48.5
        Downloaded aligned v0.4.3
        Downloaded pkg-config v0.3.33
        Downloaded radicle-std-ext v0.2.0
        Downloaded doc-comment v0.3.4
        Downloaded anyhow v1.0.103
        Downloaded unicase v2.9.0
        Downloaded pulldown-cmark-escape v0.11.0
        Downloaded getopts v0.2.24
        Downloaded pikchr v0.1.4
        Downloaded cc v1.2.66
        Downloaded shlex v2.0.1
        Downloaded marked-yaml v0.8.0
        Downloaded yaml-rust2 v0.10.4
        Downloaded hashlink v0.10.0
        Downloaded line-col v0.2.1
        Downloaded base64 v0.22.1
        Downloaded culpa v1.0.2
        Downloaded state v0.6.0
        Downloaded loom v0.5.6
        Downloaded generator v0.7.5
        Downloaded windows-targets v0.52.6
        Downloaded fs_at v0.2.1
        Downloaded cfg_aliases v0.2.1
        Downloaded as-slice v0.2.1
        Downloaded fs2 v0.4.3
        Downloaded sqlite v0.37.0
        Downloaded sqlite3-sys v0.18.0
        Downloaded derive_builder_core v0.20.2
        Downloaded fnv v1.0.7
        Downloaded diligent-date-parser v0.1.5
        Downloaded radicle-surf v0.28.0
        Downloaded pulldown-cmark v0.13.4
        Downloaded shell-words v1.1.1
        Downloaded normpath v1.5.1
        Downloaded cvt v0.1.2
        Downloaded unsafe-libyaml-norway v0.2.15
        Downloaded derive_builder_macro v0.20.2
        Downloaded darling_macro v0.20.11
        Downloaded ident_case v1.0.1
        Downloaded thiserror-impl v1.0.69
        Downloaded radicle-git-ext v0.13.0
        Downloaded data-encoding-macro v0.1.20
        Downloaded jobserver v0.1.35
        Downloaded remove_dir_all v1.0.0
        Downloaded filetime v0.2.29
        Downloaded serde_norway v0.9.42
        Downloaded ryu v1.0.23
        Downloaded rss v2.1.0
        Downloaded derive_builder v0.20.2
        Downloaded darling v0.20.11
        Downloaded darling_core v0.20.11
        Downloaded strsim v0.11.1
        Downloaded autocfg v1.5.1
        Downloaded thiserror v1.0.69
        Downloaded xattr v1.6.1
        Downloaded git-ref-format v0.7.0
        Downloaded base256emoji v1.0.2
        Downloaded base-x v0.2.11
        Downloaded ec25519 v0.1.0
        Downloaded amplify v4.9.0
        Downloaded ref-cast v1.0.25
        Downloaded hashbrown v0.15.5
        Downloaded atom_syndication v0.12.9
        Downloaded num-traits v0.2.19
        Downloaded tar v0.4.46
        Downloaded proc-macro-error-attr3 v3.0.2
        Downloaded git-ref-format-core v0.6.0
        Downloaded nonempty v0.9.0
        Downloaded adler2 v2.0.1
        Downloaded ghash v0.5.1
        Downloaded pkcs1 v0.7.5
        Downloaded getrandom v0.3.4
        Downloaded ref-cast-impl v1.0.25
        Downloaded dyn-clone v1.0.20
        Downloaded git-ref-format-macro v0.7.0
        Downloaded proc-macro-error3 v3.0.2
        Downloaded miniz_oxide v0.8.9
        Downloaded simd-adler32 v0.3.9
        Downloaded base64ct v1.8.3
        Downloaded ssh-cipher v0.2.0
        Downloaded poly1305 v0.8.0
        Downloaded universal-hash v0.5.1
        Downloaded opaque-debug v0.3.1
        Downloaded ctr v0.9.2
        Downloaded cipher v0.4.4
        Downloaded inout v0.1.4
        Downloaded block-padding v0.3.3
        Downloaded chacha20 v0.9.1
        Downloaded cbc v0.1.2
        Downloaded polyval v0.6.2
        Downloaded aead v0.5.2
        Downloaded signature v2.2.0
        Downloaded sec1 v0.7.3
        Downloaded base16ct v0.2.0
        Downloaded num-integer v0.1.46
        Downloaded num-iter v0.1.46
        Downloaded schemars_derive v1.2.1
        Downloaded num-conv v0.2.2
        Downloaded powerfmt v0.2.0
        Downloaded flate2 v1.1.9
        Downloaded pkcs8 v0.10.2
        Downloaded spki v0.7.3
        Downloaded serde_derive_internals v0.29.1
        Downloaded radicle-dag v0.10.0
        Downloaded wasm-bindgen-macro v0.2.126
        Downloaded futures-core v0.3.32
        Downloaded globwalk v0.9.1
        Downloaded globset v0.4.18
        Downloaded crossbeam-deque v0.8.7
        Downloaded crossbeam-epoch v0.9.20
        Downloaded roadmap v0.7.0
        Downloaded quick-xml v0.41.0
        Downloaded vcpkg v0.2.15
        Downloaded tinyvec_macros v0.1.1
        Downloaded memoffset v0.9.1
        Downloaded siphasher v1.0.3
        Downloaded typeid v1.0.3
        Downloaded radicle-oid v0.2.0
        Downloaded der v0.7.10
        Downloaded rsa v0.9.10
        Downloaded pbkdf2 v0.12.2
        Downloaded secrecy v0.10.3
        Downloaded amplify_syn v2.0.1
        Downloaded radicle-core v0.3.0
        Downloaded is_terminal_polyfill v1.70.2
        Downloaded once_cell_polyfill v1.70.2
        Downloaded qcheck-macros v1.0.0
        Downloaded ignore v0.4.27
        Downloaded crossbeam-utils v0.8.22
        Downloaded chrono v0.4.45
        Downloaded git2 v0.21.0
        Downloaded crc32fast v1.5.0
        Downloaded radicle-job v0.6.0
        Downloaded tinyvec v1.11.0
        Downloaded uds_windows v1.2.1
        Downloaded serde-untagged v0.1.9
        Downloaded erased-serde v0.4.10
        Downloaded aes-gcm v0.10.3
        Downloaded aes v0.8.4
        Downloaded num-bigint-dig v0.8.6
        Downloaded p521 v0.13.3
        Downloaded blowfish v0.9.1
        Downloaded byteorder v1.5.0
        Downloaded ssh-agent-lib v0.5.2
        Downloaded multibase v0.9.3
        Downloaded data-encoding-macro-internal v0.1.18
        Downloaded data-encoding v2.11.0
        Downloaded base45 v3.2.0
        Downloaded match-lookup v0.1.2
        Downloaded ed25519 v1.5.3
        Downloaded ct-codecs v1.1.7
        Downloaded dunce v1.0.5
        Downloaded clap_lex v1.1.0
        Downloaded anstyle-wincon v3.0.11
        Downloaded html-page v0.5.0
        Downloaded wasm-bindgen-shared v0.2.126
        Downloaded idna_adapter v1.2.2
        Downloaded zerofrom v0.1.8
        Downloaded stable_deref_trait v1.2.1
        Downloaded form_urlencoded v1.2.2
        Downloaded valuable-serde v0.1.1
        Downloaded windows_x86_64_gnullvm v0.48.5
        Downloaded nix v0.29.0
        Downloaded base64 v0.21.7
        Downloaded qcheck v1.0.0
        Downloaded radicle-localtime v0.1.0
        Downloaded const-str v0.4.3
        Downloaded signature v1.6.4
        Downloaded fast-glob v0.3.3
        Downloaded utf8_iter v1.0.4
        Downloaded pest_generator v2.8.7
        Downloaded humansize v2.1.3
        Downloaded libm v0.2.16
        Downloaded unicode-linebreak v0.1.5
        Downloaded windows_x86_64_gnullvm v0.52.6
        Downloaded windows_aarch64_gnullvm v0.52.6
        Downloaded unicode-normalization v0.1.25
        Downloaded pest_derive v2.8.7
        Downloaded pest_meta v2.8.7
        Downloaded ucd-trie v0.1.7
        Downloaded textwrap v0.16.2
        Downloaded smawk v0.3.3
        Downloaded marked-yaml v0.7.2
        Downloaded hashlink v0.9.1
        Downloaded ahash v0.8.12
        Downloaded windows_aarch64_gnullvm v0.48.5
        Downloaded windows-strings v0.1.0
        Downloaded windows-result v0.2.0
        Downloaded windows-interface v0.58.0
        Downloaded windows-implement v0.58.0
        Downloaded primeorder v0.13.6
        Downloaded wasip2 v1.0.4+wasi-0.2.12
        Downloaded nonempty v0.12.0
        Downloaded zerofrom-derive v0.1.7
        Downloaded tracing-serde v0.2.0
        Downloaded zerocopy-derive v0.8.54
        Downloaded windows_i686_gnullvm v0.52.6
        Downloaded windows-core v0.58.0
        Downloaded elliptic-curve v0.13.8
        Downloaded heck v0.5.0
        Downloaded futures-task v0.3.32
        Downloaded pest v2.8.7
        Downloaded bstr v1.12.3
        Downloaded yaml-rust2 v0.9.0
        Downloaded hashbrown v0.14.5
        Downloaded radicle v0.24.0
        Downloaded git2 v0.20.4
        Downloaded radicle-git-metadata v0.2.0
        Downloaded winpipe v0.1.1
        Downloaded defer-heavy v0.1.0
        Downloaded ssh-encoding v0.2.0
        Downloaded sha2 v0.10.9
        Downloaded anstyle-query v1.1.5
        Downloaded percent-encoding v2.3.2
        Downloaded radicle-crypto v0.17.0
        Downloaded zeroize v1.9.0
        Downloaded subtle v2.6.1
        Downloaded digest v0.10.7
        Downloaded crypto-common v0.1.7
        Downloaded group v0.13.0
        Downloaded ff v0.13.1
        Downloaded socks5-client v0.4.3
        Downloaded cypheraddr v0.4.1
        Downloaded cfg-if v1.0.4
        Downloaded potential_utf v0.1.5
        Downloaded unicode-width v0.2.2
        Downloaded windows_x86_64_msvc v0.48.5
        Downloaded ssh-key v0.6.7
        Downloaded windows_x86_64_gnu v0.48.5
        Downloaded windows_i686_msvc v0.48.5
        Downloaded generic-array v0.14.7
        Downloaded const-oid v0.9.6
        Downloaded block-buffer v0.10.4
        Downloaded cpufeatures v0.2.17
        Downloaded rfc6979 v0.4.0
        Downloaded nonempty v0.11.0
        Downloaded utf8parse v0.2.2
        Downloaded colorchoice v1.0.5
        Downloaded equivalent v1.0.2
        Downloaded windows_aarch64_msvc v0.48.5
        Downloaded pem-rfc7468 v0.7.0
        Downloaded ecdsa v0.16.9
        Downloaded hmac v0.12.1
        Downloaded ed25519 v2.2.3
        Downloaded cyphergraphy v0.3.1
        Downloaded amplify_num v0.5.4
        Downloaded encoding_rs v0.8.35
        Downloaded windows_i686_gnu v0.48.5
        Downloaded windows_x86_64_msvc v0.52.6
        Downloaded windows_aarch64_msvc v0.52.6
        Downloaded typenum v1.20.1
        Downloaded crypto-bigint v0.5.5
        Downloaded p256 v0.13.2
        Downloaded ed25519-dalek v2.2.0
        Downloaded rustc_version v0.4.1
        Downloaded wit-bindgen v0.57.1
        Downloaded r-efi v5.3.0
        Downloaded ascii v1.1.0
        Downloaded amplify_derive v4.0.1
        Downloaded anstyle v1.0.14
        Downloaded slab v0.4.12
        Downloaded windows_x86_64_gnu v0.52.6
        Downloaded libz-sys v1.1.29
        Downloaded radicle-git-ref-format v0.1.0
        Downloaded semver v1.0.28
        Downloaded curve25519-dalek-derive v0.1.1
        Downloaded tempfile v3.27.0
        Downloaded bcrypt-pbkdf v0.10.0
        Downloaded subplotlib-derive v0.14.0
        Downloaded windows_i686_msvc v0.52.6
        Downloaded windows_i686_gnu v0.52.6
        Downloaded sync-ptr v0.1.4
        Downloaded p384 v0.13.1
        Downloaded aho-corasick v1.1.4
        Downloaded fastrand v2.4.1
        Downloaded subplotlib v0.14.0
        Downloaded walkdir v2.5.0
        Downloaded itoa v1.0.18
        Downloaded bitflags v2.13.0
        Downloaded winapi-util v0.1.11
        Downloaded same-file v1.0.6
        Downloaded subplot v0.14.0
        Downloaded slug v0.1.6
        Downloaded wasi v0.11.1+wasi-snapshot-preview1
        Downloaded rand_chacha v0.3.1
        Downloaded windows-link v0.2.1
        Downloaded rand_core v0.6.4
        Downloaded getrandom v0.2.17
        Downloaded ppv-lite86 v0.2.21
        Downloaded rand v0.8.6
        Downloaded matchers v0.2.0
        Downloaded terminal_size v0.4.4
        Downloaded regex-syntax v0.8.11
        Downloaded tera v1.20.1
        Downloaded unicode-segmentation v1.13.3
        Downloaded curve25519-dalek v4.1.3
        Downloaded anstream v1.0.0
        Downloaded displaydoc v0.2.6
        Downloaded rustversion v1.0.23
        Downloaded yoke-derive v0.8.2
        Downloaded winapi v0.3.9
        Downloaded zerovec-derive v0.11.3
        Downloaded deunicode v1.6.2
        Downloaded regex v1.13.1
        Downloaded duration-str v0.21.0
        Downloaded valuable v0.1.1
        Downloaded rustix v1.1.4
        Downloaded quote v1.0.46
        Downloaded tinystr v0.8.3
        Downloaded zerocopy v0.8.54
        Downloaded fiat-crypto v0.2.9
        Downloaded regex-automata v0.4.18
        Downloaded bytesize v2.4.2
        Downloaded tracing-log v0.2.0
        Downloaded libgit2-sys v0.18.5+1.9.4
        Downloaded pin-project-lite v0.2.17
        Downloaded anstyle-parse v1.0.0
        Downloaded smallvec v1.15.2
        Downloaded thread_local v1.1.9
        Downloaded lazy_static v1.5.0
        Downloaded windows-sys v0.59.0
        Downloaded time-core v0.1.9
        Downloaded zmij v1.0.21
        Downloaded deranged v0.5.8
        Downloaded nu-ansi-term v0.50.3
        Downloaded errno v0.3.14
        Downloaded windows-sys v0.52.0
        Downloaded thiserror v2.0.18
        Downloaded thiserror-impl v2.0.18
        Downloaded radicle-cob v0.20.0
        Downloaded clap_derive v4.6.4
        Downloaded once_cell v1.21.4
        Downloaded sqlite3-src v0.7.0
        Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
        Downloaded winapi-i686-pc-windows-gnu v0.4.0
        Downloaded synstructure v0.13.2
        Downloaded litemap v0.8.2
        Downloaded writeable v0.6.3
        Downloaded arrayvec v0.7.8
        Downloaded yoke v0.8.3
        Downloaded tracing-core v0.1.36
        Downloaded tracing-attributes v0.1.31
        Downloaded spin v0.9.9
        Downloaded time-macros v0.2.31
        Downloaded unicode-ident v1.0.24
        Downloaded getrandom v0.4.3
        Downloaded icu_properties v2.2.0
        Downloaded icu_provider v2.2.0
        Downloaded log v0.4.33
        Downloaded clap v4.6.6
        Downloaded serde_derive v1.0.228
        Downloaded sharded-slab v0.1.7
        Downloaded wasm-bindgen v0.2.126
        Downloaded icu_locale_core v2.2.0
        Downloaded serde_core v1.0.228
        Downloaded icu_normalizer_data v2.2.0
        Downloaded r-efi v6.0.0
        Downloaded icu_normalizer v2.2.0
        Downloaded schemars v1.2.1
        Downloaded crossbeam-channel v0.5.16
        Downloaded windows v0.58.0
        Downloaded wasm-bindgen-macro-support v0.2.126
        Downloaded url v2.5.8
        Downloaded windows v0.48.0
        Downloaded serde v1.0.228
        Downloaded proc-macro2 v1.0.106
        Downloaded icu_collections v2.2.0
        Downloaded zerotrie v0.2.4
        Downloaded bumpalo v3.20.3
        Downloaded memchr v2.8.3
        Downloaded indexmap v2.14.0
        Downloaded js-sys v0.3.103
        Downloaded zerovec v0.11.6
        Downloaded idna v1.1.0
        Downloaded cyphernet v0.5.4
        Downloaded rust_decimal v1.42.1
        Downloaded hashbrown v0.17.1
        Downloaded clap_builder v4.6.6
        Downloaded futures-util v0.3.32
        Downloaded icu_properties_data v2.2.0
        Downloaded winnow v0.7.15
        Downloaded serde_json v1.0.150
        Downloaded tracing-subscriber v0.3.23
        Downloaded syn v1.0.109
        Downloaded time v0.3.53
        Downloaded syn v3.0.3
        Downloaded syn v2.0.118
        Downloaded tracing v0.1.44
        Downloaded libc v0.2.189
        Downloaded windows-sys v0.61.2
        Downloaded linux-raw-sys v0.12.1
      
  41. 16722 ms: Action succeeded: cargo_fetch
    - action: cargo_fetch
    
  42. 24474 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  43. 24485 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  44. 28916 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  45. 28919 ms: Plan succededThere was much rejoicing!
  46. 28921 ms: Executor ends successfullyPhew, nothing seems to have gone wrong.
Console log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
  Booting `Debian GNU/Linux'

Loading Linux 6.12.86+deb13-amd64 ...
Loading initial ramdisk ...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
Loading, please wait...
Starting systemd-udevd version 257.13-1~deb13u1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.41
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/vda2
fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 13 (trixie)!

[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-tracing.mount - Kernel Trace File System...
         Mounting tmp.mount - Temporary Directory /tmp...
         Starting kmod-static-nodes.service…eate List of Static Device Nodes...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-network-generator…k Units from Kernel Command Line...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Finished kmod-static-nodes.service…Create List of Static Device Nodes.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-network-generator…ork Units from Kernel Command Line.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[  OK  ] Reached target network-pre.target - Preparation for Network.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-sysctl.service - Apply Kernel Variables...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-resolved.service - Network Name Resolution...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Set up automount efi.automount - EFI System Partition Automount.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting systemd-binfmt.service - Set Up Additional Binary Formats...
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
         Starting systemd-journal-catalog-u…ervice - Rebuild Journal Catalog...
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting systemd-networkd.service - Network Configuration...
[  OK  ] Finished systemd-journal-catalog-u….service - Rebuild Journal Catalog.
[  OK  ] Found device dev-ttyS0.device - /dev/ttyS0.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting ambient.service - Run build job for Ambient CI...
         Starting dbus.service - D-Bus System Message Bus...
         Starting grub-common.service - Record successful boot for GRUB...
         Starting systemd-logind.service - User Login Management...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Finished grub-common.service - Record successful boot for GRUB.
[  OK  ] Started systemd-networkd.service - Network Configuration.
[  OK  ] Reached target network.target - Network.
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-networkd-persiste…tent Storage in systemd-networkd...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.

Debian GNU/Linux 13 ambient-dev ttyS0

ambient-dev login: [  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Stopped apt-daily.timer - Daily apt download activities.
[  OK  ] Stopped dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Stopped fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Stopped man-db.timer - Daily man-db regeneration.
[  OK  ] Stopped systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Closed systemd-rfkill.socket - Loa…ll Switch Status /dev/rfkill Watch.
         Stopping dbus.service - D-Bus System Message Bus...
         Stopping getty@tty1.service - Getty on tty1...
         Stopping serial-getty@ttyS0.service - Serial Getty on ttyS0...
         Stopping ssh.service - OpenBSD Secure Shell server...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-networkd-persiste…tent Storage in systemd-networkd...
[  OK  ] Stopped systemd-networkd-wait-onli… Wait for Network to be Configured.
         Stopping systemd-random-seed.service - Load/Save OS Random Seed...
[  OK  ] Stopped systemd-udev-load-credenti…- Load udev Rules from Credentials.
[  OK  ] Stopped dbus.service - D-Bus System Message Bus.
[  OK  ] Stopped getty@tty1.service - Getty on tty1.
[  OK  ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Stopped ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped ambient.service - Run build job for Ambient CI.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Closed sshd-unix-local.socket - Op…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Closed systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
         Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
         Stopping systemd-networkd.service - Network Configuration...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
[  OK  ] Stopped systemd-tmpfiles-setup.ser…reate System Files and Directories.
[  OK  ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[  OK  ] Stopped target local-fs.target - Local File Systems.
[  OK  ] Unset automount efi.automount - EFI System Partition Automount.
[  OK  ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target final.target - Late Shutdown Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
[   37.922618] reboot: Power down
Raw run log
BdsDxe: 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(0x3,0x0)
BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x3,0x0)
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
INFO: Block devices
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1   372K  0 rom  
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   5.2M  1 disk 
vdc    254:32   0  11.9M  1 disk 
vdd    254:48   0 953.7M  0 disk 
vde    254:64   0  27.9G  0 disk 
vdf    254:80   0   100G  0 disk 
vdg    254:96   0    10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2026-08-24 15:10 ./
-rw-r--r-- _rad/_rad      1346 2026-08-24 15:10 ./plan.yaml
-rwxr-xr-x _rad/_rad   5460288 2026-08-24 15:10 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Aug 24 15:10 .
       10   5336 -rwxr-xr-x   1 1000     1000      5460288 Aug 24 15:10 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1346 Aug 24 15:10 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.18.0@5360d3f","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":8375807}}
{"type":"trace","title":"Set environment variable \"HOME\"","msg":"\"HOME\"=\"/root\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":8414636}}
{"type":"runnable_plan","steps":[{"action":"mkdir","pathname":"/ci"},{"action":"mkdir","pathname":"/ci/artifacts"},{"action":"mkdir","pathname":"/ci/artifacts/debian"},{"action":"mkdir","pathname":"/ci/artifacts/rsync"},{"action":"mkdir","pathname":"/ci/secrets"},{"action":"mkdir","pathname":"/ci/deps"},{"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":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets"},{"action":"shell","shell":"ln -sf /ci /workspace"},{"action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true},{"action":"wait_online"},{"action":"network_diagnostics"},{"action":"cargo_fetch"},{"action":"tar_create","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps"}],"executor_drive":"/dev/vdb","source_drive":"/dev/vdc","artifact_drive":"/dev/vdd","cache_drive":"/dev/vde","deps_drive":"/dev/vdf","secrets_drive":null,"workspace_dir":"/ci","source_dir":"/ci/src","deps_dir":"/ci/deps","cache_dir":"/ci/cache","artifacts_dir":"/ci/artifacts","secrets_dir":null,"envs":{},"timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":8853967}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9044568}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9243111}}
{"type":"trace","title":"Set environment variable \"PATH\"","msg":"\"PATH\"=\"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9249115}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9449747}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9454086}}
{"type":"trace","title":"Set environment variable \"PATH\"","msg":"\"PATH\"=\"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\"","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9656336}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":9662710}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10331635}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10483993}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10511632}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/debian\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10689748}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10716653}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/rsync\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":10911500}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":11194957}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":65037350}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":65275766}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":65448567}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":65474836}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdc\",\n        directory: \"/ci/src\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":65655834}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":120138313}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":120212536}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":125738810}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787584227,"nanos_since_epoch":125783669}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":77911595}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":77951481}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":85543537}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdg\",\n        directory: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":85568243}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":91155873}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"ln -sf /ci /workspace\",\n    },\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":93526215}}
{"type":"trace","title":"Start program bash","msg":"Command {\n    program: \"bash\",\n    args: [\n        \"bash\",\n        \"-c\",\n        \"set -xeuo pipefail\\nln -sf /ci /workspace\\n\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":96252160}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":109908539}}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":112482428}}
{"type":"trace","title":"Execute action","msg":"CreateFile(\n    CreateFile {\n        filename: \"/root/.ssh/config\",\n        content: \"Host *\\nStrictHostKeyChecking accept-new\\nIdentityFile /ci/secrets/ssh_key\\n                \",\n        overwrite: true,\n    },\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":114577917}}
{"type":"action_succeeded","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":119664117}}
{"type":"trace","title":"Execute action","msg":"WaitOnline(\n    WaitOnline,\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":123410563}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"start\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":125562883}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":166978128}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"status\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":167033336}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"● systemd-networkd-wait-online.service - Wait for Network to be Configured\n     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)\n     Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 20ms ago\n Invocation: 05262b9796b1440fa6dd5a0767dda8d2\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 429 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.8M\n        CPU: 7ms\n\nAug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":187211290}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"status\",\n        \"systemd-networkd\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":187278256}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"● systemd-networkd.service - Network Configuration\n     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)\n     Active: active (running) since Mon 2026-08-24 15:10:27 UTC; 8s ago\n Invocation: 63fc0c9726244ad8b22dbf85d611ca76\nTriggeredBy: ● systemd-networkd.socket\n       Docs: man:systemd-networkd.service(8)\n             man:org.freedesktop.network1(5)\n   Main PID: 323 (systemd-network)\n     Status: \"Processing requests...\"\n      Tasks: 1 (limit: 13288)\n   FD Store: 0 (limit: 512)\n     Memory: 3.8M (peak: 13.3M)\n        CPU: 81ms\n     CGroup: /system.slice/systemd-networkd.service\n             └─323 /usr/lib/systemd/systemd-networkd\n\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Gained carrier\nAug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":216538645}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"status\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":216601858}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"● systemd-networkd-wait-online.service - Wait for Network to be Configured\n     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)\n     Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 89ms ago\n Invocation: 05262b9796b1440fa6dd5a0767dda8d2\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 429 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.8M\n        CPU: 7ms\n\nAug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":256507949}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"show\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":256550668}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"Type=oneshot\nExitType=main\nRestart=no\nRestartMode=normal\nNotifyAccess=none\nRestartUSec=100ms\nRestartSteps=0\nRestartMaxDelayUSec=infinity\nRestartUSecNext=100ms\nTimeoutStartUSec=infinity\nTimeoutStopUSec=1min 30s\nTimeoutAbortUSec=1min 30s\nTimeoutStartFailureMode=terminate\nTimeoutStopFailureMode=terminate\nRuntimeMaxUSec=infinity\nRuntimeRandomizedExtraUSec=0\nWatchdogUSec=0\nWatchdogTimestampMonotonic=0\nRootDirectoryStartOnly=no\nRemainAfterExit=yes\nGuessMainPID=yes\nMainPID=0\nControlPID=0\nFileDescriptorStoreMax=0\nNFileDescriptorStore=0\nFileDescriptorStorePreserve=restart\nStatusErrno=0\nResult=success\nReloadResult=success\nCleanResult=success\nLiveMountResult=success\nUID=[not set]\nGID=[not set]\nNRestarts=0\nOOMPolicy=stop\nReloadSignal=1\nExecMainStartTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainStartTimestampMonotonic=16149149\nExecMainExitTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainExitTimestampMonotonic=16172300\nExecMainHandoffTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainHandoffTimestampMonotonic=16168360\nExecMainPID=429\nExecMainCode=1\nExecMainStatus=0\nExecStart={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; ignore_errors=no ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }\nExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }\nSlice=system.slice\nControlGroupId=2153\nMemoryCurrent=[not set]\nMemoryPeak=1929216\nMemorySwapCurrent=[not set]\nMemorySwapPeak=0\nMemoryZSwapCurrent=[not set]\nMemoryAvailable=11120476160\nEffectiveMemoryMax=11670540288\nEffectiveMemoryHigh=11670540288\nCPUUsageNSec=7536000\nTasksCurrent=[not set]\nEffectiveTasksMax=13288\nIPIngressBytes=[no data]\nIPIngressPackets=[no data]\nIPEgressBytes=[no data]\nIPEgressPackets=[no data]\nIOReadBytes=[not set]\nIOReadOperations=[not set]\nIOWriteBytes=[not set]\nIOWriteOperations=[not set]\nDelegate=no\nCPUAccounting=yes\nCPUWeight=[not set]\nStartupCPUWeight=[not set]\nCPUShares=[not set]\nStartupCPUShares=[not set]\nCPUQuotaPerSecUSec=infinity\nCPUQuotaPeriodUSec=infinity\nIOAccounting=no\nIOWeight=[not set]\nStartupIOWeight=[not set]\nBlockIOAccounting=no\nBlockIOWeight=[not set]\nStartupBlockIOWeight=[not set]\nMemoryAccounting=yes\nDefaultMemoryLow=0\nDefaultStartupMemoryLow=0\nDefaultMemoryMin=0\nMemoryMin=0\nMemoryLow=0\nStartupMemoryLow=0\nMemoryHigh=infinity\nStartupMemoryHigh=infinity\nMemoryMax=infinity\nStartupMemoryMax=infinity\nMemorySwapMax=infinity\nStartupMemorySwapMax=infinity\nMemoryZSwapMax=infinity\nStartupMemoryZSwapMax=infinity\nMemoryZSwapWriteback=yes\nMemoryLimit=infinity\nDevicePolicy=auto\nTasksAccounting=yes\nTasksMax=13288\nIPAccounting=no\nManagedOOMSwap=auto\nManagedOOMMemoryPressure=auto\nManagedOOMMemoryPressureLimit=0\nManagedOOMMemoryPressureDurationUSec=[not set]\nManagedOOMPreference=none\nMemoryPressureWatch=auto\nMemoryPressureThresholdUSec=200ms\nCoredumpReceive=no\nUMask=0022\nLimitCPU=infinity\nLimitCPUSoft=infinity\nLimitFSIZE=infinity\nLimitFSIZESoft=infinity\nLimitDATA=infinity\nLimitDATASoft=infinity\nLimitSTACK=infinity\nLimitSTACKSoft=8388608\nLimitCORE=infinity\nLimitCORESoft=0\nLimitRSS=infinity\nLimitRSSSoft=infinity\nLimitNOFILE=524288\nLimitNOFILESoft=1024\nLimitAS=infinity\nLimitASSoft=infinity\nLimitNPROC=44294\nLimitNPROCSoft=44294\nLimitMEMLOCK=8388608\nLimitMEMLOCKSoft=8388608\nLimitLOCKS=infinity\nLimitLOCKSSoft=infinity\nLimitSIGPENDING=44294\nLimitSIGPENDINGSoft=44294\nLimitMSGQUEUE=819200\nLimitMSGQUEUESoft=819200\nLimitNICE=0\nLimitNICESoft=0\nLimitRTPRIO=0\nLimitRTPRIOSoft=0\nLimitRTTIME=infinity\nLimitRTTIMESoft=infinity\nRootEphemeral=no\nOOMScoreAdjust=0\nCoredumpFilter=0x33\nNice=0\nIOSchedulingClass=2\nIOSchedulingPriority=4\nCPUSchedulingPolicy=0\nCPUSchedulingPriority=0\nCPUAffinityFromNUMA=no\nNUMAPolicy=n/a\nTimerSlackNSec=50000\nCPUSchedulingResetOnFork=no\nNonBlocking=no\nStandardInput=null\nStandardOutput=journal\nStandardError=inherit\nTTYReset=no\nTTYVHangup=no\nTTYVTDisallocate=no\nSyslogPriority=30\nSyslogLevelPrefix=yes\nSyslogLevel=6\nSyslogFacility=3\nLogLevelMax=-1\nLogRateLimitIntervalUSec=0\nLogRateLimitBurst=0\nSecureBits=0\nCapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore\nDynamicUser=no\nSetLoginEnvironment=no\nRemoveIPC=no\nPrivateTmp=no\nPrivateTmpEx=no\nPrivateDevices=no\nProtectClock=no\nProtectKernelTunables=no\nProtectKernelModules=no\nProtectKernelLogs=no\nProtectControlGroups=no\nProtectControlGroupsEx=no\nPrivateNetwork=no\nPrivateUsers=no\nPrivateUsersEx=no\nPrivateMounts=no\nPrivateIPC=no\nPrivatePIDs=no\nProtectHome=no\nProtectSystem=no\nSameProcessGroup=no\nUtmpMode=init\nIgnoreSIGPIPE=yes\nNoNewPrivileges=no\nSystemCallErrorNumber=2147483646\nLockPersonality=no\nRuntimeDirectoryPreserve=no\nRuntimeDirectoryMode=0755\nStateDirectoryMode=0755\nCacheDirectoryMode=0755\nLogsDirectoryMode=0755\nConfigurationDirectoryMode=0755\nTimeoutCleanUSec=infinity\nMemoryDenyWriteExecute=no\nRestrictRealtime=no\nRestrictSUIDSGID=no\nRestrictNamespaces=no\nMountAPIVFS=no\nBindLogSockets=no\nKeyringMode=private\nProtectProc=default\nProcSubset=all\nProtectHostname=no\nMemoryKSM=no\nRootImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nMountImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nExtensionImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nKillMode=control-group\nKillSignal=15\nRestartKillSignal=15\nFinalKillSignal=9\nSendSIGKILL=yes\nSendSIGHUP=no\nWatchdogSignal=6\nId=systemd-networkd-wait-online.service\nNames=systemd-networkd-wait-online.service\nRequires=system.slice\nBindsTo=systemd-networkd.service\nWantedBy=network-online.target\nConflicts=shutdown.target\nBefore=shutdown.target network-online.target\nAfter=systemd-journald.socket system.slice systemd-networkd.service\nDocumentation=\"man:systemd-networkd-wait-online.service(8)\"\nDescription=Wait for Network to be Configured\nLoadState=loaded\nActiveState=active\nFreezerState=running\nSubState=exited\nFragmentPath=/usr/lib/systemd/system/systemd-networkd-wait-online.service\nUnitFileState=enabled\nUnitFilePreset=enabled\nStateChangeTimestamp=Mon 2026-08-24 15:10:35 UTC\nStateChangeTimestampMonotonic=16172427\nInactiveExitTimestamp=Mon 2026-08-24 15:10:35 UTC\nInactiveExitTimestampMonotonic=16149624\nActiveEnterTimestamp=Mon 2026-08-24 15:10:35 UTC\nActiveEnterTimestampMonotonic=16172427\nActiveExitTimestampMonotonic=0\nInactiveEnterTimestampMonotonic=0\nCanStart=yes\nCanStop=yes\nCanReload=no\nCanIsolate=no\nCanFreeze=yes\nCanLiveMount=no\nStopWhenUnneeded=no\nRefuseManualStart=no\nRefuseManualStop=no\nAllowIsolate=no\nDefaultDependencies=no\nSurviveFinalKillSignal=no\nOnSuccessJobMode=fail\nOnFailureJobMode=replace\nIgnoreOnIsolate=no\nNeedDaemonReload=no\nJobTimeoutUSec=infinity\nJobRunningTimeoutUSec=infinity\nJobTimeoutAction=none\nConditionResult=yes\nAssertResult=yes\nConditionTimestamp=Mon 2026-08-24 15:10:35 UTC\nConditionTimestampMonotonic=16148584\nAssertTimestamp=Mon 2026-08-24 15:10:35 UTC\nAssertTimestampMonotonic=16148665\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nSuccessAction=none\nInvocationID=05262b9796b1440fa6dd5a0767dda8d2\nCollectMode=inactive\nDebugInvocation=no\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":284483990}}
{"type":"trace","title":"Start program ip","msg":"Command {\n    program: \"ip\",\n    args: [\n        \"ip\",\n        \"address\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":385347696}}
{"type":"program_succeeded","program_name":"ip","exit_code":0,"stdout":"1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host noprefixroute \n       valid_lft forever preferred_lft forever\n2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff\n    altname enp0s1\n    altname enx525400123456\n    inet 10.0.2.15/24 metric 1024 brd 10.0.2.255 scope global dynamic eth0\n       valid_lft 86392sec preferred_lft 86392sec\n    inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute \n       valid_lft 86395sec preferred_lft 14395sec\n    inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll \n       valid_lft forever preferred_lft forever\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":388184195}}
{"type":"trace","title":"Start program networkctl","msg":"Command {\n    program: \"networkctl\",\n    args: [\n        \"networkctl\",\n        \"list\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":388299200}}
{"type":"program_succeeded","program_name":"networkctl","exit_code":0,"stdout":"IDX LINK TYPE     OPERATIONAL SETUP\n  1 lo   loopback carrier     unmanaged\n  2 eth0 ether    routable    configured\n\n2 links listed.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":392191543}}
{"type":"trace","title":"Start program networkctl","msg":"Command {\n    program: \"networkctl\",\n    args: [\n        \"networkctl\",\n        \"status\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":392295187}}
{"type":"program_succeeded","program_name":"networkctl","exit_code":0,"stdout":"● Interfaces: 1, 2\n       State: routable\nOnline state: online\n     Address: 10.0.2.15 on eth0\n              fec0::5054:ff:fe12:3456 on eth0\n              fe80::5054:ff:fe12:3456 on eth0\n     Gateway: 10.0.2.2 on eth0\n              fe80::2 on eth0\n         DNS: 10.0.2.3\n              fec0::3\n\nAug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL\nAug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":447379364}}
{"type":"trace","title":"Start program ping","msg":"Command {\n    program: \"ping\",\n    args: [\n        \"ping\",\n        \"-c1\",\n        \"8.8.8.8\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":447575987}}
{"type":"program_succeeded","program_name":"ping","exit_code":0,"stdout":"PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.\n64 bytes from 8.8.8.8: icmp_seq=1 ttl=255 time=1.31 ms\n\n--- 8.8.8.8 ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.312/1.312/1.312/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":450759392}}
{"type":"trace","title":"Start program ping","msg":"Command {\n    program: \"ping\",\n    args: [\n        \"ping\",\n        \"-c1\",\n        \"www.google.com\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":450878038}}
{"type":"program_succeeded","program_name":"ping","exit_code":0,"stdout":"PING www.google.com (142.251.156.119) 56(84) bytes of data.\n64 bytes from 142.251.156.119: icmp_seq=1 ttl=255 time=1.35 ms\n\n--- www.google.com ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.348/1.348/1.348/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":494227001}}
{"type":"action_succeeded","action":"wait_online","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":494371460}}
{"type":"trace","title":"Execute action","msg":"NetworkDiagnostics(\n    NetworkdDiagnostics,\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":494377380}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"status\",\n        \"systemd-networkd\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":494593252}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"● systemd-networkd.service - Network Configuration\n     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)\n     Active: active (running) since Mon 2026-08-24 15:10:27 UTC; 8s ago\n Invocation: 63fc0c9726244ad8b22dbf85d611ca76\nTriggeredBy: ● systemd-networkd.socket\n       Docs: man:systemd-networkd.service(8)\n             man:org.freedesktop.network1(5)\n   Main PID: 323 (systemd-network)\n     Status: \"Processing requests...\"\n      Tasks: 1 (limit: 13288)\n   FD Store: 0 (limit: 512)\n     Memory: 3.8M (peak: 13.3M)\n        CPU: 82ms\n     CGroup: /system.slice/systemd-networkd.service\n             └─323 /usr/lib/systemd/systemd-networkd\n\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: lo: Gained carrier\nAug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":522098703}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"status\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":522161794}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"● systemd-networkd-wait-online.service - Wait for Network to be Configured\n     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; enabled; preset: enabled)\n     Active: active (exited) since Mon 2026-08-24 15:10:35 UTC; 395ms ago\n Invocation: 05262b9796b1440fa6dd5a0767dda8d2\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 429 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 429 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.8M\n        CPU: 7ms\n\nAug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":562342918}}
{"type":"trace","title":"Start program systemctl","msg":"Command {\n    program: \"systemctl\",\n    args: [\n        \"systemctl\",\n        \"show\",\n        \"systemd-networkd-wait-online\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":562386338}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"Type=oneshot\nExitType=main\nRestart=no\nRestartMode=normal\nNotifyAccess=none\nRestartUSec=100ms\nRestartSteps=0\nRestartMaxDelayUSec=infinity\nRestartUSecNext=100ms\nTimeoutStartUSec=infinity\nTimeoutStopUSec=1min 30s\nTimeoutAbortUSec=1min 30s\nTimeoutStartFailureMode=terminate\nTimeoutStopFailureMode=terminate\nRuntimeMaxUSec=infinity\nRuntimeRandomizedExtraUSec=0\nWatchdogUSec=0\nWatchdogTimestampMonotonic=0\nRootDirectoryStartOnly=no\nRemainAfterExit=yes\nGuessMainPID=yes\nMainPID=0\nControlPID=0\nFileDescriptorStoreMax=0\nNFileDescriptorStore=0\nFileDescriptorStorePreserve=restart\nStatusErrno=0\nResult=success\nReloadResult=success\nCleanResult=success\nLiveMountResult=success\nUID=[not set]\nGID=[not set]\nNRestarts=0\nOOMPolicy=stop\nReloadSignal=1\nExecMainStartTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainStartTimestampMonotonic=16149149\nExecMainExitTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainExitTimestampMonotonic=16172300\nExecMainHandoffTimestamp=Mon 2026-08-24 15:10:35 UTC\nExecMainHandoffTimestampMonotonic=16168360\nExecMainPID=429\nExecMainCode=1\nExecMainStatus=0\nExecStart={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; ignore_errors=no ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }\nExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Mon 2026-08-24 15:10:35 UTC] ; stop_time=[Mon 2026-08-24 15:10:35 UTC] ; pid=429 ; code=exited ; status=0 }\nSlice=system.slice\nControlGroupId=2153\nMemoryCurrent=[not set]\nMemoryPeak=1929216\nMemorySwapCurrent=[not set]\nMemorySwapPeak=0\nMemoryZSwapCurrent=[not set]\nMemoryAvailable=11121692672\nEffectiveMemoryMax=11670540288\nEffectiveMemoryHigh=11670540288\nCPUUsageNSec=7536000\nTasksCurrent=[not set]\nEffectiveTasksMax=13288\nIPIngressBytes=[no data]\nIPIngressPackets=[no data]\nIPEgressBytes=[no data]\nIPEgressPackets=[no data]\nIOReadBytes=[not set]\nIOReadOperations=[not set]\nIOWriteBytes=[not set]\nIOWriteOperations=[not set]\nDelegate=no\nCPUAccounting=yes\nCPUWeight=[not set]\nStartupCPUWeight=[not set]\nCPUShares=[not set]\nStartupCPUShares=[not set]\nCPUQuotaPerSecUSec=infinity\nCPUQuotaPeriodUSec=infinity\nIOAccounting=no\nIOWeight=[not set]\nStartupIOWeight=[not set]\nBlockIOAccounting=no\nBlockIOWeight=[not set]\nStartupBlockIOWeight=[not set]\nMemoryAccounting=yes\nDefaultMemoryLow=0\nDefaultStartupMemoryLow=0\nDefaultMemoryMin=0\nMemoryMin=0\nMemoryLow=0\nStartupMemoryLow=0\nMemoryHigh=infinity\nStartupMemoryHigh=infinity\nMemoryMax=infinity\nStartupMemoryMax=infinity\nMemorySwapMax=infinity\nStartupMemorySwapMax=infinity\nMemoryZSwapMax=infinity\nStartupMemoryZSwapMax=infinity\nMemoryZSwapWriteback=yes\nMemoryLimit=infinity\nDevicePolicy=auto\nTasksAccounting=yes\nTasksMax=13288\nIPAccounting=no\nManagedOOMSwap=auto\nManagedOOMMemoryPressure=auto\nManagedOOMMemoryPressureLimit=0\nManagedOOMMemoryPressureDurationUSec=[not set]\nManagedOOMPreference=none\nMemoryPressureWatch=auto\nMemoryPressureThresholdUSec=200ms\nCoredumpReceive=no\nUMask=0022\nLimitCPU=infinity\nLimitCPUSoft=infinity\nLimitFSIZE=infinity\nLimitFSIZESoft=infinity\nLimitDATA=infinity\nLimitDATASoft=infinity\nLimitSTACK=infinity\nLimitSTACKSoft=8388608\nLimitCORE=infinity\nLimitCORESoft=0\nLimitRSS=infinity\nLimitRSSSoft=infinity\nLimitNOFILE=524288\nLimitNOFILESoft=1024\nLimitAS=infinity\nLimitASSoft=infinity\nLimitNPROC=44294\nLimitNPROCSoft=44294\nLimitMEMLOCK=8388608\nLimitMEMLOCKSoft=8388608\nLimitLOCKS=infinity\nLimitLOCKSSoft=infinity\nLimitSIGPENDING=44294\nLimitSIGPENDINGSoft=44294\nLimitMSGQUEUE=819200\nLimitMSGQUEUESoft=819200\nLimitNICE=0\nLimitNICESoft=0\nLimitRTPRIO=0\nLimitRTPRIOSoft=0\nLimitRTTIME=infinity\nLimitRTTIMESoft=infinity\nRootEphemeral=no\nOOMScoreAdjust=0\nCoredumpFilter=0x33\nNice=0\nIOSchedulingClass=2\nIOSchedulingPriority=4\nCPUSchedulingPolicy=0\nCPUSchedulingPriority=0\nCPUAffinityFromNUMA=no\nNUMAPolicy=n/a\nTimerSlackNSec=50000\nCPUSchedulingResetOnFork=no\nNonBlocking=no\nStandardInput=null\nStandardOutput=journal\nStandardError=inherit\nTTYReset=no\nTTYVHangup=no\nTTYVTDisallocate=no\nSyslogPriority=30\nSyslogLevelPrefix=yes\nSyslogLevel=6\nSyslogFacility=3\nLogLevelMax=-1\nLogRateLimitIntervalUSec=0\nLogRateLimitBurst=0\nSecureBits=0\nCapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore\nDynamicUser=no\nSetLoginEnvironment=no\nRemoveIPC=no\nPrivateTmp=no\nPrivateTmpEx=no\nPrivateDevices=no\nProtectClock=no\nProtectKernelTunables=no\nProtectKernelModules=no\nProtectKernelLogs=no\nProtectControlGroups=no\nProtectControlGroupsEx=no\nPrivateNetwork=no\nPrivateUsers=no\nPrivateUsersEx=no\nPrivateMounts=no\nPrivateIPC=no\nPrivatePIDs=no\nProtectHome=no\nProtectSystem=no\nSameProcessGroup=no\nUtmpMode=init\nIgnoreSIGPIPE=yes\nNoNewPrivileges=no\nSystemCallErrorNumber=2147483646\nLockPersonality=no\nRuntimeDirectoryPreserve=no\nRuntimeDirectoryMode=0755\nStateDirectoryMode=0755\nCacheDirectoryMode=0755\nLogsDirectoryMode=0755\nConfigurationDirectoryMode=0755\nTimeoutCleanUSec=infinity\nMemoryDenyWriteExecute=no\nRestrictRealtime=no\nRestrictSUIDSGID=no\nRestrictNamespaces=no\nMountAPIVFS=no\nBindLogSockets=no\nKeyringMode=private\nProtectProc=default\nProcSubset=all\nProtectHostname=no\nMemoryKSM=no\nRootImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nMountImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nExtensionImagePolicy=root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent\nKillMode=control-group\nKillSignal=15\nRestartKillSignal=15\nFinalKillSignal=9\nSendSIGKILL=yes\nSendSIGHUP=no\nWatchdogSignal=6\nId=systemd-networkd-wait-online.service\nNames=systemd-networkd-wait-online.service\nRequires=system.slice\nBindsTo=systemd-networkd.service\nWantedBy=network-online.target\nConflicts=shutdown.target\nBefore=shutdown.target network-online.target\nAfter=systemd-journald.socket system.slice systemd-networkd.service\nDocumentation=\"man:systemd-networkd-wait-online.service(8)\"\nDescription=Wait for Network to be Configured\nLoadState=loaded\nActiveState=active\nFreezerState=running\nSubState=exited\nFragmentPath=/usr/lib/systemd/system/systemd-networkd-wait-online.service\nUnitFileState=enabled\nUnitFilePreset=enabled\nStateChangeTimestamp=Mon 2026-08-24 15:10:35 UTC\nStateChangeTimestampMonotonic=16172427\nInactiveExitTimestamp=Mon 2026-08-24 15:10:35 UTC\nInactiveExitTimestampMonotonic=16149624\nActiveEnterTimestamp=Mon 2026-08-24 15:10:35 UTC\nActiveEnterTimestampMonotonic=16172427\nActiveExitTimestampMonotonic=0\nInactiveEnterTimestampMonotonic=0\nCanStart=yes\nCanStop=yes\nCanReload=no\nCanIsolate=no\nCanFreeze=yes\nCanLiveMount=no\nStopWhenUnneeded=no\nRefuseManualStart=no\nRefuseManualStop=no\nAllowIsolate=no\nDefaultDependencies=no\nSurviveFinalKillSignal=no\nOnSuccessJobMode=fail\nOnFailureJobMode=replace\nIgnoreOnIsolate=no\nNeedDaemonReload=no\nJobTimeoutUSec=infinity\nJobRunningTimeoutUSec=infinity\nJobTimeoutAction=none\nConditionResult=yes\nAssertResult=yes\nConditionTimestamp=Mon 2026-08-24 15:10:35 UTC\nConditionTimestampMonotonic=16148584\nAssertTimestamp=Mon 2026-08-24 15:10:35 UTC\nAssertTimestampMonotonic=16148665\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nSuccessAction=none\nInvocationID=05262b9796b1440fa6dd5a0767dda8d2\nCollectMode=inactive\nDebugInvocation=no\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":590487356}}
{"type":"trace","title":"Start program ip","msg":"Command {\n    program: \"ip\",\n    args: [\n        \"ip\",\n        \"address\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":691887571}}
{"type":"program_succeeded","program_name":"ip","exit_code":0,"stdout":"1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host noprefixroute \n       valid_lft forever preferred_lft forever\n2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff\n    altname enp0s1\n    altname enx525400123456\n    inet 10.0.2.15/24 metric 1024 brd 10.0.2.255 scope global dynamic eth0\n       valid_lft 86392sec preferred_lft 86392sec\n    inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute \n       valid_lft 86395sec preferred_lft 14395sec\n    inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll \n       valid_lft forever preferred_lft forever\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":693448654}}
{"type":"trace","title":"Start program networkctl","msg":"Command {\n    program: \"networkctl\",\n    args: [\n        \"networkctl\",\n        \"list\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":693528904}}
{"type":"program_succeeded","program_name":"networkctl","exit_code":0,"stdout":"IDX LINK TYPE     OPERATIONAL SETUP\n  1 lo   loopback carrier     unmanaged\n  2 eth0 ether    routable    configured\n\n2 links listed.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":697504841}}
{"type":"trace","title":"Start program networkctl","msg":"Command {\n    program: \"networkctl\",\n    args: [\n        \"networkctl\",\n        \"status\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":697592874}}
{"type":"program_succeeded","program_name":"networkctl","exit_code":0,"stdout":"● Interfaces: 1, 2\n       State: routable\nOnline state: online\n     Address: 10.0.2.15 on eth0\n              fec0::5054:ff:fe12:3456 on eth0\n              fe80::5054:ff:fe12:3456 on eth0\n     Gateway: 10.0.2.2 on eth0\n              fe80::2 on eth0\n         DNS: 10.0.2.3\n              fec0::3\n\nAug 24 15:10:27 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Link UP\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Gained carrier\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 24 15:10:27 ambient-dev systemd-networkd[323]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 24 15:10:28 ambient-dev systemd-networkd[323]: eth0: Gained IPv6LL\nAug 24 15:10:35 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 24 15:10:35 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":754697264}}
{"type":"trace","title":"Start program ping","msg":"Command {\n    program: \"ping\",\n    args: [\n        \"ping\",\n        \"-c1\",\n        \"8.8.8.8\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":754847244}}
{"type":"program_succeeded","program_name":"ping","exit_code":0,"stdout":"PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.\n64 bytes from 8.8.8.8: icmp_seq=1 ttl=255 time=1.23 ms\n\n--- 8.8.8.8 ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.231/1.231/1.231/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":757381256}}
{"type":"trace","title":"Start program ping","msg":"Command {\n    program: \"ping\",\n    args: [\n        \"ping\",\n        \"-c1\",\n        \"www.google.com\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":757416536}}
{"type":"program_succeeded","program_name":"ping","exit_code":0,"stdout":"PING www.google.com (142.251.155.119) 56(84) bytes of data.\n64 bytes from 142.251.155.119: icmp_seq=1 ttl=255 time=1.08 ms\n\n--- www.google.com ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.083/1.083/1.083/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":812848532}}
{"type":"action_succeeded","action":"network_diagnostics","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":812884522}}
{"type":"trace","title":"Execute action","msg":"CargoFetch(\n    CargoFetch,\n)","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":812892311}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":812918079}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"cargo 1.98.0 (797e8a9bc 2026-08-05)\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":859293372}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"clippy\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":859356206}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"clippy 0.1.98 (88d9e12ae1 2026-08-18)\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":921441463}}
{"type":"trace","title":"Start program rustc","msg":"Command {\n    program: \"rustc\",\n    args: [\n        \"rustc\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":924372888}}
{"type":"program_succeeded","program_name":"rustc","exit_code":0,"stdout":"rustc 1.98.0 (88d9e12ae 2026-08-18)\n","stderr":"","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":950709697}}
{"type":"trace","title":"copy cargo files to temporary place to run cargo securely","msg":"copying relevant files to /tmp/.tmppfFQzy","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":950773311}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"fetch\",\n        \"--locked\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/tmp/.tmppfFQzy\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584235,"nanos_since_epoch":957625905}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"","stderr":"    Updating crates.io index\n Downloading crates ...\n  Downloaded version_check v0.9.5\n  Downloaded serde_path_to_error v0.1.20\n  Downloaded uuid v1.23.4\n  Downloaded arraydeque v0.5.1\n  Downloaded culpa-macros v1.0.2\n  Downloaded scoped-tls v1.0.1\n  Downloaded find-msvc-tools v0.1.9\n  Downloaded foldhash v0.1.5\n  Downloaded html-escape v0.2.14\n  Downloaded descape v3.0.0\n  Downloaded windows-targets v0.48.5\n  Downloaded aligned v0.4.3\n  Downloaded pkg-config v0.3.33\n  Downloaded radicle-std-ext v0.2.0\n  Downloaded doc-comment v0.3.4\n  Downloaded anyhow v1.0.103\n  Downloaded unicase v2.9.0\n  Downloaded pulldown-cmark-escape v0.11.0\n  Downloaded getopts v0.2.24\n  Downloaded pikchr v0.1.4\n  Downloaded cc v1.2.66\n  Downloaded shlex v2.0.1\n  Downloaded marked-yaml v0.8.0\n  Downloaded yaml-rust2 v0.10.4\n  Downloaded hashlink v0.10.0\n  Downloaded line-col v0.2.1\n  Downloaded base64 v0.22.1\n  Downloaded culpa v1.0.2\n  Downloaded state v0.6.0\n  Downloaded loom v0.5.6\n  Downloaded generator v0.7.5\n  Downloaded windows-targets v0.52.6\n  Downloaded fs_at v0.2.1\n  Downloaded cfg_aliases v0.2.1\n  Downloaded as-slice v0.2.1\n  Downloaded fs2 v0.4.3\n  Downloaded sqlite v0.37.0\n  Downloaded sqlite3-sys v0.18.0\n  Downloaded derive_builder_core v0.20.2\n  Downloaded fnv v1.0.7\n  Downloaded diligent-date-parser v0.1.5\n  Downloaded radicle-surf v0.28.0\n  Downloaded pulldown-cmark v0.13.4\n  Downloaded shell-words v1.1.1\n  Downloaded normpath v1.5.1\n  Downloaded cvt v0.1.2\n  Downloaded unsafe-libyaml-norway v0.2.15\n  Downloaded derive_builder_macro v0.20.2\n  Downloaded darling_macro v0.20.11\n  Downloaded ident_case v1.0.1\n  Downloaded thiserror-impl v1.0.69\n  Downloaded radicle-git-ext v0.13.0\n  Downloaded data-encoding-macro v0.1.20\n  Downloaded jobserver v0.1.35\n  Downloaded remove_dir_all v1.0.0\n  Downloaded filetime v0.2.29\n  Downloaded serde_norway v0.9.42\n  Downloaded ryu v1.0.23\n  Downloaded rss v2.1.0\n  Downloaded derive_builder v0.20.2\n  Downloaded darling v0.20.11\n  Downloaded darling_core v0.20.11\n  Downloaded strsim v0.11.1\n  Downloaded autocfg v1.5.1\n  Downloaded thiserror v1.0.69\n  Downloaded xattr v1.6.1\n  Downloaded git-ref-format v0.7.0\n  Downloaded base256emoji v1.0.2\n  Downloaded base-x v0.2.11\n  Downloaded ec25519 v0.1.0\n  Downloaded amplify v4.9.0\n  Downloaded ref-cast v1.0.25\n  Downloaded hashbrown v0.15.5\n  Downloaded atom_syndication v0.12.9\n  Downloaded num-traits v0.2.19\n  Downloaded tar v0.4.46\n  Downloaded proc-macro-error-attr3 v3.0.2\n  Downloaded git-ref-format-core v0.6.0\n  Downloaded nonempty v0.9.0\n  Downloaded adler2 v2.0.1\n  Downloaded ghash v0.5.1\n  Downloaded pkcs1 v0.7.5\n  Downloaded getrandom v0.3.4\n  Downloaded ref-cast-impl v1.0.25\n  Downloaded dyn-clone v1.0.20\n  Downloaded git-ref-format-macro v0.7.0\n  Downloaded proc-macro-error3 v3.0.2\n  Downloaded miniz_oxide v0.8.9\n  Downloaded simd-adler32 v0.3.9\n  Downloaded base64ct v1.8.3\n  Downloaded ssh-cipher v0.2.0\n  Downloaded poly1305 v0.8.0\n  Downloaded universal-hash v0.5.1\n  Downloaded opaque-debug v0.3.1\n  Downloaded ctr v0.9.2\n  Downloaded cipher v0.4.4\n  Downloaded inout v0.1.4\n  Downloaded block-padding v0.3.3\n  Downloaded chacha20 v0.9.1\n  Downloaded cbc v0.1.2\n  Downloaded polyval v0.6.2\n  Downloaded aead v0.5.2\n  Downloaded signature v2.2.0\n  Downloaded sec1 v0.7.3\n  Downloaded base16ct v0.2.0\n  Downloaded num-integer v0.1.46\n  Downloaded num-iter v0.1.46\n  Downloaded schemars_derive v1.2.1\n  Downloaded num-conv v0.2.2\n  Downloaded powerfmt v0.2.0\n  Downloaded flate2 v1.1.9\n  Downloaded pkcs8 v0.10.2\n  Downloaded spki v0.7.3\n  Downloaded serde_derive_internals v0.29.1\n  Downloaded radicle-dag v0.10.0\n  Downloaded wasm-bindgen-macro v0.2.126\n  Downloaded futures-core v0.3.32\n  Downloaded globwalk v0.9.1\n  Downloaded globset v0.4.18\n  Downloaded crossbeam-deque v0.8.7\n  Downloaded crossbeam-epoch v0.9.20\n  Downloaded roadmap v0.7.0\n  Downloaded quick-xml v0.41.0\n  Downloaded vcpkg v0.2.15\n  Downloaded tinyvec_macros v0.1.1\n  Downloaded memoffset v0.9.1\n  Downloaded siphasher v1.0.3\n  Downloaded typeid v1.0.3\n  Downloaded radicle-oid v0.2.0\n  Downloaded der v0.7.10\n  Downloaded rsa v0.9.10\n  Downloaded pbkdf2 v0.12.2\n  Downloaded secrecy v0.10.3\n  Downloaded amplify_syn v2.0.1\n  Downloaded radicle-core v0.3.0\n  Downloaded is_terminal_polyfill v1.70.2\n  Downloaded once_cell_polyfill v1.70.2\n  Downloaded qcheck-macros v1.0.0\n  Downloaded ignore v0.4.27\n  Downloaded crossbeam-utils v0.8.22\n  Downloaded chrono v0.4.45\n  Downloaded git2 v0.21.0\n  Downloaded crc32fast v1.5.0\n  Downloaded radicle-job v0.6.0\n  Downloaded tinyvec v1.11.0\n  Downloaded uds_windows v1.2.1\n  Downloaded serde-untagged v0.1.9\n  Downloaded erased-serde v0.4.10\n  Downloaded aes-gcm v0.10.3\n  Downloaded aes v0.8.4\n  Downloaded num-bigint-dig v0.8.6\n  Downloaded p521 v0.13.3\n  Downloaded blowfish v0.9.1\n  Downloaded byteorder v1.5.0\n  Downloaded ssh-agent-lib v0.5.2\n  Downloaded multibase v0.9.3\n  Downloaded data-encoding-macro-internal v0.1.18\n  Downloaded data-encoding v2.11.0\n  Downloaded base45 v3.2.0\n  Downloaded match-lookup v0.1.2\n  Downloaded ed25519 v1.5.3\n  Downloaded ct-codecs v1.1.7\n  Downloaded dunce v1.0.5\n  Downloaded clap_lex v1.1.0\n  Downloaded anstyle-wincon v3.0.11\n  Downloaded html-page v0.5.0\n  Downloaded wasm-bindgen-shared v0.2.126\n  Downloaded idna_adapter v1.2.2\n  Downloaded zerofrom v0.1.8\n  Downloaded stable_deref_trait v1.2.1\n  Downloaded form_urlencoded v1.2.2\n  Downloaded valuable-serde v0.1.1\n  Downloaded windows_x86_64_gnullvm v0.48.5\n  Downloaded nix v0.29.0\n  Downloaded base64 v0.21.7\n  Downloaded qcheck v1.0.0\n  Downloaded radicle-localtime v0.1.0\n  Downloaded const-str v0.4.3\n  Downloaded signature v1.6.4\n  Downloaded fast-glob v0.3.3\n  Downloaded utf8_iter v1.0.4\n  Downloaded pest_generator v2.8.7\n  Downloaded humansize v2.1.3\n  Downloaded libm v0.2.16\n  Downloaded unicode-linebreak v0.1.5\n  Downloaded windows_x86_64_gnullvm v0.52.6\n  Downloaded windows_aarch64_gnullvm v0.52.6\n  Downloaded unicode-normalization v0.1.25\n  Downloaded pest_derive v2.8.7\n  Downloaded pest_meta v2.8.7\n  Downloaded ucd-trie v0.1.7\n  Downloaded textwrap v0.16.2\n  Downloaded smawk v0.3.3\n  Downloaded marked-yaml v0.7.2\n  Downloaded hashlink v0.9.1\n  Downloaded ahash v0.8.12\n  Downloaded windows_aarch64_gnullvm v0.48.5\n  Downloaded windows-strings v0.1.0\n  Downloaded windows-result v0.2.0\n  Downloaded windows-interface v0.58.0\n  Downloaded windows-implement v0.58.0\n  Downloaded primeorder v0.13.6\n  Downloaded wasip2 v1.0.4+wasi-0.2.12\n  Downloaded nonempty v0.12.0\n  Downloaded zerofrom-derive v0.1.7\n  Downloaded tracing-serde v0.2.0\n  Downloaded zerocopy-derive v0.8.54\n  Downloaded windows_i686_gnullvm v0.52.6\n  Downloaded windows-core v0.58.0\n  Downloaded elliptic-curve v0.13.8\n  Downloaded heck v0.5.0\n  Downloaded futures-task v0.3.32\n  Downloaded pest v2.8.7\n  Downloaded bstr v1.12.3\n  Downloaded yaml-rust2 v0.9.0\n  Downloaded hashbrown v0.14.5\n  Downloaded radicle v0.24.0\n  Downloaded git2 v0.20.4\n  Downloaded radicle-git-metadata v0.2.0\n  Downloaded winpipe v0.1.1\n  Downloaded defer-heavy v0.1.0\n  Downloaded ssh-encoding v0.2.0\n  Downloaded sha2 v0.10.9\n  Downloaded anstyle-query v1.1.5\n  Downloaded percent-encoding v2.3.2\n  Downloaded radicle-crypto v0.17.0\n  Downloaded zeroize v1.9.0\n  Downloaded subtle v2.6.1\n  Downloaded digest v0.10.7\n  Downloaded crypto-common v0.1.7\n  Downloaded group v0.13.0\n  Downloaded ff v0.13.1\n  Downloaded socks5-client v0.4.3\n  Downloaded cypheraddr v0.4.1\n  Downloaded cfg-if v1.0.4\n  Downloaded potential_utf v0.1.5\n  Downloaded unicode-width v0.2.2\n  Downloaded windows_x86_64_msvc v0.48.5\n  Downloaded ssh-key v0.6.7\n  Downloaded windows_x86_64_gnu v0.48.5\n  Downloaded windows_i686_msvc v0.48.5\n  Downloaded generic-array v0.14.7\n  Downloaded const-oid v0.9.6\n  Downloaded block-buffer v0.10.4\n  Downloaded cpufeatures v0.2.17\n  Downloaded rfc6979 v0.4.0\n  Downloaded nonempty v0.11.0\n  Downloaded utf8parse v0.2.2\n  Downloaded colorchoice v1.0.5\n  Downloaded equivalent v1.0.2\n  Downloaded windows_aarch64_msvc v0.48.5\n  Downloaded pem-rfc7468 v0.7.0\n  Downloaded ecdsa v0.16.9\n  Downloaded hmac v0.12.1\n  Downloaded ed25519 v2.2.3\n  Downloaded cyphergraphy v0.3.1\n  Downloaded amplify_num v0.5.4\n  Downloaded encoding_rs v0.8.35\n  Downloaded windows_i686_gnu v0.48.5\n  Downloaded windows_x86_64_msvc v0.52.6\n  Downloaded windows_aarch64_msvc v0.52.6\n  Downloaded typenum v1.20.1\n  Downloaded crypto-bigint v0.5.5\n  Downloaded p256 v0.13.2\n  Downloaded ed25519-dalek v2.2.0\n  Downloaded rustc_version v0.4.1\n  Downloaded wit-bindgen v0.57.1\n  Downloaded r-efi v5.3.0\n  Downloaded ascii v1.1.0\n  Downloaded amplify_derive v4.0.1\n  Downloaded anstyle v1.0.14\n  Downloaded slab v0.4.12\n  Downloaded windows_x86_64_gnu v0.52.6\n  Downloaded libz-sys v1.1.29\n  Downloaded radicle-git-ref-format v0.1.0\n  Downloaded semver v1.0.28\n  Downloaded curve25519-dalek-derive v0.1.1\n  Downloaded tempfile v3.27.0\n  Downloaded bcrypt-pbkdf v0.10.0\n  Downloaded subplotlib-derive v0.14.0\n  Downloaded windows_i686_msvc v0.52.6\n  Downloaded windows_i686_gnu v0.52.6\n  Downloaded sync-ptr v0.1.4\n  Downloaded p384 v0.13.1\n  Downloaded aho-corasick v1.1.4\n  Downloaded fastrand v2.4.1\n  Downloaded subplotlib v0.14.0\n  Downloaded walkdir v2.5.0\n  Downloaded itoa v1.0.18\n  Downloaded bitflags v2.13.0\n  Downloaded winapi-util v0.1.11\n  Downloaded same-file v1.0.6\n  Downloaded subplot v0.14.0\n  Downloaded slug v0.1.6\n  Downloaded wasi v0.11.1+wasi-snapshot-preview1\n  Downloaded rand_chacha v0.3.1\n  Downloaded windows-link v0.2.1\n  Downloaded rand_core v0.6.4\n  Downloaded getrandom v0.2.17\n  Downloaded ppv-lite86 v0.2.21\n  Downloaded rand v0.8.6\n  Downloaded matchers v0.2.0\n  Downloaded terminal_size v0.4.4\n  Downloaded regex-syntax v0.8.11\n  Downloaded tera v1.20.1\n  Downloaded unicode-segmentation v1.13.3\n  Downloaded curve25519-dalek v4.1.3\n  Downloaded anstream v1.0.0\n  Downloaded displaydoc v0.2.6\n  Downloaded rustversion v1.0.23\n  Downloaded yoke-derive v0.8.2\n  Downloaded winapi v0.3.9\n  Downloaded zerovec-derive v0.11.3\n  Downloaded deunicode v1.6.2\n  Downloaded regex v1.13.1\n  Downloaded duration-str v0.21.0\n  Downloaded valuable v0.1.1\n  Downloaded rustix v1.1.4\n  Downloaded quote v1.0.46\n  Downloaded tinystr v0.8.3\n  Downloaded zerocopy v0.8.54\n  Downloaded fiat-crypto v0.2.9\n  Downloaded regex-automata v0.4.18\n  Downloaded bytesize v2.4.2\n  Downloaded tracing-log v0.2.0\n  Downloaded libgit2-sys v0.18.5+1.9.4\n  Downloaded pin-project-lite v0.2.17\n  Downloaded anstyle-parse v1.0.0\n  Downloaded smallvec v1.15.2\n  Downloaded thread_local v1.1.9\n  Downloaded lazy_static v1.5.0\n  Downloaded windows-sys v0.59.0\n  Downloaded time-core v0.1.9\n  Downloaded zmij v1.0.21\n  Downloaded deranged v0.5.8\n  Downloaded nu-ansi-term v0.50.3\n  Downloaded errno v0.3.14\n  Downloaded windows-sys v0.52.0\n  Downloaded thiserror v2.0.18\n  Downloaded thiserror-impl v2.0.18\n  Downloaded radicle-cob v0.20.0\n  Downloaded clap_derive v4.6.4\n  Downloaded once_cell v1.21.4\n  Downloaded sqlite3-src v0.7.0\n  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0\n  Downloaded winapi-i686-pc-windows-gnu v0.4.0\n  Downloaded synstructure v0.13.2\n  Downloaded litemap v0.8.2\n  Downloaded writeable v0.6.3\n  Downloaded arrayvec v0.7.8\n  Downloaded yoke v0.8.3\n  Downloaded tracing-core v0.1.36\n  Downloaded tracing-attributes v0.1.31\n  Downloaded spin v0.9.9\n  Downloaded time-macros v0.2.31\n  Downloaded unicode-ident v1.0.24\n  Downloaded getrandom v0.4.3\n  Downloaded icu_properties v2.2.0\n  Downloaded icu_provider v2.2.0\n  Downloaded log v0.4.33\n  Downloaded clap v4.6.6\n  Downloaded serde_derive v1.0.228\n  Downloaded sharded-slab v0.1.7\n  Downloaded wasm-bindgen v0.2.126\n  Downloaded icu_locale_core v2.2.0\n  Downloaded serde_core v1.0.228\n  Downloaded icu_normalizer_data v2.2.0\n  Downloaded r-efi v6.0.0\n  Downloaded icu_normalizer v2.2.0\n  Downloaded schemars v1.2.1\n  Downloaded crossbeam-channel v0.5.16\n  Downloaded windows v0.58.0\n  Downloaded wasm-bindgen-macro-support v0.2.126\n  Downloaded url v2.5.8\n  Downloaded windows v0.48.0\n  Downloaded serde v1.0.228\n  Downloaded proc-macro2 v1.0.106\n  Downloaded icu_collections v2.2.0\n  Downloaded zerotrie v0.2.4\n  Downloaded bumpalo v3.20.3\n  Downloaded memchr v2.8.3\n  Downloaded indexmap v2.14.0\n  Downloaded js-sys v0.3.103\n  Downloaded zerovec v0.11.6\n  Downloaded idna v1.1.0\n  Downloaded cyphernet v0.5.4\n  Downloaded rust_decimal v1.42.1\n  Downloaded hashbrown v0.17.1\n  Downloaded clap_builder v4.6.6\n  Downloaded futures-util v0.3.32\n  Downloaded icu_properties_data v2.2.0\n  Downloaded winnow v0.7.15\n  Downloaded serde_json v1.0.150\n  Downloaded tracing-subscriber v0.3.23\n  Downloaded syn v1.0.109\n  Downloaded time v0.3.53\n  Downloaded syn v3.0.3\n  Downloaded syn v2.0.118\n  Downloaded tracing v0.1.44\n  Downloaded libc v0.2.189\n  Downloaded windows-sys v0.61.2\n  Downloaded linux-raw-sys v0.12.1\n","timestamp":{"secs_since_epoch":1787584243,"nanos_since_epoch":578279384}}
{"type":"action_succeeded","action":"cargo_fetch","timestamp":{"secs_since_epoch":1787584243,"nanos_since_epoch":730552143}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787584243,"nanos_since_epoch":730610898}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787584251,"nanos_since_epoch":482649508}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787584251,"nanos_since_epoch":486919211}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787584251,"nanos_since_epoch":493422149}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787584251,"nanos_since_epoch":497181610}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787584255,"nanos_since_epoch":924392880}}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1787584255,"nanos_since_epoch":927474891}}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1787584255,"nanos_since_epoch":929589981}}
EXIT CODE: 0

Plan VM

Structured log: successful actions
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.18.0@5360d3f
  2. 0 ms: Trace: Set environment variable "HOME"
    "HOME"="/root"
  3. 0 ms: Runnable plan
    steps:
    - action: mkdir
      pathname: /ci
    - action: mkdir
      pathname: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/secrets
    - action: mkdir
      pathname: /ci/deps
    - 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: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    - action: shell
      shell: ln -sf /ci /workspace
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    - action: cargo_clippy
    - action: shell
      shell: |
        export CARGO_TARGET_DIR=/ci/cache
        export CARGO_HOME=/ci/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.
        export RAD_PASSPHRAE=secret
        rad auth --alias ambient
        env
        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 /ci/artifacts/rsync/.
    - action: custom
      name: dch
      args:
        debfullname: Lars Wirzenius
        debemail: liw@liw.fi
    - action: deb
      packages: debian
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    secrets_drive: null
    workspace_dir: /ci
    source_dir: /ci/src
    deps_dir: /ci/deps
    cache_dir: /ci/cache
    artifacts_dir: /ci/artifacts
    secrets_dir: null
    envs: {}
    
  4. 0 ms: Trace: Set environment variable "CARGO_TARGET_DIR"
    "CARGO_TARGET_DIR"="/ci/cache/cargo-target"
  5. 0 ms: Trace: Set environment variable "CARGO_HOME"
    "CARGO_HOME"="/ci/deps"
  6. 0 ms: Trace: Set environment variable "PATH"
    "PATH"="/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
  7. 1 ms: Trace: Set environment variable "CARGO_TARGET_DIR"
    "CARGO_TARGET_DIR"="/ci/cache/cargo-target"
  8. 1 ms: Trace: Set environment variable "CARGO_HOME"
    "CARGO_HOME"="/ci/deps"
  9. 2 ms: Trace: Set environment variable "PATH"
    "PATH"="/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
  10. 3 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  11. 4 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  12. 4 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  13. 59 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  14. 59 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts/debian",
        },
    )
  15. 59 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  16. 59 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts/rsync",
        },
    )
  17. 59 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  18. 59 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci/secrets",
        },
    )
  19. 59 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  20. 59 ms: Trace: Execute action
    Mkdir(
        Mkdir {
            pathname: "/ci/deps",
        },
    )
  21. 60 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  22. 60 ms: Trace: Execute action
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  23. 97 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  24. 98 ms: Trace: Execute action
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  25. 1765 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  26. 1765 ms: Trace: Execute action
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  27. 9741 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  28. 9741 ms: Trace: Execute action
    TarExtract(
        TarExtract {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
  29. 9749 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  30. 9749 ms: Trace: Execute action
    TarExtract(
        TarExtract {
            archive: "/dev/vdg",
            directory: "/ci/secrets",
        },
    )
  31. 9756 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  32. 9756 ms: Trace: Execute action
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  33. 9756 ms: Trace: Start program bash
    Command {
        program: "bash",
        args: [
            "bash",
            "-c",
            "set -xeuo pipefail\nln -sf /ci /workspace\n",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
  34. 9774 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  35. 9774 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  36. 9774 ms: Trace: Execute action
    CreateFile(
        CreateFile {
            filename: "/root/.ssh/config",
            content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ",
            overwrite: true,
        },
    )
  37. 9775 ms: Action succeeded: create_file
    - action: create_file
      filename: /root/.ssh/config
      content: "Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                "
      overwrite: true
    
  38. 9775 ms: Trace: Execute action
    CargoClippy(
        CargoClippy,
    )
  39. 9775 ms: Trace: Start program cargo
    Command {
        program: "cargo",
        args: [
            "cargo",
            "--version",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
  40. 9826 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      cargo 1.98.0 (797e8a9bc 2026-08-05)
      
    • Stderr
  41. 9829 ms: Trace: Start program cargo
    Command {
        program: "cargo",
        args: [
            "cargo",
            "clippy",
            "--version",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
  42. 9888 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      clippy 0.1.98 (88d9e12ae1 2026-08-18)
      
    • Stderr
  43. 9891 ms: Trace: Start program rustc
    Command {
        program: "rustc",
        args: [
            "rustc",
            "--version",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
  44. 9916 ms: Program succeeded: rustc
    • Exit code: 0
    • Stdout
      rustc 1.98.0 (88d9e12ae 2026-08-18)
      
    • Stderr
  45. 9919 ms: Trace: Start program cargo
    Command {
        program: "cargo",
        args: [
            "cargo",
            "clippy",
            "--offline",
            "--locked",
            "--workspace",
            "--all-targets",
            "--no-deps",
            "--",
            "--deny",
            "warnings",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
  46. 12986 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
    • Stderr
          Checking radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)
         Compiling radicle-ci-broker v0.31.0 (/ci/src)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.99s
      
  47. 12991 ms: Action succeeded: cargo_clippy
    - action: cargo_clippy
    
  48. 12993 ms: Trace: Execute action
    Shell(
        Shell {
            shell: "export CARGO_TARGET_DIR=/ci/cache\nexport CARGO_HOME=/ci/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.\nexport RAD_PASSPHRAE=secret\nrad auth --alias ambient\nenv\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 /ci/artifacts/rsync/.\n",
        },
    )
  49. 13006 ms: Trace: Start program bash
    Command {
        program: "bash",
        args: [
            "bash",
            "-c",
            "set -xeuo pipefail\nexport CARGO_TARGET_DIR=/ci/cache\nexport CARGO_HOME=/ci/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.\nexport RAD_PASSPHRAE=secret\nrad auth --alias ambient\nenv\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 /ci/artifacts/rsync/.\n\n",
        ],
        env: CommandEnv {
            clear: false,
            vars: {
                "CARGO_HOME": Some(
                    "/ci/deps",
                ),
                "CARGO_TARGET_DIR": Some(
                    "/ci/cache/cargo-target",
                ),
                "HOME": Some(
                    "/root",
                ),
                "PATH": Some(
                    "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
                ),
            },
        },
        cwd: Some(
            "/ci/src",
        ),
        create_pidfd: false,
    }
FAILURE
  1. 35578 ms: Program failed: bash
    • Exit code: 101
    • Stdout
      Initializing your Radicle 👾 identity
      
      ✓ Creating your Ed25519 keypair…
      ✓ Your Radicle DID is did:key:z6Mkgrox8ZR7Nifzbcv9Na15jXx64rkH2HD4Xze6E1sz6v5h. This identifies your device. Run `rad self` to show it at all times.
      ✓ You're all set.
      
      To create a Radicle repository, run `rad init` from a Git repository with at least one commit.
      To clone a repository, run `rad clone <rid>`. For example, `rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5` clones the Radicle 'heartwood' repository.
      To get a list of all commands, run `rad`.
      MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
      CARGO_TARGET_DIR=/ci/cache
      PWD=/ci/src
      SYSTEMD_EXEC_PID=372
      HOME=/root
      LANG=C.UTF-8
      CARGO_HOME=/ci/deps
      MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure
      INVOCATION_ID=dddd8ad7b964411cbe0f53d50e4e0d53
      RAD_PASSPHRAE=secret
      USER=root
      SHLVL=2
      JOURNAL_STREAM=9:3293
      PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      OLDPWD=/
      _=/usr/bin/env
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 88 tests
      test adapter::test::adapter_does_not_exist ... ok
      test adapter::test::adapter_ends_ok_before_first_message ... ok
      test adapter::test::adapter_ends_ok_before_second_message ... ok
      test adapter::test::adapter_exits_nonzero ... ok
      test adapter::test::adapter_has_bad_interpreter ... ok
      test adapter::test::adapter_first_message_isnt_triggered ... 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_killed_before_first_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_redacts_sensitive_environment ... ok
      test adapter::test::adapter_reports_success ... ok
      test adapter::test::adapter_reports_failure ... ok
      test broker::test::adapter_fails ... ok
      test broker::test::executes_adapter ... ok
      test ci_event::test::branch_created ... ok
      test ci_event::test::branch_deleted ... ok
      test ci_event::test::diff_refs ... ok
      test ci_event::test::nothing_updated ... ok
      test ci_event::test::branch_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_none_for_wrong_node ... ok
      test filter::test::allows_no_event ... ok
      test filter::test::allows_patch_creation ... ok
      test filter::test::allows_patch_update ... ok
      test filter::test::allows_opposite ... 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::allows_wanted_tag ... 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_allows_other_patch ... ok
      test filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_suffix ... ok
      test filter::test::only_allows_branch_creation ... ok
      test filter::test::only_allows_branch_deletion ... ok
      test filter::test::only_allows_patch_creation ... ok
      test filter::test::only_allows_branch_update ... 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 msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... 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::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
      
      test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.47s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 73 tests
      test adapter_can_provide_url_for_info_on_run ... FAILED
      test add_information_about_run_that_s_finished_in_failure_to_database ... FAILED
      test add_information_about_run_that_s_finished_successfully_to_database ... FAILED
      test add_information_about_run_that_s_running_to_database ... FAILED
      test add_information_about_triggered_run_to_database ... FAILED
      test allows_setting_minimum_log_level ... FAILED
      test adapter_with_url_runs_successfully ... ok
      test can_add_a_branch_creation_event_to_queue ... FAILED
      test can_add_a_branch_deletion_event_to_queue ... FAILED
      test can_add_a_branch_update_event_to_queue ... FAILED
      test can_add_a_patch_creation_event_to_queue ... FAILED
      test can_add_a_patch_update_event_to_queue ... FAILED
      test can_add_shutdown_event_to_queue ... FAILED
      test can_output_trigger_message_for_a_ci_run ... FAILED
      test can_remove_all_queued_events ... FAILED
      test can_shut_down_cleanly ... FAILED
      test can_trigger_a_ci_run ... FAILED
      test convert_recorded_node_events_into_ci_events ... FAILED
      test count_in_concurrent_processes ... FAILED
      test count_in_a_single_process ... FAILED
      test create_a_repository ... FAILED
      test don_t_insert_event_for_non_existent_repository ... FAILED
      test event_synthesizer_terminates_after_first_connection ... FAILED
      test events_can_be_queued_and_removed_from_queue ... FAILED
      test extract_cib_log_from_journald_and_pretty_print ... FAILED
      test fails_run_if_building_trigger_fails__but_does_not_crash ... FAILED
      test filter_predicate_allow ... FAILED
      test filter_predicate_and ... FAILED
      test filter_predicate_anydelegate ... FAILED
      test filter_predicate_branch ... FAILED
      test filter_predicate_branchcreated ... FAILED
      test filter_predicate_branchdeleted ... FAILED
      test filter_predicate_branchupdated ... FAILED
      test filter_predicate_defaultbranch ... FAILED
      test filter_predicate_deny ... FAILED
      test filter_predicate_hasfile ... FAILED
      test filter_predicate_node ... FAILED
      test filter_predicate_not ... FAILED
      test filter_predicate_or ... FAILED
      test filter_predicate_repository ... FAILED
      test filter_predicate_tag ... FAILED
      test filter_recorded_ci_events ... FAILED
      test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... FAILED
      test gives_helpful_error_message_if_node_socket_can_t_be_found ... FAILED
      test handles_adapter_failing_on_a_failed_run ... FAILED
      test handles_adapter_failing_on_a_successful_run ... FAILED
      test insert_events_into_queue ... FAILED
      test insert_many_events_into_queue ... FAILED
      test logs_adapter_stderr_output ... FAILED
      test logs_start_and_successful_end ... FAILED
      test logs_termination_due_to_error ... FAILED
      test process_queued_events ... FAILED
      test processes_empty_event_queue_successfully ... FAILED
      test produces_a_json_status_file ... FAILED
      test produces_a_report_page_upon_request ... FAILED
      test queue_a_node_event_for_processing ... FAILED
      test record_node_events ... FAILED
      test refuses_config_with_an_unknown_field ... FAILED
      test remove_information_about_a_run_from_the_database ... FAILED
      test reports_it_version ... FAILED
      test runs_adapter_on_each_type_of_event ... FAILED
      test runs_adapter_with_configuration ... FAILED
      test runs_adapter_without_a_report_directory ... FAILED
      test runs_adapters_for_all_matching_triggers ... FAILED
      test set_up_a_node ... FAILED
      test shows_adapter_specification ... FAILED
      test shows_json_config_as_json ... FAILED
      test shows_yaml_config_as_json ... FAILED
      test smoke_test__runs_adapter ... FAILED
      test stops_if_the_node_connection_breaks ... FAILED
      test update_and_show_information_about_run_to_running ... FAILED
      test we_can_run_rad ... FAILED
      test dummy_adapter_runs_successfully ... ok
      
      failures:
      
      ---- adapter_can_provide_url_for_info_on_run stdout ----
      unknown: scenario: Adapter can provide URL for info on run
      /ci/src/ci-broker.md:897:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter adapter-with-url.sh
      
      thread 'adapter_can_provide_url_for_info_on_run' (2583) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
        return: Failure
      
      thread 'adapter_can_provide_url_for_info_on_run' (2583) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:897:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter adapter-with-url.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- add_information_about_run_that_s_finished_in_failure_to_database stdout ----
      unknown: scenario: Add information about run that's finished in failure to database
      /ci/src/ci-broker.md:2325:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'add_information_about_run_that_s_finished_in_failure_to_database' (2585) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'add_information_about_run_that_s_finished_in_failure_to_database' (2585) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2325:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- add_information_about_run_that_s_finished_successfully_to_database stdout ----
      unknown: scenario: Add information about run that's finished successfully to database
      /ci/src/ci-broker.md:2302:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'add_information_about_run_that_s_finished_successfully_to_database' (2586) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'add_information_about_run_that_s_finished_successfully_to_database' (2586) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2302:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- add_information_about_run_that_s_running_to_database stdout ----
      unknown: scenario: Add information about run that's running to database
      /ci/src/ci-broker.md:2279:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'add_information_about_run_that_s_running_to_database' (2588) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'add_information_about_run_that_s_running_to_database' (2588) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2279:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- add_information_about_triggered_run_to_database stdout ----
      unknown: scenario: Add information about triggered run to database
      /ci/src/ci-broker.md:2256:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'add_information_about_triggered_run_to_database' (2589) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'add_information_about_triggered_run_to_database' (2589) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2256:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- allows_setting_minimum_log_level stdout ----
      unknown: scenario: Allows setting minimum log level
      /ci/src/ci-broker.md:1076:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'allows_setting_minimum_log_level' (2590) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'allows_setting_minimum_log_level' (2590) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1076:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_a_branch_creation_event_to_queue stdout ----
      unknown: scenario: Can add a branch creation event to queue
      /ci/src/ci-broker.md:2107:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_a_branch_creation_event_to_queue' (2592) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_a_branch_creation_event_to_queue' (2592) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2107:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_a_branch_deletion_event_to_queue stdout ----
      unknown: scenario: Can add a branch deletion event to queue
      /ci/src/ci-broker.md:2147:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_a_branch_deletion_event_to_queue' (2593) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_a_branch_deletion_event_to_queue' (2593) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2147:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_a_branch_update_event_to_queue stdout ----
      unknown: scenario: Can add a branch update event to queue
      /ci/src/ci-broker.md:2127:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_a_branch_update_event_to_queue' (2594) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_a_branch_update_event_to_queue' (2594) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2127:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_a_patch_creation_event_to_queue stdout ----
      unknown: scenario: Can add a patch creation event to queue
      /ci/src/ci-broker.md:2167:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_a_patch_creation_event_to_queue' (2595) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_a_patch_creation_event_to_queue' (2595) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2167:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_a_patch_update_event_to_queue stdout ----
      unknown: scenario: Can add a patch update event to queue
      /ci/src/ci-broker.md:2187:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_a_patch_update_event_to_queue' (2596) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_a_patch_update_event_to_queue' (2596) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2187:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_add_shutdown_event_to_queue stdout ----
      unknown: scenario: Can add shutdown event to queue
      /ci/src/ci-broker.md:2087:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_add_shutdown_event_to_queue' (2597) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_add_shutdown_event_to_queue' (2597) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2087:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_output_trigger_message_for_a_ci_run stdout ----
      unknown: scenario: Can output trigger message for a CI run
      /ci/src/ci-broker.md:2231:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_output_trigger_message_for_a_ci_run' (2598) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_output_trigger_message_for_a_ci_run' (2598) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2231:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_remove_all_queued_events stdout ----
      unknown: scenario: Can remove all queued events
      /ci/src/ci-broker.md:2058:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_remove_all_queued_events' (2599) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_remove_all_queued_events' (2599) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2058:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_shut_down_cleanly stdout ----
      unknown: scenario: Can shut down cleanly
      /ci/src/ci-broker.md:995:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_shut_down_cleanly' (2600) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_shut_down_cleanly' (2600) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:995:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- can_trigger_a_ci_run stdout ----
      unknown: scenario: Can trigger a CI run
      /ci/src/ci-broker.md:2209:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'can_trigger_a_ci_run' (2601) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'can_trigger_a_ci_run' (2601) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2209:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- convert_recorded_node_events_into_ci_events stdout ----
      unknown: scenario: Convert recorded node events into CI events
      /ci/src/ci-broker.md:2479:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'convert_recorded_node_events_into_ci_events' (2602) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'convert_recorded_node_events_into_ci_events' (2602) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2479:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- count_in_concurrent_processes stdout ----
      unknown: scenario: Count in concurrent processes
      /ci/src/ci-broker.md:1945:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'count_in_concurrent_processes' (2604) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'count_in_concurrent_processes' (2604) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1945:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- count_in_a_single_process stdout ----
      unknown: scenario: Count in a single process
      /ci/src/ci-broker.md:1832:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'count_in_a_single_process' (2603) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'count_in_a_single_process' (2603) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1832:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- create_a_repository stdout ----
      unknown: scenario: Create a repository
      /ci/src/ci-broker.md:348:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'create_a_repository' (2605) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'create_a_repository' (2605) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:348:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- don_t_insert_event_for_non_existent_repository stdout ----
      unknown: scenario: Don't insert event for non-existent repository
      /ci/src/ci-broker.md:2426:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'don_t_insert_event_for_non_existent_repository' (2606) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'don_t_insert_event_for_non_existent_repository' (2606) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2426:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- event_synthesizer_terminates_after_first_connection stdout ----
      unknown: scenario: Event synthesizer terminates after first connection
      /ci/src/ci-broker.md:1795:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'event_synthesizer_terminates_after_first_connection' (2608) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'event_synthesizer_terminates_after_first_connection' (2608) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1795:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- events_can_be_queued_and_removed_from_queue stdout ----
      unknown: scenario: Events can be queued and removed from queue
      /ci/src/ci-broker.md:2029:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'events_can_be_queued_and_removed_from_queue' (2610) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'events_can_be_queued_and_removed_from_queue' (2610) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2029:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- extract_cib_log_from_journald_and_pretty_print stdout ----
      unknown: scenario: Extract cib log from journald and pretty print
      /ci/src/ci-broker.md:2542:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'extract_cib_log_from_journald_and_pretty_print' (2611) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'extract_cib_log_from_journald_and_pretty_print' (2611) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2542:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- fails_run_if_building_trigger_fails__but_does_not_crash stdout ----
      unknown: scenario: Fails run if building trigger fails, but does not crash
      /ci/src/ci-broker.md:1113:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'fails_run_if_building_trigger_fails__but_does_not_crash' (2612) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'fails_run_if_building_trigger_fails__but_does_not_crash' (2612) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1113:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_allow stdout ----
      unknown: scenario: Filter predicate Allow
      /ci/src/ci-broker.md:1457:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_allow' (2614) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_allow' (2614) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1457:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_and stdout ----
      unknown: scenario: Filter predicate And
      /ci/src/ci-broker.md:1526:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_and' (2615) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_and' (2615) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1526:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_anydelegate stdout ----
      unknown: scenario: Filter predicate AnyDelegate
      /ci/src/ci-broker.md:1243:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_anydelegate' (2616) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_anydelegate' (2616) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1243:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_branch stdout ----
      unknown: scenario: Filter predicate Branch
      /ci/src/ci-broker.md:1319:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_branch' (2618) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_branch' (2618) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1319:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_branchcreated stdout ----
      unknown: scenario: Filter predicate BranchCreated
      /ci/src/ci-broker.md:1353:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_branchcreated' (2619) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_branchcreated' (2619) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1353:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_branchdeleted stdout ----
      unknown: scenario: Filter predicate BranchDeleted
      /ci/src/ci-broker.md:1423:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_branchdeleted' (2620) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_branchdeleted' (2620) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1423:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_branchupdated stdout ----
      unknown: scenario: Filter predicate BranchUpdated
      /ci/src/ci-broker.md:1388:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_branchupdated' (2622) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_branchupdated' (2622) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1388:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_defaultbranch stdout ----
      unknown: scenario: Filter predicate DefaultBranch
      /ci/src/ci-broker.md:1636:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_defaultbranch' (2623) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_defaultbranch' (2623) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1636:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_deny stdout ----
      unknown: scenario: Filter predicate Deny
      /ci/src/ci-broker.md:1491:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_deny' (2624) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_deny' (2624) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1491:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_hasfile stdout ----
      unknown: scenario: Filter predicate HasFile
      /ci/src/ci-broker.md:1672:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_hasfile' (2625) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_hasfile' (2625) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1672:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_node stdout ----
      unknown: scenario: Filter predicate Node
      /ci/src/ci-broker.md:1194:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_node' (2626) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_node' (2626) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1194:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_not stdout ----
      unknown: scenario: Filter predicate Not
      /ci/src/ci-broker.md:1599:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_not' (2627) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_not' (2627) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1599:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_or stdout ----
      unknown: scenario: Filter predicate Or
      /ci/src/ci-broker.md:1563:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_or' (2628) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_or' (2628) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1563:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_repository stdout ----
      unknown: scenario: Filter predicate Repository
      /ci/src/ci-broker.md:1145:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_repository' (2629) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_repository' (2629) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1145:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_predicate_tag stdout ----
      unknown: scenario: Filter predicate Tag
      /ci/src/ci-broker.md:1280:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_predicate_tag' (2630) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_predicate_tag' (2630) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1280:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- filter_recorded_ci_events stdout ----
      unknown: scenario: Filter recorded CI events
      /ci/src/ci-broker.md:2500:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'filter_recorded_ci_events' (2631) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'filter_recorded_ci_events' (2631) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2500:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file stdout ----
      unknown: scenario: Gives helpful error message if it doesn't understand its configuration file
      /ci/src/ci-broker.md:948:1:   step 1: given a Radicle node, with CI configured with not-yaml.yaml and adapter dummy.sh
      
      thread 'gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file' (2632) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file' (2632) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:948:1: step 1, given a Radicle node, with CI configured with not-yaml.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- gives_helpful_error_message_if_node_socket_can_t_be_found stdout ----
      unknown: scenario: Gives helpful error message if node socket can't be found
      /ci/src/ci-broker.md:925:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'gives_helpful_error_message_if_node_socket_can_t_be_found' (2633) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'gives_helpful_error_message_if_node_socket_can_t_be_found' (2633) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:925:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- handles_adapter_failing_on_a_failed_run stdout ----
      unknown: scenario: Handles adapter failing on a failed run
      /ci/src/ci-broker.md:648:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-failure.sh
      
      thread 'handles_adapter_failing_on_a_failed_run' (2634) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'handles_adapter_failing_on_a_failed_run' (2634) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:648:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-failure.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- handles_adapter_failing_on_a_successful_run stdout ----
      unknown: scenario: Handles adapter failing on a successful run
      /ci/src/ci-broker.md:608:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-success.sh
      
      thread 'handles_adapter_failing_on_a_successful_run' (2635) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'handles_adapter_failing_on_a_successful_run' (2635) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:608:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-success.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- insert_events_into_queue stdout ----
      unknown: scenario: Insert events into queue
      /ci/src/ci-broker.md:1854:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'insert_events_into_queue' (2636) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'insert_events_into_queue' (2636) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1854:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- insert_many_events_into_queue stdout ----
      unknown: scenario: Insert many events into queue
      /ci/src/ci-broker.md:1881:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'insert_many_events_into_queue' (2637) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'insert_many_events_into_queue' (2637) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1881:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- logs_adapter_stderr_output stdout ----
      unknown: scenario: Logs adapter stderr output
      /ci/src/ci-broker.md:1040:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter broken-adapter.sh
      
      thread 'logs_adapter_stderr_output' (2638) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'logs_adapter_stderr_output' (2638) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1040:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter broken-adapter.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- logs_start_and_successful_end stdout ----
      unknown: scenario: Logs start and successful end
      /ci/src/ci-broker.md:2607:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'logs_start_and_successful_end' (2639) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'logs_start_and_successful_end' (2639) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2607:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- logs_termination_due_to_error stdout ----
      unknown: scenario: Logs termination due to error
      /ci/src/ci-broker.md:2630:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'logs_termination_due_to_error' (2640) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'logs_termination_due_to_error' (2640) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2630:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- process_queued_events stdout ----
      unknown: scenario: Process queued events
      /ci/src/ci-broker.md:1909:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'process_queued_events' (2641) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'process_queued_events' (2641) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1909:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- processes_empty_event_queue_successfully stdout ----
      unknown: scenario: Processes empty event queue successfully
      /ci/src/ci-broker.md:589:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh
      
      thread 'processes_empty_event_queue_successfully' (2642) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'processes_empty_event_queue_successfully' (2642) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:589:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- produces_a_json_status_file stdout ----
      unknown: scenario: Produces a JSON status file
      /ci/src/ci-broker.md:2653:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'produces_a_json_status_file' (2643) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'produces_a_json_status_file' (2643) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2653:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- produces_a_report_page_upon_request stdout ----
      unknown: scenario: Produces a report page upon request
      /ci/src/ci-broker.md:1016:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'produces_a_report_page_upon_request' (2644) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'produces_a_report_page_upon_request' (2644) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1016:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- queue_a_node_event_for_processing stdout ----
      unknown: scenario: Queue a node event for processing
      /ci/src/ci-broker.md:387:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'queue_a_node_event_for_processing' (2645) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'queue_a_node_event_for_processing' (2645) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:387:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- record_node_events stdout ----
      unknown: scenario: Record node events
      /ci/src/ci-broker.md:2458:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'record_node_events' (2646) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'record_node_events' (2646) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2458:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- refuses_config_with_an_unknown_field stdout ----
      unknown: scenario: Refuses config with an unknown field
      /ci/src/ci-broker.md:513:1:   step 1: given a Radicle node, with CI configured with buggy.yaml and adapter dummy.sh
      
      thread 'refuses_config_with_an_unknown_field' (2647) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'refuses_config_with_an_unknown_field' (2647) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:513:1: step 1, given a Radicle node, with CI configured with buggy.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- remove_information_about_a_run_from_the_database stdout ----
      unknown: scenario: Remove information about a run from the database
      /ci/src/ci-broker.md:2350:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'remove_information_about_a_run_from_the_database' (2648) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'remove_information_about_a_run_from_the_database' (2648) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2350:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- reports_it_version stdout ----
      unknown: scenario: Reports it version
      /ci/src/ci-broker.md:871:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'reports_it_version' (2649) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'reports_it_version' (2649) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:871:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- runs_adapter_on_each_type_of_event stdout ----
      unknown: scenario: Runs adapter on each type of event
      /ci/src/ci-broker.md:787:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'runs_adapter_on_each_type_of_event' (2650) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'runs_adapter_on_each_type_of_event' (2650) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:787:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- runs_adapter_with_configuration stdout ----
      unknown: scenario: Runs adapter with configuration
      /ci/src/ci-broker.md:690:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'runs_adapter_with_configuration' (2651) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'runs_adapter_with_configuration' (2651) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:690:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- runs_adapter_without_a_report_directory stdout ----
      unknown: scenario: Runs adapter without a report directory
      /ci/src/ci-broker.md:718:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh
      
      thread 'runs_adapter_without_a_report_directory' (2652) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'runs_adapter_without_a_report_directory' (2652) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:718:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- runs_adapters_for_all_matching_triggers stdout ----
      unknown: scenario: Runs adapters for all matching triggers
      /ci/src/ci-broker.md:746:1:   step 1: given a Radicle node, with CI configured with broker-with-two-triggers.yaml and adapter dummy.sh
      
      thread 'runs_adapters_for_all_matching_triggers' (2653) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'runs_adapters_for_all_matching_triggers' (2653) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:746:1: step 1, given a Radicle node, with CI configured with broker-with-two-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- set_up_a_node stdout ----
      unknown: scenario: Set up a node
      /ci/src/ci-broker.md:266:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'set_up_a_node' (2654) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'set_up_a_node' (2654) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:266:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- shows_adapter_specification stdout ----
      unknown: scenario: Shows adapter specification
      /ci/src/ci-broker.md:493:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'shows_adapter_specification' (2655) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'shows_adapter_specification' (2655) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:493:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- shows_json_config_as_json stdout ----
      unknown: scenario: Shows JSON config as JSON
      /ci/src/ci-broker.md:444:1:   step 1: given a Radicle node, with CI configured with config.json and adapter dummy.sh
      
      thread 'shows_json_config_as_json' (2656) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'shows_json_config_as_json' (2656) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:444:1: step 1, given a Radicle node, with CI configured with config.json and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- shows_yaml_config_as_json stdout ----
      unknown: scenario: Shows YAML config as JSON
      /ci/src/ci-broker.md:422:1:   step 1: given a Radicle node, with CI configured with broker-with-all-filter-kinds.yaml and adapter dummy.sh
      
      thread 'shows_yaml_config_as_json' (2657) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'shows_yaml_config_as_json' (2657) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:422:1: step 1, given a Radicle node, with CI configured with broker-with-all-filter-kinds.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- smoke_test__runs_adapter stdout ----
      unknown: scenario: Smoke test: Runs adapter
      /ci/src/ci-broker.md:549:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh
      
      thread 'smoke_test__runs_adapter' (2658) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'smoke_test__runs_adapter' (2658) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:549:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- stops_if_the_node_connection_breaks stdout ----
      unknown: scenario: Stops if the node connection breaks
      /ci/src/ci-broker.md:972:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'stops_if_the_node_connection_breaks' (2659) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'stops_if_the_node_connection_breaks' (2659) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:972:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- update_and_show_information_about_run_to_running stdout ----
      unknown: scenario: Update and show information about run to running
      /ci/src/ci-broker.md:2378:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'update_and_show_information_about_run_to_running' (2660) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'update_and_show_information_about_run_to_running' (2660) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:2378:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      ---- we_can_run_rad stdout ----
      unknown: scenario: We can run rad
      /ci/src/ci-broker.md:1733:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh
      
      thread 'we_can_run_rad' (2661) panicked at tests/subplot.rs:1:1:
      SUBPLOT_DIR must be set: NotPresent
        return: Failure
      
      thread 'we_can_run_rad' (2661) panicked at tests/subplot.rs:1:1:
      called `Result::unwrap()` on an `Err` value: "/ci/src/ci-broker.md:1733:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent"
      
      
      failures:
          adapter_can_provide_url_for_info_on_run
          add_information_about_run_that_s_finished_in_failure_to_database
          add_information_about_run_that_s_finished_successfully_to_database
          add_information_about_run_that_s_running_to_database
          add_information_about_triggered_run_to_database
          allows_setting_minimum_log_level
          can_add_a_branch_creation_event_to_queue
          can_add_a_branch_deletion_event_to_queue
          can_add_a_branch_update_event_to_queue
          can_add_a_patch_creation_event_to_queue
          can_add_a_patch_update_event_to_queue
          can_add_shutdown_event_to_queue
          can_output_trigger_message_for_a_ci_run
          can_remove_all_queued_events
          can_shut_down_cleanly
          can_trigger_a_ci_run
          convert_recorded_node_events_into_ci_events
          count_in_a_single_process
          count_in_concurrent_processes
          create_a_repository
          don_t_insert_event_for_non_existent_repository
          event_synthesizer_terminates_after_first_connection
          events_can_be_queued_and_removed_from_queue
          extract_cib_log_from_journald_and_pretty_print
          fails_run_if_building_trigger_fails__but_does_not_crash
          filter_predicate_allow
          filter_predicate_and
          filter_predicate_anydelegate
          filter_predicate_branch
          filter_predicate_branchcreated
          filter_predicate_branchdeleted
          filter_predicate_branchupdated
          filter_predicate_defaultbranch
          filter_predicate_deny
          filter_predicate_hasfile
          filter_predicate_node
          filter_predicate_not
          filter_predicate_or
          filter_predicate_repository
          filter_predicate_tag
          filter_recorded_ci_events
          gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file
          gives_helpful_error_message_if_node_socket_can_t_be_found
          handles_adapter_failing_on_a_failed_run
          handles_adapter_failing_on_a_successful_run
          insert_events_into_queue
          insert_many_events_into_queue
          logs_adapter_stderr_output
          logs_start_and_successful_end
          logs_termination_due_to_error
          process_queued_events
          processes_empty_event_queue_successfully
          produces_a_json_status_file
          produces_a_report_page_upon_request
          queue_a_node_event_for_processing
          record_node_events
          refuses_config_with_an_unknown_field
          remove_information_about_a_run_from_the_database
          reports_it_version
          runs_adapter_on_each_type_of_event
          runs_adapter_with_configuration
          runs_adapter_without_a_report_directory
          runs_adapters_for_all_matching_triggers
          set_up_a_node
          shows_adapter_specification
          shows_json_config_as_json
          shows_yaml_config_as_json
          smoke_test__runs_adapter
          stops_if_the_node_connection_breaks
          update_and_show_information_about_run_to_running
          we_can_run_rad
      
      test result: FAILED. 2 passed; 71 failed; 0 ignored; 0 measured; 1 filtered out; finished in 2.02s
      
      
      running 1 test
      test adapterlib/src/lib.rs - RunId (line 34) ... ok
      
      test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      all doctests ran in 0.44s; merged doctests compilation took 0.44s
      
      running 1 test
      test src/timeoutcmd.rs - timeoutcmd (line 21) ... ok
      
      test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      all doctests ran in 0.68s; merged doctests compilation took 0.67s
      
    • Stderr
      + export CARGO_TARGET_DIR=/ci/cache
      + CARGO_TARGET_DIR=/ci/cache
      + export CARGO_HOME=/ci/deps
      + CARGO_HOME=/ci/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
      + PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + rad --help
      + cargo doc --workspace --no-deps
         Compiling radicle-ci-broker v0.31.0 (/ci/src)
          Checking radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)
       Documenting radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)
       Documenting radicle-ci-broker v0.31.0 (/ci/src)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.26s
         Generated /ci/cache/doc/radicle_ci_adapter/index.html and 5 other files
      + export RAD_PASSPHRAE=secret
      + RAD_PASSPHRAE=secret
      + rad auth --alias ambient
      + env
      + cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2
         Compiling radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)
         Compiling radicle-ci-broker v0.31.0 (/ci/src)
          Finished `test` profile [unoptimized + debuginfo] target(s) in 6.41s
           Running unittests src/lib.rs (/ci/cache/debug/deps/radicle_ci_adapter-14de6a517d2fbd8c)
           Running unittests src/lib.rs (/ci/cache/debug/deps/radicle_ci_broker-cd9951daf635d7cd)
           Running unittests src/bin/cib.rs (/ci/cache/debug/deps/cib-0ca1091efdcc202b)
           Running unittests src/bin/cibtool.rs (/ci/cache/debug/deps/cibtool-eae6d5fa7e483810)
           Running unittests src/bin/default_branch.rs (/ci/cache/debug/deps/default_branch-f154276158aa14e2)
           Running unittests src/bin/synthetic-events.rs (/ci/cache/debug/deps/synthetic_events-10a569f7e83b9c2e)
           Running tests/subplot.rs (/ci/cache/debug/deps/subplot-5df44b4a6b3fa024)
      error: test failed, to rerun pass `-p radicle-ci-broker --test subplot`
         Doc-tests radicle_ci_adapter
         Doc-tests radicle_ci_broker
      error: 1 target failed:
          `-p radicle-ci-broker --test subplot`
      
  2. 36396 ms: Action failed: shell: export CARGO_TARGET_DIR=/ci/cache export CARGO_HOME=/ci/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. export RAD_PASSPHRAE=secret rad auth --alias ambient env 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 /ci/artifacts/rsync/.
    - action: shell
      shell: |
        export CARGO_TARGET_DIR=/ci/cache
        export CARGO_HOME=/ci/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.
        export RAD_PASSPHRAE=secret
        rad auth --alias ambient
        env
        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 /ci/artifacts/rsync/.
    
  3. 36396 ms: Executor ends in failure
    • Exit code: 1
Console log
BdsDxe: 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)
  Booting `Debian GNU/Linux'

Loading Linux 6.12.86+deb13-amd64 ...
Loading initial ramdisk ...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
Loading, please wait...
Starting systemd-udevd version 257.13-1~deb13u1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.41
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/vda2
fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Debian GNU/Linux 13 (trixie)!

[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Set up automount proc-sys-fs-binfm…ormats File System Automount Point.
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-tracing.mount - Kernel Trace File System...
         Mounting tmp.mount - Temporary Directory /tmp...
         Starting kmod-static-nodes.service…eate List of Static Device Nodes...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-network-generator…k Units from Kernel Command Line...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Finished kmod-static-nodes.service…Create List of Static Device Nodes.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-network-generator…ork Units from Kernel Command Line.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
[  OK  ] Reached target network-pre.target - Preparation for Network.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-sysctl.service - Apply Kernel Variables...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-resolved.service - Network Name Resolution...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Set up automount efi.automount - EFI System Partition Automount.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting systemd-binfmt.service - Set Up Additional Binary Formats...
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
         Starting systemd-journal-catalog-u…ervice - Rebuild Journal Catalog...
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting systemd-networkd.service - Network Configuration...
[  OK  ] Finished systemd-journal-catalog-u….service - Rebuild Journal Catalog.
[  OK  ] Found device dev-ttyS0.device - /dev/ttyS0.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting ambient.service - Run build job for Ambient CI...
         Starting dbus.service - D-Bus System Message Bus...
         Starting grub-common.service - Record successful boot for GRUB...
         Starting systemd-logind.service - User Login Management...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
[  OK  ] Finished grub-common.service - Record successful boot for GRUB.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started systemd-networkd.service - Network Configuration.
[  OK  ] Reached target network.target - Network.
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-networkd-persiste…tent Storage in systemd-networkd...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.

Debian GNU/Linux 13 ambient-dev ttyS0

ambient-dev login: [  OK  ] Stopped ambient.service - Run build job for Ambient CI.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target timers.targettopping systemd-logind.service - User Login Management...
         Stopping systemd-networkd-persiste…tent Storage in systemd-networkd...
         Stopping systemd-random-seed.service - Load/Save OS Random Seed...
[  OK  ] Stopped systemd-udev-load-credenti…- Load udev Rules from Credentials.
[  OK  ] Stopped ssh.service - OpenBSD Secure Shell server.
[  OK  ] Stopped getty@tty1.service - Getty on tty1.
[  OK  ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[  OK  ] Stopped dbus.service - D-Bus System Message Bus.
[  OK  ] Stopped systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Closed sshd-unix-local.socket - Op…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Closed systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
         Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
         Stopping systemd-networkd.service - Network Configuration...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
[  OK  ] Stopped systemd-tmpfiles-setup.ser…reate System Files and Directories.
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[  OK  ] Stopped target local-fs.target - Local File Systems.
[  OK  ] Unset automount efi.automount - EFI System Partition Automount.
[  OK  ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
[  OK  ] Stopped target network-pre.target - Preparation for Network.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
         Unmounting run-lock.mount - Legacy Locks Directory /run/lock...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Stopped systemd-network-generator.…ork Units from Kernel Command Line.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  OK  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Reached target final.target - Late Shutdown Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
[   45.350609] reboot: Power down
Raw run log
BdsDxe: 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)
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
INFO: Block devices
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sr0     11:0    1   372K  0 rom  
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   5.2M  1 disk 
vdc    254:32   0  11.9M  1 disk 
vdd    254:48   0 953.7M  0 disk 
vde    254:64   0  27.9G  0 disk 
vdf    254:80   0   100G  1 disk 
vdg    254:96   0    10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2026-08-24 15:10 ./
-rw-r--r-- _rad/_rad      2260 2026-08-24 15:11 ./plan.yaml
-rwxr-xr-x _rad/_rad   5460288 2026-08-24 15:11 ./run-ci
INFO: Extracted files:
        6      0 drwxr-xr-x   2 1000     1000           80 Aug 24 15:10 .
       10   5336 -rwxr-xr-x   1 1000     1000      5460288 Aug 24 15:11 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         2260 Aug 24 15:11 ./plan.yaml
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
{"type":"executor_starts","name":"ambient-execute-plan","version":"0.18.0@5360d3f","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":859777394}}
{"type":"trace","title":"Set environment variable \"HOME\"","msg":"\"HOME\"=\"/root\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":859812769}}
{"type":"runnable_plan","steps":[{"action":"mkdir","pathname":"/ci"},{"action":"mkdir","pathname":"/ci/artifacts"},{"action":"mkdir","pathname":"/ci/artifacts/debian"},{"action":"mkdir","pathname":"/ci/artifacts/rsync"},{"action":"mkdir","pathname":"/ci/secrets"},{"action":"mkdir","pathname":"/ci/deps"},{"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":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts"},{"action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets"},{"action":"shell","shell":"ln -sf /ci /workspace"},{"action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true},{"action":"cargo_clippy"},{"action":"shell","shell":"export CARGO_TARGET_DIR=/ci/cache\nexport CARGO_HOME=/ci/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.\nexport RAD_PASSPHRAE=secret\nrad auth --alias ambient\nenv\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 /ci/artifacts/rsync/.\n"},{"action":"custom","name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"}},{"action":"deb","packages":"debian"},{"action":"tar_create","archive":"/dev/vde","directory":"/ci/cache"},{"action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts"}],"executor_drive":"/dev/vdb","source_drive":"/dev/vdc","artifact_drive":"/dev/vdd","cache_drive":"/dev/vde","deps_drive":"/dev/vdf","secrets_drive":null,"workspace_dir":"/ci","source_dir":"/ci/src","deps_dir":"/ci/deps","cache_dir":"/ci/cache","artifacts_dir":"/ci/artifacts","secrets_dir":null,"envs":{},"timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860394906}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860459057}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860658747}}
{"type":"trace","title":"Set environment variable \"PATH\"","msg":"\"PATH\"=\"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860664832}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860870438}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":860874759}}
{"type":"trace","title":"Set environment variable \"PATH\"","msg":"\"PATH\"=\"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\"","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":861815870}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":862802324}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":864219450}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":864279752}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":918958417}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/debian\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919139249}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919169305}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/rsync\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919350499}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919377549}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919561315}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919588607}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919771540}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919796256}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdc\",\n        directory: \"/ci/src\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":919983490}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":957537060}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787584268,"nanos_since_epoch":958012196}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787584270,"nanos_since_epoch":625580778}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787584270,"nanos_since_epoch":625630519}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":601438437}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":601486264}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":609115655}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdg\",\n        directory: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":609141032}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":615821022}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"ln -sf /ci /workspace\",\n    },\n)","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":615845078}}
{"type":"trace","title":"Start program bash","msg":"Command {\n    program: \"bash\",\n    args: [\n        \"bash\",\n        \"-c\",\n        \"set -xeuo pipefail\\nln -sf /ci /workspace\\n\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":616074000}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":634099904}}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":634125392}}
{"type":"trace","title":"Execute action","msg":"CreateFile(\n    CreateFile {\n        filename: \"/root/.ssh/config\",\n        content: \"Host *\\nStrictHostKeyChecking accept-new\\nIdentityFile /ci/secrets/ssh_key\\n                \",\n        overwrite: true,\n    },\n)","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":634336950}}
{"type":"action_succeeded","action":"create_file","filename":"/root/.ssh/config","content":"Host *\nStrictHostKeyChecking accept-new\nIdentityFile /ci/secrets/ssh_key\n                ","overwrite":true,"timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":634959519}}
{"type":"trace","title":"Execute action","msg":"CargoClippy(\n    CargoClippy,\n)","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":635008341}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":635029089}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"cargo 1.98.0 (797e8a9bc 2026-08-05)\n","stderr":"","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":686381135}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"clippy\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":689286288}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"clippy 0.1.98 (88d9e12ae1 2026-08-18)\n","stderr":"","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":748155160}}
{"type":"trace","title":"Start program rustc","msg":"Command {\n    program: \"rustc\",\n    args: [\n        \"rustc\",\n        \"--version\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":751032756}}
{"type":"program_succeeded","program_name":"rustc","exit_code":0,"stdout":"rustc 1.98.0 (88d9e12ae 2026-08-18)\n","stderr":"","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":776562459}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"clippy\",\n        \"--offline\",\n        \"--locked\",\n        \"--workspace\",\n        \"--all-targets\",\n        \"--no-deps\",\n        \"--\",\n        \"--deny\",\n        \"warnings\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584278,"nanos_since_epoch":779447794}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"","stderr":"    Checking radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)\n   Compiling radicle-ci-broker v0.31.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.99s\n","timestamp":{"secs_since_epoch":1787584281,"nanos_since_epoch":846287315}}
{"type":"action_succeeded","action":"cargo_clippy","timestamp":{"secs_since_epoch":1787584281,"nanos_since_epoch":851094345}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"export CARGO_TARGET_DIR=/ci/cache\\nexport CARGO_HOME=/ci/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.\\nexport RAD_PASSPHRAE=secret\\nrad auth --alias ambient\\nenv\\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 /ci/artifacts/rsync/.\\n\",\n    },\n)","timestamp":{"secs_since_epoch":1787584281,"nanos_since_epoch":852879209}}
{"type":"trace","title":"Start program bash","msg":"Command {\n    program: \"bash\",\n    args: [\n        \"bash\",\n        \"-c\",\n        \"set -xeuo pipefail\\nexport CARGO_TARGET_DIR=/ci/cache\\nexport CARGO_HOME=/ci/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.\\nexport RAD_PASSPHRAE=secret\\nrad auth --alias ambient\\nenv\\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 /ci/artifacts/rsync/.\\n\\n\",\n    ],\n    env: CommandEnv {\n        clear: false,\n        vars: {\n            \"CARGO_HOME\": Some(\n                \"/ci/deps\",\n            ),\n            \"CARGO_TARGET_DIR\": Some(\n                \"/ci/cache/cargo-target\",\n            ),\n            \"HOME\": Some(\n                \"/root\",\n            ),\n            \"PATH\": Some(\n                \"/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\",\n            ),\n        },\n    },\n    cwd: Some(\n        \"/ci/src\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787584281,"nanos_since_epoch":866662890}}
{"type":"program_failed","program_name":"bash","exit_code":101,"stdout":"\nInitializing your Radicle 👾 identity\n\n✓ Creating your Ed25519 keypair…\n✓ Your Radicle DID is did:key:z6Mkgrox8ZR7Nifzbcv9Na15jXx64rkH2HD4Xze6E1sz6v5h. This identifies your device. Run `rad self` to show it at all times.\n✓ You're all set.\n\nTo create a Radicle repository, run `rad init` from a Git repository with at least one commit.\nTo clone a repository, run `rad clone <rid>`. For example, `rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5` clones the Radicle 'heartwood' repository.\nTo get a list of all commands, run `rad`.\nMEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=\nCARGO_TARGET_DIR=/ci/cache\nPWD=/ci/src\nSYSTEMD_EXEC_PID=372\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nMEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure\nINVOCATION_ID=dddd8ad7b964411cbe0f53d50e4e0d53\nRAD_PASSPHRAE=secret\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:3293\nPATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nOLDPWD=/\n_=/usr/bin/env\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 88 tests\ntest adapter::test::adapter_does_not_exist ... ok\ntest adapter::test::adapter_ends_ok_before_first_message ... ok\ntest adapter::test::adapter_ends_ok_before_second_message ... ok\ntest adapter::test::adapter_exits_nonzero ... ok\ntest adapter::test::adapter_has_bad_interpreter ... ok\ntest adapter::test::adapter_first_message_isnt_triggered ... ok\ntest adapter::test::adapter_is_killed_before_any_messages ... ok\ntest adapter::test::adapter_is_killed_after_second_message ... ok\ntest adapter::test::adapter_is_killed_before_first_message ... ok\ntest adapter::test::adapter_is_not_executable ... ok\ntest adapter::test::adapter_outputs_too_many_messages ... ok\ntest adapter::test::adapter_produces_as_bad_message ... ok\ntest adapter::test::adapter_redacts_sensitive_environment ... ok\ntest adapter::test::adapter_reports_success ... ok\ntest adapter::test::adapter_reports_failure ... ok\ntest broker::test::adapter_fails ... ok\ntest broker::test::executes_adapter ... ok\ntest ci_event::test::branch_created ... ok\ntest ci_event::test::branch_deleted ... ok\ntest ci_event::test::diff_refs ... ok\ntest ci_event::test::nothing_updated ... ok\ntest ci_event::test::branch_updated ... ok\ntest ci_event::test::patch_created ... ok\ntest ci_event::test::patch_updated ... ok\ntest ci_event::test::skipped ... ok\ntest ci_event::test_parsed_ref::branch ... ok\ntest ci_event::test_parsed_ref::patch ... ok\ntest ci_event::test_parsed_ref::tag ... ok\ntest config::test::parse_config_yaml ... ok\ntest config::test::parse_config_yaml_without_max_run_time ... ok\ntest filter::test::allows_all_for_default_repository ... ok\ntest filter::test::allows_all_for_main_branch ... ok\ntest filter::test::allows_all_for_right_node ... ok\ntest filter::test::allows_any_event ... ok\ntest filter::test::allows_branch_creation ... ok\ntest filter::test::allows_branch_deletion ... ok\ntest filter::test::allows_branch_update ... ok\ntest filter::test::allows_if_all_allow ... ok\ntest filter::test::allows_if_any_allows ... ok\ntest filter::test::allows_none_for_wrong_node ... ok\ntest filter::test::allows_no_event ... ok\ntest filter::test::allows_patch_creation ... ok\ntest filter::test::allows_patch_update ... ok\ntest filter::test::allows_opposite ... ok\ntest filter::test::allows_shutdown ... ok\ntest filter::test::allows_specific_patch ... ok\ntest filter::test::deserialize_yaml_nested_not ... ok\ntest filter::test::allows_wanted_tag ... ok\ntest filter::test::doesnt_allow_any_for_other_branch ... ok\ntest filter::test::doesnt_allow_any_for_other_repository ... ok\ntest filter::test::doesnt_allow_unexpected_tag ... ok\ntest filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_prefix ... ok\ntest filter::test::doesnt_allows_other_patch ... ok\ntest filter::test::doesnt_allow_unexpected_tag_even_if_wanted_is_suffix ... ok\ntest filter::test::only_allows_branch_creation ... ok\ntest filter::test::only_allows_branch_deletion ... ok\ntest filter::test::only_allows_patch_creation ... ok\ntest filter::test::only_allows_branch_update ... ok\ntest filter::test::only_allows_patch_update ... ok\ntest filter::test::yaml_roundtrip ... ok\ntest msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok\ntest msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok\ntest msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok\ntest refs::test::creates_patch_from_str ... ok\ntest refs::test::extracts_branch_namespaced_branch ... ok\ntest refs::test::namespaced_branch_from_plain ... ok\ntest refs::test::plain_branch_name ... ok\ntest refs::test::qualified_branch_name_from_plain ... ok\ntest refs::test::ref_string_from_plain_branch_name ... ok\ntest run::test::serialize_run_state ... ok\ntest sensitive::test_sensitive::debugged ... ok\ntest sensitive::test_sensitive::deser ... ok\ntest sensitive::test_sensitive::displayed ... ok\ntest sensitive::test_sensitive::ser ... ok\ntest timeoutcmd::tests::bin_false ... ok\ntest timeoutcmd::tests::bin_true ... ok\ntest msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok\ntest timeoutcmd::tests::hello_world ... ok\ntest timeoutcmd::tests::hello_world_to_stderr ... ok\ntest timeoutcmd::tests::kill ... ok\ntest timeoutcmd::tests::kill_stderr ... ok\ntest timeoutcmd::tests::pipe_through_cat ... ok\ntest timeoutcmd::tests::sleep_1 ... ok\ntest timeoutcmd::tests::sleep_for_too_long ... ok\ntest timeoutcmd::tests::yes_to_stderr ... ok\ntest timeoutcmd::tests::sleep_for_too_long_while_reading_with_realtimelines ... ok\ntest timeoutcmd::tests::yes_to_stdout ... ok\ntest timeoutcmd::tests::yes_to_stdout_while_reading_with_realtimelines ... ok\n\ntest result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.47s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 73 tests\ntest adapter_can_provide_url_for_info_on_run ... FAILED\ntest add_information_about_run_that_s_finished_in_failure_to_database ... FAILED\ntest add_information_about_run_that_s_finished_successfully_to_database ... FAILED\ntest add_information_about_run_that_s_running_to_database ... FAILED\ntest add_information_about_triggered_run_to_database ... FAILED\ntest allows_setting_minimum_log_level ... FAILED\ntest adapter_with_url_runs_successfully ... ok\ntest can_add_a_branch_creation_event_to_queue ... FAILED\ntest can_add_a_branch_deletion_event_to_queue ... FAILED\ntest can_add_a_branch_update_event_to_queue ... FAILED\ntest can_add_a_patch_creation_event_to_queue ... FAILED\ntest can_add_a_patch_update_event_to_queue ... FAILED\ntest can_add_shutdown_event_to_queue ... FAILED\ntest can_output_trigger_message_for_a_ci_run ... FAILED\ntest can_remove_all_queued_events ... FAILED\ntest can_shut_down_cleanly ... FAILED\ntest can_trigger_a_ci_run ... FAILED\ntest convert_recorded_node_events_into_ci_events ... FAILED\ntest count_in_concurrent_processes ... FAILED\ntest count_in_a_single_process ... FAILED\ntest create_a_repository ... FAILED\ntest don_t_insert_event_for_non_existent_repository ... FAILED\ntest event_synthesizer_terminates_after_first_connection ... FAILED\ntest events_can_be_queued_and_removed_from_queue ... FAILED\ntest extract_cib_log_from_journald_and_pretty_print ... FAILED\ntest fails_run_if_building_trigger_fails__but_does_not_crash ... FAILED\ntest filter_predicate_allow ... FAILED\ntest filter_predicate_and ... FAILED\ntest filter_predicate_anydelegate ... FAILED\ntest filter_predicate_branch ... FAILED\ntest filter_predicate_branchcreated ... FAILED\ntest filter_predicate_branchdeleted ... FAILED\ntest filter_predicate_branchupdated ... FAILED\ntest filter_predicate_defaultbranch ... FAILED\ntest filter_predicate_deny ... FAILED\ntest filter_predicate_hasfile ... FAILED\ntest filter_predicate_node ... FAILED\ntest filter_predicate_not ... FAILED\ntest filter_predicate_or ... FAILED\ntest filter_predicate_repository ... FAILED\ntest filter_predicate_tag ... FAILED\ntest filter_recorded_ci_events ... FAILED\ntest gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... FAILED\ntest gives_helpful_error_message_if_node_socket_can_t_be_found ... FAILED\ntest handles_adapter_failing_on_a_failed_run ... FAILED\ntest handles_adapter_failing_on_a_successful_run ... FAILED\ntest insert_events_into_queue ... FAILED\ntest insert_many_events_into_queue ... FAILED\ntest logs_adapter_stderr_output ... FAILED\ntest logs_start_and_successful_end ... FAILED\ntest logs_termination_due_to_error ... FAILED\ntest process_queued_events ... FAILED\ntest processes_empty_event_queue_successfully ... FAILED\ntest produces_a_json_status_file ... FAILED\ntest produces_a_report_page_upon_request ... FAILED\ntest queue_a_node_event_for_processing ... FAILED\ntest record_node_events ... FAILED\ntest refuses_config_with_an_unknown_field ... FAILED\ntest remove_information_about_a_run_from_the_database ... FAILED\ntest reports_it_version ... FAILED\ntest runs_adapter_on_each_type_of_event ... FAILED\ntest runs_adapter_with_configuration ... FAILED\ntest runs_adapter_without_a_report_directory ... FAILED\ntest runs_adapters_for_all_matching_triggers ... FAILED\ntest set_up_a_node ... FAILED\ntest shows_adapter_specification ... FAILED\ntest shows_json_config_as_json ... FAILED\ntest shows_yaml_config_as_json ... FAILED\ntest smoke_test__runs_adapter ... FAILED\ntest stops_if_the_node_connection_breaks ... FAILED\ntest update_and_show_information_about_run_to_running ... FAILED\ntest we_can_run_rad ... FAILED\ntest dummy_adapter_runs_successfully ... ok\n\nfailures:\n\n---- adapter_can_provide_url_for_info_on_run stdout ----\nunknown: scenario: Adapter can provide URL for info on run\n/ci/src/ci-broker.md:897:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter adapter-with-url.sh\n\nthread 'adapter_can_provide_url_for_info_on_run' (2583) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n  return: Failure\n\nthread 'adapter_can_provide_url_for_info_on_run' (2583) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:897:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter adapter-with-url.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- add_information_about_run_that_s_finished_in_failure_to_database stdout ----\nunknown: scenario: Add information about run that's finished in failure to database\n/ci/src/ci-broker.md:2325:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'add_information_about_run_that_s_finished_in_failure_to_database' (2585) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'add_information_about_run_that_s_finished_in_failure_to_database' (2585) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2325:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- add_information_about_run_that_s_finished_successfully_to_database stdout ----\nunknown: scenario: Add information about run that's finished successfully to database\n/ci/src/ci-broker.md:2302:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'add_information_about_run_that_s_finished_successfully_to_database' (2586) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'add_information_about_run_that_s_finished_successfully_to_database' (2586) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2302:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- add_information_about_run_that_s_running_to_database stdout ----\nunknown: scenario: Add information about run that's running to database\n/ci/src/ci-broker.md:2279:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'add_information_about_run_that_s_running_to_database' (2588) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'add_information_about_run_that_s_running_to_database' (2588) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2279:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- add_information_about_triggered_run_to_database stdout ----\nunknown: scenario: Add information about triggered run to database\n/ci/src/ci-broker.md:2256:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'add_information_about_triggered_run_to_database' (2589) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'add_information_about_triggered_run_to_database' (2589) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2256:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- allows_setting_minimum_log_level stdout ----\nunknown: scenario: Allows setting minimum log level\n/ci/src/ci-broker.md:1076:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'allows_setting_minimum_log_level' (2590) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'allows_setting_minimum_log_level' (2590) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1076:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_a_branch_creation_event_to_queue stdout ----\nunknown: scenario: Can add a branch creation event to queue\n/ci/src/ci-broker.md:2107:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_a_branch_creation_event_to_queue' (2592) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_a_branch_creation_event_to_queue' (2592) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2107:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_a_branch_deletion_event_to_queue stdout ----\nunknown: scenario: Can add a branch deletion event to queue\n/ci/src/ci-broker.md:2147:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_a_branch_deletion_event_to_queue' (2593) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_a_branch_deletion_event_to_queue' (2593) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2147:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_a_branch_update_event_to_queue stdout ----\nunknown: scenario: Can add a branch update event to queue\n/ci/src/ci-broker.md:2127:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_a_branch_update_event_to_queue' (2594) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_a_branch_update_event_to_queue' (2594) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2127:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_a_patch_creation_event_to_queue stdout ----\nunknown: scenario: Can add a patch creation event to queue\n/ci/src/ci-broker.md:2167:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_a_patch_creation_event_to_queue' (2595) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_a_patch_creation_event_to_queue' (2595) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2167:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_a_patch_update_event_to_queue stdout ----\nunknown: scenario: Can add a patch update event to queue\n/ci/src/ci-broker.md:2187:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_a_patch_update_event_to_queue' (2596) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_a_patch_update_event_to_queue' (2596) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2187:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_add_shutdown_event_to_queue stdout ----\nunknown: scenario: Can add shutdown event to queue\n/ci/src/ci-broker.md:2087:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_add_shutdown_event_to_queue' (2597) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_add_shutdown_event_to_queue' (2597) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2087:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_output_trigger_message_for_a_ci_run stdout ----\nunknown: scenario: Can output trigger message for a CI run\n/ci/src/ci-broker.md:2231:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_output_trigger_message_for_a_ci_run' (2598) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_output_trigger_message_for_a_ci_run' (2598) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2231:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_remove_all_queued_events stdout ----\nunknown: scenario: Can remove all queued events\n/ci/src/ci-broker.md:2058:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_remove_all_queued_events' (2599) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_remove_all_queued_events' (2599) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2058:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_shut_down_cleanly stdout ----\nunknown: scenario: Can shut down cleanly\n/ci/src/ci-broker.md:995:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_shut_down_cleanly' (2600) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_shut_down_cleanly' (2600) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:995:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- can_trigger_a_ci_run stdout ----\nunknown: scenario: Can trigger a CI run\n/ci/src/ci-broker.md:2209:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'can_trigger_a_ci_run' (2601) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'can_trigger_a_ci_run' (2601) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2209:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- convert_recorded_node_events_into_ci_events stdout ----\nunknown: scenario: Convert recorded node events into CI events\n/ci/src/ci-broker.md:2479:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'convert_recorded_node_events_into_ci_events' (2602) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'convert_recorded_node_events_into_ci_events' (2602) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2479:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- count_in_concurrent_processes stdout ----\nunknown: scenario: Count in concurrent processes\n/ci/src/ci-broker.md:1945:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'count_in_concurrent_processes' (2604) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'count_in_concurrent_processes' (2604) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1945:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- count_in_a_single_process stdout ----\nunknown: scenario: Count in a single process\n/ci/src/ci-broker.md:1832:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'count_in_a_single_process' (2603) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'count_in_a_single_process' (2603) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1832:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- create_a_repository stdout ----\nunknown: scenario: Create a repository\n/ci/src/ci-broker.md:348:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'create_a_repository' (2605) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'create_a_repository' (2605) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:348:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- don_t_insert_event_for_non_existent_repository stdout ----\nunknown: scenario: Don't insert event for non-existent repository\n/ci/src/ci-broker.md:2426:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'don_t_insert_event_for_non_existent_repository' (2606) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'don_t_insert_event_for_non_existent_repository' (2606) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2426:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- event_synthesizer_terminates_after_first_connection stdout ----\nunknown: scenario: Event synthesizer terminates after first connection\n/ci/src/ci-broker.md:1795:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'event_synthesizer_terminates_after_first_connection' (2608) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'event_synthesizer_terminates_after_first_connection' (2608) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1795:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- events_can_be_queued_and_removed_from_queue stdout ----\nunknown: scenario: Events can be queued and removed from queue\n/ci/src/ci-broker.md:2029:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'events_can_be_queued_and_removed_from_queue' (2610) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'events_can_be_queued_and_removed_from_queue' (2610) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2029:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- extract_cib_log_from_journald_and_pretty_print stdout ----\nunknown: scenario: Extract cib log from journald and pretty print\n/ci/src/ci-broker.md:2542:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'extract_cib_log_from_journald_and_pretty_print' (2611) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'extract_cib_log_from_journald_and_pretty_print' (2611) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2542:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- fails_run_if_building_trigger_fails__but_does_not_crash stdout ----\nunknown: scenario: Fails run if building trigger fails, but does not crash\n/ci/src/ci-broker.md:1113:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'fails_run_if_building_trigger_fails__but_does_not_crash' (2612) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'fails_run_if_building_trigger_fails__but_does_not_crash' (2612) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1113:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_allow stdout ----\nunknown: scenario: Filter predicate Allow\n/ci/src/ci-broker.md:1457:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_allow' (2614) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_allow' (2614) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1457:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_and stdout ----\nunknown: scenario: Filter predicate And\n/ci/src/ci-broker.md:1526:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_and' (2615) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_and' (2615) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1526:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_anydelegate stdout ----\nunknown: scenario: Filter predicate AnyDelegate\n/ci/src/ci-broker.md:1243:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_anydelegate' (2616) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_anydelegate' (2616) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1243:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_branch stdout ----\nunknown: scenario: Filter predicate Branch\n/ci/src/ci-broker.md:1319:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_branch' (2618) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_branch' (2618) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1319:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_branchcreated stdout ----\nunknown: scenario: Filter predicate BranchCreated\n/ci/src/ci-broker.md:1353:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_branchcreated' (2619) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_branchcreated' (2619) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1353:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_branchdeleted stdout ----\nunknown: scenario: Filter predicate BranchDeleted\n/ci/src/ci-broker.md:1423:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_branchdeleted' (2620) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_branchdeleted' (2620) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1423:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_branchupdated stdout ----\nunknown: scenario: Filter predicate BranchUpdated\n/ci/src/ci-broker.md:1388:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_branchupdated' (2622) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_branchupdated' (2622) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1388:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_defaultbranch stdout ----\nunknown: scenario: Filter predicate DefaultBranch\n/ci/src/ci-broker.md:1636:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_defaultbranch' (2623) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_defaultbranch' (2623) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1636:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_deny stdout ----\nunknown: scenario: Filter predicate Deny\n/ci/src/ci-broker.md:1491:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_deny' (2624) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_deny' (2624) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1491:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_hasfile stdout ----\nunknown: scenario: Filter predicate HasFile\n/ci/src/ci-broker.md:1672:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_hasfile' (2625) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_hasfile' (2625) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1672:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_node stdout ----\nunknown: scenario: Filter predicate Node\n/ci/src/ci-broker.md:1194:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_node' (2626) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_node' (2626) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1194:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_not stdout ----\nunknown: scenario: Filter predicate Not\n/ci/src/ci-broker.md:1599:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_not' (2627) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_not' (2627) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1599:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_or stdout ----\nunknown: scenario: Filter predicate Or\n/ci/src/ci-broker.md:1563:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_or' (2628) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_or' (2628) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1563:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_repository stdout ----\nunknown: scenario: Filter predicate Repository\n/ci/src/ci-broker.md:1145:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_repository' (2629) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_repository' (2629) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1145:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_predicate_tag stdout ----\nunknown: scenario: Filter predicate Tag\n/ci/src/ci-broker.md:1280:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_predicate_tag' (2630) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_predicate_tag' (2630) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1280:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- filter_recorded_ci_events stdout ----\nunknown: scenario: Filter recorded CI events\n/ci/src/ci-broker.md:2500:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'filter_recorded_ci_events' (2631) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'filter_recorded_ci_events' (2631) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2500:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file stdout ----\nunknown: scenario: Gives helpful error message if it doesn't understand its configuration file\n/ci/src/ci-broker.md:948:1:   step 1: given a Radicle node, with CI configured with not-yaml.yaml and adapter dummy.sh\n\nthread 'gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file' (2632) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file' (2632) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:948:1: step 1, given a Radicle node, with CI configured with not-yaml.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- gives_helpful_error_message_if_node_socket_can_t_be_found stdout ----\nunknown: scenario: Gives helpful error message if node socket can't be found\n/ci/src/ci-broker.md:925:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'gives_helpful_error_message_if_node_socket_can_t_be_found' (2633) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'gives_helpful_error_message_if_node_socket_can_t_be_found' (2633) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:925:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- handles_adapter_failing_on_a_failed_run stdout ----\nunknown: scenario: Handles adapter failing on a failed run\n/ci/src/ci-broker.md:648:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-failure.sh\n\nthread 'handles_adapter_failing_on_a_failed_run' (2634) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'handles_adapter_failing_on_a_failed_run' (2634) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:648:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-failure.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- handles_adapter_failing_on_a_successful_run stdout ----\nunknown: scenario: Handles adapter failing on a successful run\n/ci/src/ci-broker.md:608:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-success.sh\n\nthread 'handles_adapter_failing_on_a_successful_run' (2635) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'handles_adapter_failing_on_a_successful_run' (2635) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:608:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter failing-on-success.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- insert_events_into_queue stdout ----\nunknown: scenario: Insert events into queue\n/ci/src/ci-broker.md:1854:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'insert_events_into_queue' (2636) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'insert_events_into_queue' (2636) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1854:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- insert_many_events_into_queue stdout ----\nunknown: scenario: Insert many events into queue\n/ci/src/ci-broker.md:1881:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'insert_many_events_into_queue' (2637) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'insert_many_events_into_queue' (2637) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1881:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- logs_adapter_stderr_output stdout ----\nunknown: scenario: Logs adapter stderr output\n/ci/src/ci-broker.md:1040:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter broken-adapter.sh\n\nthread 'logs_adapter_stderr_output' (2638) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'logs_adapter_stderr_output' (2638) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1040:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter broken-adapter.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- logs_start_and_successful_end stdout ----\nunknown: scenario: Logs start and successful end\n/ci/src/ci-broker.md:2607:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'logs_start_and_successful_end' (2639) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'logs_start_and_successful_end' (2639) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2607:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- logs_termination_due_to_error stdout ----\nunknown: scenario: Logs termination due to error\n/ci/src/ci-broker.md:2630:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'logs_termination_due_to_error' (2640) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'logs_termination_due_to_error' (2640) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2630:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- process_queued_events stdout ----\nunknown: scenario: Process queued events\n/ci/src/ci-broker.md:1909:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'process_queued_events' (2641) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'process_queued_events' (2641) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1909:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- processes_empty_event_queue_successfully stdout ----\nunknown: scenario: Processes empty event queue successfully\n/ci/src/ci-broker.md:589:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh\n\nthread 'processes_empty_event_queue_successfully' (2642) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'processes_empty_event_queue_successfully' (2642) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:589:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- produces_a_json_status_file stdout ----\nunknown: scenario: Produces a JSON status file\n/ci/src/ci-broker.md:2653:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'produces_a_json_status_file' (2643) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'produces_a_json_status_file' (2643) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2653:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- produces_a_report_page_upon_request stdout ----\nunknown: scenario: Produces a report page upon request\n/ci/src/ci-broker.md:1016:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'produces_a_report_page_upon_request' (2644) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'produces_a_report_page_upon_request' (2644) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1016:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- queue_a_node_event_for_processing stdout ----\nunknown: scenario: Queue a node event for processing\n/ci/src/ci-broker.md:387:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'queue_a_node_event_for_processing' (2645) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'queue_a_node_event_for_processing' (2645) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:387:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- record_node_events stdout ----\nunknown: scenario: Record node events\n/ci/src/ci-broker.md:2458:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'record_node_events' (2646) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'record_node_events' (2646) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2458:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- refuses_config_with_an_unknown_field stdout ----\nunknown: scenario: Refuses config with an unknown field\n/ci/src/ci-broker.md:513:1:   step 1: given a Radicle node, with CI configured with buggy.yaml and adapter dummy.sh\n\nthread 'refuses_config_with_an_unknown_field' (2647) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'refuses_config_with_an_unknown_field' (2647) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:513:1: step 1, given a Radicle node, with CI configured with buggy.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- remove_information_about_a_run_from_the_database stdout ----\nunknown: scenario: Remove information about a run from the database\n/ci/src/ci-broker.md:2350:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'remove_information_about_a_run_from_the_database' (2648) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'remove_information_about_a_run_from_the_database' (2648) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2350:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- reports_it_version stdout ----\nunknown: scenario: Reports it version\n/ci/src/ci-broker.md:871:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'reports_it_version' (2649) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'reports_it_version' (2649) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:871:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- runs_adapter_on_each_type_of_event stdout ----\nunknown: scenario: Runs adapter on each type of event\n/ci/src/ci-broker.md:787:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'runs_adapter_on_each_type_of_event' (2650) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'runs_adapter_on_each_type_of_event' (2650) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:787:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- runs_adapter_with_configuration stdout ----\nunknown: scenario: Runs adapter with configuration\n/ci/src/ci-broker.md:690:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'runs_adapter_with_configuration' (2651) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'runs_adapter_with_configuration' (2651) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:690:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- runs_adapter_without_a_report_directory stdout ----\nunknown: scenario: Runs adapter without a report directory\n/ci/src/ci-broker.md:718:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh\n\nthread 'runs_adapter_without_a_report_directory' (2652) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'runs_adapter_without_a_report_directory' (2652) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:718:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- runs_adapters_for_all_matching_triggers stdout ----\nunknown: scenario: Runs adapters for all matching triggers\n/ci/src/ci-broker.md:746:1:   step 1: given a Radicle node, with CI configured with broker-with-two-triggers.yaml and adapter dummy.sh\n\nthread 'runs_adapters_for_all_matching_triggers' (2653) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'runs_adapters_for_all_matching_triggers' (2653) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:746:1: step 1, given a Radicle node, with CI configured with broker-with-two-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- set_up_a_node stdout ----\nunknown: scenario: Set up a node\n/ci/src/ci-broker.md:266:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'set_up_a_node' (2654) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'set_up_a_node' (2654) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:266:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- shows_adapter_specification stdout ----\nunknown: scenario: Shows adapter specification\n/ci/src/ci-broker.md:493:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'shows_adapter_specification' (2655) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'shows_adapter_specification' (2655) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:493:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- shows_json_config_as_json stdout ----\nunknown: scenario: Shows JSON config as JSON\n/ci/src/ci-broker.md:444:1:   step 1: given a Radicle node, with CI configured with config.json and adapter dummy.sh\n\nthread 'shows_json_config_as_json' (2656) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'shows_json_config_as_json' (2656) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:444:1: step 1, given a Radicle node, with CI configured with config.json and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- shows_yaml_config_as_json stdout ----\nunknown: scenario: Shows YAML config as JSON\n/ci/src/ci-broker.md:422:1:   step 1: given a Radicle node, with CI configured with broker-with-all-filter-kinds.yaml and adapter dummy.sh\n\nthread 'shows_yaml_config_as_json' (2657) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'shows_yaml_config_as_json' (2657) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:422:1: step 1, given a Radicle node, with CI configured with broker-with-all-filter-kinds.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- smoke_test__runs_adapter stdout ----\nunknown: scenario: Smoke test: Runs adapter\n/ci/src/ci-broker.md:549:1:   step 1: given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh\n\nthread 'smoke_test__runs_adapter' (2658) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'smoke_test__runs_adapter' (2658) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:549:1: step 1, given a Radicle node, with CI configured with broker-with-triggers.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- stops_if_the_node_connection_breaks stdout ----\nunknown: scenario: Stops if the node connection breaks\n/ci/src/ci-broker.md:972:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'stops_if_the_node_connection_breaks' (2659) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'stops_if_the_node_connection_breaks' (2659) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:972:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- update_and_show_information_about_run_to_running stdout ----\nunknown: scenario: Update and show information about run to running\n/ci/src/ci-broker.md:2378:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'update_and_show_information_about_run_to_running' (2660) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'update_and_show_information_about_run_to_running' (2660) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:2378:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n---- we_can_run_rad stdout ----\nunknown: scenario: We can run rad\n/ci/src/ci-broker.md:1733:1:   step 1: given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh\n\nthread 'we_can_run_rad' (2661) panicked at tests/subplot.rs:1:1:\nSUBPLOT_DIR must be set: NotPresent\n  return: Failure\n\nthread 'we_can_run_rad' (2661) panicked at tests/subplot.rs:1:1:\ncalled `Result::unwrap()` on an `Err` value: \"/ci/src/ci-broker.md:1733:1: step 1, given a Radicle node, with CI configured with broker.yaml and adapter dummy.sh panic'd: SUBPLOT_DIR must be set: NotPresent\"\n\n\nfailures:\n    adapter_can_provide_url_for_info_on_run\n    add_information_about_run_that_s_finished_in_failure_to_database\n    add_information_about_run_that_s_finished_successfully_to_database\n    add_information_about_run_that_s_running_to_database\n    add_information_about_triggered_run_to_database\n    allows_setting_minimum_log_level\n    can_add_a_branch_creation_event_to_queue\n    can_add_a_branch_deletion_event_to_queue\n    can_add_a_branch_update_event_to_queue\n    can_add_a_patch_creation_event_to_queue\n    can_add_a_patch_update_event_to_queue\n    can_add_shutdown_event_to_queue\n    can_output_trigger_message_for_a_ci_run\n    can_remove_all_queued_events\n    can_shut_down_cleanly\n    can_trigger_a_ci_run\n    convert_recorded_node_events_into_ci_events\n    count_in_a_single_process\n    count_in_concurrent_processes\n    create_a_repository\n    don_t_insert_event_for_non_existent_repository\n    event_synthesizer_terminates_after_first_connection\n    events_can_be_queued_and_removed_from_queue\n    extract_cib_log_from_journald_and_pretty_print\n    fails_run_if_building_trigger_fails__but_does_not_crash\n    filter_predicate_allow\n    filter_predicate_and\n    filter_predicate_anydelegate\n    filter_predicate_branch\n    filter_predicate_branchcreated\n    filter_predicate_branchdeleted\n    filter_predicate_branchupdated\n    filter_predicate_defaultbranch\n    filter_predicate_deny\n    filter_predicate_hasfile\n    filter_predicate_node\n    filter_predicate_not\n    filter_predicate_or\n    filter_predicate_repository\n    filter_predicate_tag\n    filter_recorded_ci_events\n    gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file\n    gives_helpful_error_message_if_node_socket_can_t_be_found\n    handles_adapter_failing_on_a_failed_run\n    handles_adapter_failing_on_a_successful_run\n    insert_events_into_queue\n    insert_many_events_into_queue\n    logs_adapter_stderr_output\n    logs_start_and_successful_end\n    logs_termination_due_to_error\n    process_queued_events\n    processes_empty_event_queue_successfully\n    produces_a_json_status_file\n    produces_a_report_page_upon_request\n    queue_a_node_event_for_processing\n    record_node_events\n    refuses_config_with_an_unknown_field\n    remove_information_about_a_run_from_the_database\n    reports_it_version\n    runs_adapter_on_each_type_of_event\n    runs_adapter_with_configuration\n    runs_adapter_without_a_report_directory\n    runs_adapters_for_all_matching_triggers\n    set_up_a_node\n    shows_adapter_specification\n    shows_json_config_as_json\n    shows_yaml_config_as_json\n    smoke_test__runs_adapter\n    stops_if_the_node_connection_breaks\n    update_and_show_information_about_run_to_running\n    we_can_run_rad\n\ntest result: FAILED. 2 passed; 71 failed; 0 ignored; 0 measured; 1 filtered out; finished in 2.02s\n\n\nrunning 1 test\ntest adapterlib/src/lib.rs - RunId (line 34) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.44s; merged doctests compilation took 0.44s\n\nrunning 1 test\ntest src/timeoutcmd.rs - timeoutcmd (line 21) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.68s; merged doctests compilation took 0.67s\n","stderr":"+ export CARGO_TARGET_DIR=/ci/cache\n+ CARGO_TARGET_DIR=/ci/cache\n+ export CARGO_HOME=/ci/deps\n+ CARGO_HOME=/ci/deps\n+ export HOME=/root\n+ HOME=/root\n+ export PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.radicle/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ rad --help\n+ cargo doc --workspace --no-deps\n   Compiling radicle-ci-broker v0.31.0 (/ci/src)\n    Checking radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)\n Documenting radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)\n Documenting radicle-ci-broker v0.31.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.26s\n   Generated /ci/cache/doc/radicle_ci_adapter/index.html and 5 other files\n+ export RAD_PASSPHRAE=secret\n+ RAD_PASSPHRAE=secret\n+ rad auth --alias ambient\n+ env\n+ cargo test --workspace --no-fail-fast -- --skip upgrade --test-threads 2\n   Compiling radicle-ci-adapter v0.1.0 (/ci/src/adapterlib)\n   Compiling radicle-ci-broker v0.31.0 (/ci/src)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 6.41s\n     Running unittests src/lib.rs (/ci/cache/debug/deps/radicle_ci_adapter-14de6a517d2fbd8c)\n     Running unittests src/lib.rs (/ci/cache/debug/deps/radicle_ci_broker-cd9951daf635d7cd)\n     Running unittests src/bin/cib.rs (/ci/cache/debug/deps/cib-0ca1091efdcc202b)\n     Running unittests src/bin/cibtool.rs (/ci/cache/debug/deps/cibtool-eae6d5fa7e483810)\n     Running unittests src/bin/default_branch.rs (/ci/cache/debug/deps/default_branch-f154276158aa14e2)\n     Running unittests src/bin/synthetic-events.rs (/ci/cache/debug/deps/synthetic_events-10a569f7e83b9c2e)\n     Running tests/subplot.rs (/ci/cache/debug/deps/subplot-5df44b4a6b3fa024)\nerror: test failed, to rerun pass `-p radicle-ci-broker --test subplot`\n   Doc-tests radicle_ci_adapter\n   Doc-tests radicle_ci_broker\nerror: 1 target failed:\n    `-p radicle-ci-broker --test subplot`\n","timestamp":{"secs_since_epoch":1787584304,"nanos_since_epoch":438345656}}
{"type":"action_failed","action":"shell","shell":"export CARGO_TARGET_DIR=/ci/cache\nexport CARGO_HOME=/ci/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.\nexport RAD_PASSPHRAE=secret\nrad auth --alias ambient\nenv\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 /ci/artifacts/rsync/.\n","timestamp":{"secs_since_epoch":1787584305,"nanos_since_epoch":255839233}}
ERROR: failed to execute bash
caused by: command failed: "bash"
{"type":"executor_ends_in_failure","exit_code":1,"timestamp":{"secs_since_epoch":1787584305,"nanos_since_epoch":256467697}}
EXIT CODE: 1

Post-plan VM

No log