CI run log: rad:zjxyd2A1A7FnxtC69qDfoAajfTHo

Radicle info

Trigger message
{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:zjxyd2A1A7FnxtC69qDfoAajfTHo",
    "name": "subplot",
    "description": "Capture and communicate acceptance criteria and their verification",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV",
      "did:key:z6MkkMqyfkMdn8p1LF7LbjjEPJmZGksr3cdpsvFdxKWUVfNZ"
    ]
  },
  "pusher": {
    "id": "did:key:z6Mki2ago1X2A5UWgKpoSxyCRLLhyZMwpam4T3EKvRmFTyuy",
    "alias": "callisto.liw.fi"
  },
  "before": "563ef856d0759ea42611275653bb9af02078ef79",
  "after": "563ef856d0759ea42611275653bb9af02078ef79",
  "branch": "main",
  "commits": [
    "563ef856d0759ea42611275653bb9af02078ef79",
    "49c440a36b53fe5152054f3d0936db1f551dacd9"
  ]
}
Ambient stdout
Project {
    source: TildePathBuf {
        path: "src",
    },
    expanded_source: "/tmp/.tmpqKXioB/src",
    image: TildePathBuf {
        path: "/home/_rad/ambient.qcow2",
    },
    expanded_image: "/home/_rad/ambient.qcow2",
    pre_plan: Some(
        [
            CargoFetch,
        ],
    ),
    plan: Some(
        [
            CargoFmt,
            CargoClippy,
            Shell {
                shell: "make OFFLINE=\"--offline\"\ncp -a doc/* /ci/artifacts/.\n\n# Clean up after tests and documentation building.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n",
            },
            Custom(
                Custom {
                    name: "dch",
                    args: {
                        "debemail": String("liw@liw.fi"),
                        "debfullname": String("Lars Wirzenius"),
                    },
                },
            ),
            Deb,
            Shell {
                shell: "find /ci/artifacts\n",
            },
        ],
    ),
    post_plan: Some(
        [],
    ),
    artifact_max_size: None,
    cache_max_size: None,
    dependencies_max_size: None,
}
run CI for rad:zjxyd2A1A7FnxtC69qDfoAajfTHo
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. 13 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. 90 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 99 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  5. 107 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  6. 115 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  7. 126 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  8. 141 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  9. 206 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  10. 217 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  11. 228 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  12. 241 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  13. 252 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  14. 283 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  15. 283 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  16. 287 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. 2041 ms: Program succeeded: systemctl
    • Exit code: 0
    • Stdout
    • Stderr
  18. 2089 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 Tue 2026-08-18 10:02:11 UTC; 58ms ago
       Invocation: 6c93b89f75804d16ab2098600af7e330
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 412 (code=exited, status=0/SUCCESS)
         Mem peak: 1.7M
              CPU: 27ms
      
      Aug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  19. 2158 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 Tue 2026-08-18 10:02:09 UTC; 1s ago
       Invocation: 8f742a8dcfbb4516ba92c3d54816611c
      TriggeredBy: ● systemd-networkd.socket
             Docs: man:systemd-networkd.service(8)
                   man:org.freedesktop.network1(5)
         Main PID: 326 (systemd-network)
           Status: "Processing requests..."
            Tasks: 1 (limit: 13288)
         FD Store: 0 (limit: 512)
           Memory: 3.8M (peak: 13.4M)
              CPU: 127ms
           CGroup: /system.slice/systemd-networkd.service
                   └─326 /usr/lib/systemd/systemd-networkd
      
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL
      
    • Stderr
  20. 2245 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 Tue 2026-08-18 10:02:11 UTC; 213ms ago
       Invocation: 6c93b89f75804d16ab2098600af7e330
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 412 (code=exited, status=0/SUCCESS)
         Mem peak: 1.7M
              CPU: 27ms
      
      Aug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  21. 2306 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=Tue 2026-08-18 10:02:09 UTC
      ExecMainStartTimestampMonotonic=9849063
      ExecMainExitTimestamp=Tue 2026-08-18 10:02:11 UTC
      ExecMainExitTimestampMonotonic=11352458
      ExecMainHandoffTimestamp=Tue 2026-08-18 10:02:09 UTC
      ExecMainHandoffTimestampMonotonic=9904775
      ExecMainPID=412
      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=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }
      ExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }
      Slice=system.slice
      ControlGroupId=2024
      MemoryCurrent=[not set]
      MemoryPeak=1880064
      MemorySwapCurrent=[not set]
      MemorySwapPeak=0
      MemoryZSwapCurrent=[not set]
      MemoryAvailable=11340537856
      EffectiveMemoryMax=11670540288
      EffectiveMemoryHigh=11670540288
      CPUUsageNSec=27075000
      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-networkd.service systemd-journald.socket system.slice
      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=Tue 2026-08-18 10:02:11 UTC
      StateChangeTimestampMonotonic=11354400
      InactiveExitTimestamp=Tue 2026-08-18 10:02:09 UTC
      InactiveExitTimestampMonotonic=9855107
      ActiveEnterTimestamp=Tue 2026-08-18 10:02:11 UTC
      ActiveEnterTimestampMonotonic=11354400
      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=Tue 2026-08-18 10:02:09 UTC
      ConditionTimestampMonotonic=9847848
      AssertTimestamp=Tue 2026-08-18 10:02:09 UTC
      AssertTimestampMonotonic=9848195
      Transient=no
      Perpetual=no
      StartLimitIntervalUSec=10s
      StartLimitBurst=5
      StartLimitAction=none
      FailureAction=none
      SuccessAction=none
      InvocationID=6c93b89f75804d16ab2098600af7e330
      CollectMode=inactive
      DebugInvocation=no
      
    • Stderr
  22. 2572 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 86398sec preferred_lft 86398sec
          inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll 
             valid_lft forever preferred_lft forever
      
    • Stderr
  23. 2615 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. 2662 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      ● Interfaces: 1, 2
             State: routable
      Online state: online
           Address: 10.0.2.15 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 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL
      Aug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  25. 2725 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.24 ms
      
      --- 8.8.8.8 ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.243/1.243/1.243/0.000 ms
      
    • Stderr
  26. 2800 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.13 ms
      
      --- www.google.com ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.125/1.125/1.125/0.000 ms
      
    • Stderr
  27. 2814 ms: Action succeeded: wait_online
    - action: wait_online
    
  28. 2860 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 Tue 2026-08-18 10:02:09 UTC; 2s ago
       Invocation: 8f742a8dcfbb4516ba92c3d54816611c
      TriggeredBy: ● systemd-networkd.socket
             Docs: man:systemd-networkd.service(8)
                   man:org.freedesktop.network1(5)
         Main PID: 326 (systemd-network)
           Status: "Processing requests..."
            Tasks: 1 (limit: 13288)
         FD Store: 0 (limit: 512)
           Memory: 3.8M (peak: 13.4M)
              CPU: 129ms
           CGroup: /system.slice/systemd-networkd.service
                   └─326 /usr/lib/systemd/systemd-networkd
      
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL
      
    • Stderr
  29. 2946 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 Tue 2026-08-18 10:02:11 UTC; 915ms ago
       Invocation: 6c93b89f75804d16ab2098600af7e330
             Docs: man:systemd-networkd-wait-online.service(8)
          Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)
         Main PID: 412 (code=exited, status=0/SUCCESS)
         Mem peak: 1.7M
              CPU: 27ms
      
      Aug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  30. 3035 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=Tue 2026-08-18 10:02:09 UTC
      ExecMainStartTimestampMonotonic=9849063
      ExecMainExitTimestamp=Tue 2026-08-18 10:02:11 UTC
      ExecMainExitTimestampMonotonic=11352458
      ExecMainHandoffTimestamp=Tue 2026-08-18 10:02:09 UTC
      ExecMainHandoffTimestampMonotonic=9904775
      ExecMainPID=412
      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=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }
      ExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }
      Slice=system.slice
      ControlGroupId=2024
      MemoryCurrent=[not set]
      MemoryPeak=1880064
      MemorySwapCurrent=[not set]
      MemorySwapPeak=0
      MemoryZSwapCurrent=[not set]
      MemoryAvailable=11340288000
      EffectiveMemoryMax=11670540288
      EffectiveMemoryHigh=11670540288
      CPUUsageNSec=27075000
      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-networkd.service systemd-journald.socket system.slice
      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=Tue 2026-08-18 10:02:11 UTC
      StateChangeTimestampMonotonic=11354400
      InactiveExitTimestamp=Tue 2026-08-18 10:02:09 UTC
      InactiveExitTimestampMonotonic=9855107
      ActiveEnterTimestamp=Tue 2026-08-18 10:02:11 UTC
      ActiveEnterTimestampMonotonic=11354400
      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=Tue 2026-08-18 10:02:09 UTC
      ConditionTimestampMonotonic=9847848
      AssertTimestamp=Tue 2026-08-18 10:02:09 UTC
      AssertTimestampMonotonic=9848195
      Transient=no
      Perpetual=no
      StartLimitIntervalUSec=10s
      StartLimitBurst=5
      StartLimitAction=none
      FailureAction=none
      SuccessAction=none
      InvocationID=6c93b89f75804d16ab2098600af7e330
      CollectMode=inactive
      DebugInvocation=no
      
    • Stderr
  31. 3248 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 86398sec preferred_lft 86398sec
          inet6 fec0::5054:ff:fe12:3456/64 scope site tentative dynamic mngtmpaddr noprefixroute 
             valid_lft 86400sec preferred_lft 14400sec
          inet6 fe80::5054:ff:fe12:3456/64 scope link proto kernel_ll 
             valid_lft forever preferred_lft forever
      
    • Stderr
  32. 3261 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. 3275 ms: Program succeeded: networkctl
    • Exit code: 0
    • Stdout
      ● Interfaces: 1, 2
             State: routable
      Online state: online
           Address: 10.0.2.15 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 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network
      Aug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
      Aug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2
      Aug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL
      Aug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
      
    • Stderr
  34. 3376 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.52 ms
      
      --- 8.8.8.8 ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.521/1.521/1.521/0.000 ms
      
    • Stderr
  35. 3413 ms: Program succeeded: ping
    • Exit code: 0
    • Stdout
      PING www.google.com (142.251.151.119) 56(84) bytes of data.
      64 bytes from 142.251.151.119: icmp_seq=1 ttl=255 time=1.06 ms
      
      --- www.google.com ping statistics ---
      1 packets transmitted, 1 received, 0% packet loss, time 0ms
      rtt min/avg/max/mdev = 1.057/1.057/1.057/0.000 ms
      
    • Stderr
  36. 3415 ms: Action succeeded: network_diagnostics
    - action: network_diagnostics
    
  37. 3517 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      cargo 1.97.1 (c980f4866 2026-06-30)
      
    • Stderr
  38. 3655 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (8bab26f4f6 2026-07-14)
      
    • Stderr
  39. 3716 ms: Program succeeded: rustc
    • Exit code: 0
    • Stdout
      rustc 1.97.1 (8bab26f4f 2026-07-14)
      
    • Stderr
  40. 11800 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
    • Stderr
          Updating crates.io index
       Downloading crates ...
        Downloaded tracing-log v0.2.0
        Downloaded windows-link v0.2.1
        Downloaded matchers v0.2.0
        Downloaded time-core v0.1.6
        Downloaded powerfmt v0.2.0
        Downloaded itoa v1.0.15
        Downloaded deranged v0.5.5
        Downloaded walkdir v2.5.0
        Downloaded pest_generator v2.8.4
        Downloaded tracing-attributes v0.1.31
        Downloaded unicode-ident v1.0.22
        Downloaded quote v1.0.42
        Downloaded nu-ansi-term v0.50.3
        Downloaded num-conv v0.1.0
        Downloaded winapi-util v0.1.11
        Downloaded wasi v0.11.1+wasi-snapshot-preview1
        Downloaded generic-array v0.14.7
        Downloaded cpufeatures v0.2.17
        Downloaded percent-encoding v2.3.2
        Downloaded humansize v2.1.3
        Downloaded tracing-core v0.1.36
        Downloaded valuable v0.1.1
        Downloaded once_cell v1.21.3
        Downloaded pin-project-lite v0.2.16
        Downloaded cfg-if v1.0.4
        Downloaded proc-macro2 v1.0.103
        Downloaded same-file v1.0.6
        Downloaded slug v0.1.6
        Downloaded wasm-bindgen-shared v0.2.106
        Downloaded rand_chacha v0.3.1
        Downloaded version_check v0.9.5
        Downloaded block-buffer v0.10.4
        Downloaded globwalk v0.9.1
        Downloaded log v0.4.29
        Downloaded thread_local v1.1.9
        Downloaded lazy_static v1.5.0
        Downloaded time-macros v0.2.24
        Downloaded serde_derive v1.0.228
        Downloaded serde_core v1.0.228
        Downloaded crypto-common v0.1.7
        Downloaded ucd-trie v0.1.7
        Downloaded crossbeam-deque v0.8.6
        Downloaded roadmap v0.7.0
        Downloaded unicode-linebreak v0.1.5
        Downloaded smawk v0.3.2
        Downloaded errno v0.3.14
        Downloaded sharded-slab v0.1.7
        Downloaded thiserror-impl v2.0.17
        Downloaded wasm-bindgen-macro v0.2.106
        Downloaded rand_core v0.6.4
        Downloaded ppv-lite86 v0.2.21
        Downloaded sha2 v0.10.9
        Downloaded digest v0.10.7
        Downloaded globset v0.4.18
        Downloaded marked-yaml v0.7.2
        Downloaded smallvec v1.15.1
        Downloaded memchr v2.7.6
        Downloaded thiserror v2.0.17
        Downloaded wasm-bindgen-macro-support v0.2.106
        Downloaded rustversion v1.0.22
        Downloaded ryu v1.0.20
        Downloaded getrandom v0.2.16
        Downloaded pest_derive v2.8.4
        Downloaded pest_meta v2.8.4
        Downloaded typenum v1.19.0
        Downloaded crossbeam-utils v0.8.21
        Downloaded crossbeam-epoch v0.9.18
        Downloaded bitflags v2.10.0
        Downloaded textwrap v0.16.2
        Downloaded wit-bindgen v0.46.0
        Downloaded r-efi v5.3.0
        Downloaded line-col v0.2.1
        Downloaded utf8-width v0.1.8
        Downloaded descape v3.0.0
        Downloaded colorchoice v1.0.4
        Downloaded anstyle-wincon v3.0.11
        Downloaded anstyle-query v1.1.5
        Downloaded culpa v1.0.2
        Downloaded windows-targets v0.48.5
        Downloaded as-slice v0.2.1
        Downloaded serde v1.0.228
        Downloaded wasm-bindgen v0.2.106
        Downloaded ignore v0.4.25
        Downloaded tempfile v3.23.0
        Downloaded getrandom v0.3.4
        Downloaded fastrand v2.3.0
        Downloaded arraydeque v0.5.1
        Downloaded serde_path_to_error v0.1.20
        Downloaded doc-comment v0.3.4
        Downloaded unicase v2.8.1
        Downloaded pulldown-cmark-escape v0.11.0
        Downloaded shlex v1.3.0
        Downloaded find-msvc-tools v0.1.5
        Downloaded marked-yaml v0.8.0
        Downloaded hashlink v0.10.0
        Downloaded hashbrown v0.15.5
        Downloaded foldhash v0.1.5
        Downloaded html-escape v0.2.13
        Downloaded heck v0.5.0
        Downloaded strsim v0.11.1
        Downloaded clap_lex v0.7.6
        Downloaded anstream v0.6.21
        Downloaded utf8parse v0.2.2
        Downloaded is_terminal_polyfill v1.70.2
        Downloaded once_cell_polyfill v1.70.2
        Downloaded anstyle-parse v0.2.7
        Downloaded git-testament v0.2.6
        Downloaded git-testament-derive v0.2.1
        Downloaded culpa-macros v1.0.2
        Downloaded scoped-tls v1.0.1
        Downloaded shell-words v1.1.1
        Downloaded windows-targets v0.52.6
        Downloaded cfg_aliases v0.2.1
        Downloaded cvt v0.1.2
        Downloaded aligned v0.4.3
        Downloaded stable_deref_trait v1.2.1
        Downloaded fs2 v0.4.3
        Downloaded windows-targets v0.53.5
        Downloaded libredox v0.1.11
        Downloaded unicode-segmentation v1.12.0
        Downloaded bumpalo v3.19.1
        Downloaded rand v0.8.5
        Downloaded zerocopy-derive v0.8.31
        Downloaded ahash v0.8.12
        Downloaded anyhow v1.0.100
        Downloaded getopts v0.2.24
        Downloaded clap_derive v4.5.49
        Downloaded anstyle v1.0.13
        Downloaded state v0.6.0
        Downloaded generator v0.7.5
        Downloaded normpath v1.5.0
        Downloaded filetime v0.2.26
        Downloaded redox_syscall v0.6.0
        Downloaded hashlink v0.9.1
        Downloaded pikchr v0.1.4
        Downloaded clap v4.5.53
        Downloaded remove_dir_all v1.0.0
        Downloaded fs_at v0.2.1
        Downloaded time v0.3.44
        Downloaded tera v1.20.1
        Downloaded pest v2.8.4
        Downloaded wasip2 v1.0.1+wasi-0.2.4
        Downloaded base64 v0.22.1
        Downloaded loom v0.5.6
        Downloaded serde_json v1.0.145
        Downloaded cc v1.2.49
        Downloaded tracing-subscriber v0.3.22
        Downloaded regex v1.12.2
        Downloaded libm v0.2.15
        Downloaded yaml-rust2 v0.10.4
        Downloaded aho-corasick v1.1.4
        Downloaded deunicode v1.6.2
        Downloaded pulldown-cmark v0.13.0
        Downloaded yaml-rust2 v0.9.0
        Downloaded hashbrown v0.14.5
        Downloaded syn v2.0.111
        Downloaded zerocopy v0.8.31
        Downloaded clap_builder v4.5.53
        Downloaded unicode-width v0.2.2
        Downloaded bstr v1.12.1
        Downloaded regex-syntax v0.8.8
        Downloaded rustix v1.1.2
        Downloaded nix v0.29.0
        Downloaded tracing v0.1.44
        Downloaded windows_x86_64_gnullvm v0.48.5
        Downloaded windows_aarch64_gnullvm v0.48.5
        Downloaded windows_x86_64_gnullvm v0.52.6
        Downloaded windows_i686_gnullvm v0.52.6
        Downloaded windows_aarch64_gnullvm v0.52.6
        Downloaded regex-automata v0.4.13
        Downloaded libc v0.2.178
        Downloaded windows_aarch64_gnullvm v0.53.1
        Downloaded windows_x86_64_msvc v0.48.5
        Downloaded windows_x86_64_gnullvm v0.53.1
        Downloaded windows_x86_64_gnu v0.48.5
        Downloaded windows_i686_gnullvm v0.53.1
        Downloaded windows_aarch64_msvc v0.48.5
        Downloaded windows_x86_64_msvc v0.53.1
        Downloaded windows_aarch64_msvc v0.53.1
        Downloaded windows_i686_msvc v0.48.5
        Downloaded windows_i686_gnu v0.48.5
        Downloaded windows_x86_64_msvc v0.52.6
        Downloaded windows_aarch64_msvc v0.52.6
        Downloaded windows_i686_msvc v0.53.1
        Downloaded windows_x86_64_gnu v0.52.6
        Downloaded windows_i686_gnu v0.52.6
        Downloaded windows_x86_64_gnu v0.53.1
        Downloaded windows_i686_msvc v0.52.6
        Downloaded windows_i686_gnu v0.53.1
        Downloaded winapi v0.3.9
        Downloaded encoding_rs v0.8.35
        Downloaded linux-raw-sys v0.11.0
        Downloaded windows-sys v0.61.2
        Downloaded windows-sys v0.59.0
        Downloaded windows-sys v0.60.2
        Downloaded windows-sys v0.52.0
        Downloaded winapi-i686-pc-windows-gnu v0.4.0
        Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
        Downloaded windows v0.48.0
      
  41. 11948 ms: Action succeeded: cargo_fetch
    - action: cargo_fetch
    
  42. 11961 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  43. 11974 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  44. 17981 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdf
      directory: /ci/deps
    
  45. 17986 ms: Plan succededThere was much rejoicing!
  46. 17990 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  ] 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  ] Started systemd-journald.service - Journal Service.
[  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-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.
         Mounting proc-sys-fs-binfmt_misc.m…cutable File Formats File System...
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Mounted proc-sys-fs-binfmt_misc.mo…xecutable File Formats File System.
[  OK  ] Finished systemd-binfmt.service - Set Up Additional Binary Formats.
[  OK  ] Finished systemd-update-done.service - Update is Completed.
[  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-networkd-wait-onl…ait for Network to be Configured...
         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.
[  OK  ] Finished systemd-networkd-wait-onl… Wait for Network to be Configured.

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.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 systemd-logind.service - User Login Management.
[  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 systemd-networkd-persisten…istent Storage in systemd-networkd.
[  OK  ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[  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-networkd.service - Network Configuration.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  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.
[   29.314379] 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
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   4.1M  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-18 10:01 ./
-rw-r--r-- _rad/_rad      1346 2026-08-18 10:01 ./plan.yaml
-rwxr-xr-x _rad/_rad   5460288 2026-08-18 10:01 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Aug 18 10:01 .
       10   5336 -rwxr-xr-x   1 1000     1000      5460288 Aug 18 10:01 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1346 Aug 18 10:01 ./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":1787047329,"nanos_since_epoch":27722365}}
{"type":"trace","title":"Set environment variable \"HOME\"","msg":"\"HOME\"=\"/root\"","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":31718805}}
{"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":1787047329,"nanos_since_epoch":40972667}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":86663593}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":91280250}}
{"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":1787047329,"nanos_since_epoch":95186259}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":100134707}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":104627559}}
{"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":1787047329,"nanos_since_epoch":108604409}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":113602634}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":118309947}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":121398043}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":127264056}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/debian\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":130566236}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":135202189}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/rsync\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":138734412}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":143474561}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":146804429}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":154373810}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":161135117}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":169652722}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdc\",\n        directory: \"/ci/src\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":173080460}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":234063573}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":234129750}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":245229782}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":245286274}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":256591309}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":256655032}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":269716066}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdg\",\n        directory: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":269772231}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":280687486}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"ln -sf /ci /workspace\",\n    },\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":280745661}}
{"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":1787047329,"nanos_since_epoch":281111535}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":311490767}}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":311543919}}
{"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":1787047329,"nanos_since_epoch":311562462}}
{"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":1787047329,"nanos_since_epoch":314758703}}
{"type":"trace","title":"Execute action","msg":"WaitOnline(\n    WaitOnline,\n)","timestamp":{"secs_since_epoch":1787047329,"nanos_since_epoch":315134616}}
{"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":1787047329,"nanos_since_epoch":315931691}}
{"type":"program_succeeded","program_name":"systemctl","exit_code":0,"stdout":"","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":68778350}}
{"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":1787047331,"nanos_since_epoch":68886970}}
{"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 Tue 2026-08-18 10:02:11 UTC; 58ms ago\n Invocation: 6c93b89f75804d16ab2098600af7e330\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 412 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.7M\n        CPU: 27ms\n\nAug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":117361221}}
{"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":1787047331,"nanos_since_epoch":117467818}}
{"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 Tue 2026-08-18 10:02:09 UTC; 1s ago\n Invocation: 8f742a8dcfbb4516ba92c3d54816611c\nTriggeredBy: ● systemd-networkd.socket\n       Docs: man:systemd-networkd.service(8)\n             man:org.freedesktop.network1(5)\n   Main PID: 326 (systemd-network)\n     Status: \"Processing requests...\"\n      Tasks: 1 (limit: 13288)\n   FD Store: 0 (limit: 512)\n     Memory: 3.8M (peak: 13.4M)\n        CPU: 127ms\n     CGroup: /system.slice/systemd-networkd.service\n             └─326 /usr/lib/systemd/systemd-networkd\n\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Gained carrier\nAug 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":185770912}}
{"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":1787047331,"nanos_since_epoch":185957843}}
{"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 Tue 2026-08-18 10:02:11 UTC; 213ms ago\n Invocation: 6c93b89f75804d16ab2098600af7e330\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 412 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.7M\n        CPU: 27ms\n\nAug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":272990796}}
{"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":1787047331,"nanos_since_epoch":273108260}}
{"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=Tue 2026-08-18 10:02:09 UTC\nExecMainStartTimestampMonotonic=9849063\nExecMainExitTimestamp=Tue 2026-08-18 10:02:11 UTC\nExecMainExitTimestampMonotonic=11352458\nExecMainHandoffTimestamp=Tue 2026-08-18 10:02:09 UTC\nExecMainHandoffTimestampMonotonic=9904775\nExecMainPID=412\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=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }\nExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }\nSlice=system.slice\nControlGroupId=2024\nMemoryCurrent=[not set]\nMemoryPeak=1880064\nMemorySwapCurrent=[not set]\nMemorySwapPeak=0\nMemoryZSwapCurrent=[not set]\nMemoryAvailable=11340537856\nEffectiveMemoryMax=11670540288\nEffectiveMemoryHigh=11670540288\nCPUUsageNSec=27075000\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-networkd.service systemd-journald.socket system.slice\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=Tue 2026-08-18 10:02:11 UTC\nStateChangeTimestampMonotonic=11354400\nInactiveExitTimestamp=Tue 2026-08-18 10:02:09 UTC\nInactiveExitTimestampMonotonic=9855107\nActiveEnterTimestamp=Tue 2026-08-18 10:02:11 UTC\nActiveEnterTimestampMonotonic=11354400\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=Tue 2026-08-18 10:02:09 UTC\nConditionTimestampMonotonic=9847848\nAssertTimestamp=Tue 2026-08-18 10:02:09 UTC\nAssertTimestampMonotonic=9848195\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nSuccessAction=none\nInvocationID=6c93b89f75804d16ab2098600af7e330\nCollectMode=inactive\nDebugInvocation=no\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":334466804}}
{"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":1787047331,"nanos_since_epoch":575300901}}
{"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 86398sec preferred_lft 86398sec\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":1787047331,"nanos_since_epoch":599860704}}
{"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":1787047331,"nanos_since_epoch":619210658}}
{"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":1787047331,"nanos_since_epoch":643108929}}
{"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":1787047331,"nanos_since_epoch":649972400}}
{"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              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 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL\nAug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":690272259}}
{"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":1787047331,"nanos_since_epoch":731919499}}
{"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.24 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.243/1.243/1.243/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":753682502}}
{"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":1787047331,"nanos_since_epoch":761945931}}
{"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.13 ms\n\n--- www.google.com ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.125/1.125/1.125/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":828250282}}
{"type":"action_succeeded","action":"wait_online","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":842164835}}
{"type":"trace","title":"Execute action","msg":"NetworkDiagnostics(\n    NetworkdDiagnostics,\n)","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":845190587}}
{"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":1787047331,"nanos_since_epoch":849300459}}
{"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 Tue 2026-08-18 10:02:09 UTC; 2s ago\n Invocation: 8f742a8dcfbb4516ba92c3d54816611c\nTriggeredBy: ● systemd-networkd.socket\n       Docs: man:systemd-networkd.service(8)\n             man:org.freedesktop.network1(5)\n   Main PID: 326 (systemd-network)\n     Status: \"Processing requests...\"\n      Tasks: 1 (limit: 13288)\n   FD Store: 0 (limit: 512)\n     Memory: 3.8M (peak: 13.4M)\n        CPU: 129ms\n     CGroup: /system.slice/systemd-networkd.service\n             └─326 /usr/lib/systemd/systemd-networkd\n\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: lo: Gained carrier\nAug 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":888083514}}
{"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":1787047331,"nanos_since_epoch":888243254}}
{"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 Tue 2026-08-18 10:02:11 UTC; 915ms ago\n Invocation: 6c93b89f75804d16ab2098600af7e330\n       Docs: man:systemd-networkd-wait-online.service(8)\n    Process: 412 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online (code=exited, status=0/SUCCESS)\n   Main PID: 412 (code=exited, status=0/SUCCESS)\n   Mem peak: 1.7M\n        CPU: 27ms\n\nAug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787047331,"nanos_since_epoch":974593004}}
{"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":1787047331,"nanos_since_epoch":974703681}}
{"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=Tue 2026-08-18 10:02:09 UTC\nExecMainStartTimestampMonotonic=9849063\nExecMainExitTimestamp=Tue 2026-08-18 10:02:11 UTC\nExecMainExitTimestampMonotonic=11352458\nExecMainHandoffTimestamp=Tue 2026-08-18 10:02:09 UTC\nExecMainHandoffTimestampMonotonic=9904775\nExecMainPID=412\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=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }\nExecStartEx={ path=/usr/lib/systemd/systemd-networkd-wait-online ; argv[]=/usr/lib/systemd/systemd-networkd-wait-online ; flags= ; start_time=[Tue 2026-08-18 10:02:09 UTC] ; stop_time=[Tue 2026-08-18 10:02:11 UTC] ; pid=412 ; code=exited ; status=0 }\nSlice=system.slice\nControlGroupId=2024\nMemoryCurrent=[not set]\nMemoryPeak=1880064\nMemorySwapCurrent=[not set]\nMemorySwapPeak=0\nMemoryZSwapCurrent=[not set]\nMemoryAvailable=11340288000\nEffectiveMemoryMax=11670540288\nEffectiveMemoryHigh=11670540288\nCPUUsageNSec=27075000\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-networkd.service systemd-journald.socket system.slice\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=Tue 2026-08-18 10:02:11 UTC\nStateChangeTimestampMonotonic=11354400\nInactiveExitTimestamp=Tue 2026-08-18 10:02:09 UTC\nInactiveExitTimestampMonotonic=9855107\nActiveEnterTimestamp=Tue 2026-08-18 10:02:11 UTC\nActiveEnterTimestampMonotonic=11354400\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=Tue 2026-08-18 10:02:09 UTC\nConditionTimestampMonotonic=9847848\nAssertTimestamp=Tue 2026-08-18 10:02:09 UTC\nAssertTimestampMonotonic=9848195\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nSuccessAction=none\nInvocationID=6c93b89f75804d16ab2098600af7e330\nCollectMode=inactive\nDebugInvocation=no\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":62948743}}
{"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":1787047332,"nanos_since_epoch":273359303}}
{"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 86398sec preferred_lft 86398sec\n    inet6 fec0::5054:ff:fe12:3456/64 scope site tentative dynamic mngtmpaddr noprefixroute \n       valid_lft 86400sec preferred_lft 14400sec\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":1787047332,"nanos_since_epoch":276170076}}
{"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":1787047332,"nanos_since_epoch":276302006}}
{"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":1787047332,"nanos_since_epoch":288734845}}
{"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":1787047332,"nanos_since_epoch":288853766}}
{"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              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 18 10:02:09 ambient-dev systemd[1]: Started systemd-networkd.service - Network Configuration.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Configuring with /etc/systemd/network/external.network.\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Link UP\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Gained carrier\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: Found matching .network file, based on potentially unpredictable interface name: /etc/systemd/network/external.network\nAug 18 10:02:09 ambient-dev systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...\nAug 18 10:02:09 ambient-dev systemd-networkd[326]: eth0: DHCPv4 address 10.0.2.15/24, gateway 10.0.2.2 acquired from 10.0.2.2\nAug 18 10:02:11 ambient-dev systemd-networkd[326]: eth0: Gained IPv6LL\nAug 18 10:02:11 ambient-dev systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":302775484}}
{"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":1787047332,"nanos_since_epoch":392899778}}
{"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.52 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.521/1.521/1.521/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":404372197}}
{"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":1787047332,"nanos_since_epoch":404558230}}
{"type":"program_succeeded","program_name":"ping","exit_code":0,"stdout":"PING www.google.com (142.251.151.119) 56(84) bytes of data.\n64 bytes from 142.251.151.119: icmp_seq=1 ttl=255 time=1.06 ms\n\n--- www.google.com ping statistics ---\n1 packets transmitted, 1 received, 0% packet loss, time 0ms\nrtt min/avg/max/mdev = 1.057/1.057/1.057/0.000 ms\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":441512173}}
{"type":"action_succeeded","action":"network_diagnostics","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":443383081}}
{"type":"trace","title":"Execute action","msg":"CargoFetch(\n    CargoFetch,\n)","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":444112797}}
{"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":1787047332,"nanos_since_epoch":444489923}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"cargo 1.97.1 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":545224625}}
{"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":1787047332,"nanos_since_epoch":549961602}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"clippy 0.1.97 (8bab26f4f6 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":683606594}}
{"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":1787047332,"nanos_since_epoch":692429837}}
{"type":"program_succeeded","program_name":"rustc","exit_code":0,"stdout":"rustc 1.97.1 (8bab26f4f 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":743785158}}
{"type":"trace","title":"copy cargo files to temporary place to run cargo securely","msg":"copying relevant files to /tmp/.tmprExTm3","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":743880753}}
{"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/.tmprExTm3\",\n    ),\n    create_pidfd: false,\n}","timestamp":{"secs_since_epoch":1787047332,"nanos_since_epoch":750098064}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"","stderr":"    Updating crates.io index\n Downloading crates ...\n  Downloaded tracing-log v0.2.0\n  Downloaded windows-link v0.2.1\n  Downloaded matchers v0.2.0\n  Downloaded time-core v0.1.6\n  Downloaded powerfmt v0.2.0\n  Downloaded itoa v1.0.15\n  Downloaded deranged v0.5.5\n  Downloaded walkdir v2.5.0\n  Downloaded pest_generator v2.8.4\n  Downloaded tracing-attributes v0.1.31\n  Downloaded unicode-ident v1.0.22\n  Downloaded quote v1.0.42\n  Downloaded nu-ansi-term v0.50.3\n  Downloaded num-conv v0.1.0\n  Downloaded winapi-util v0.1.11\n  Downloaded wasi v0.11.1+wasi-snapshot-preview1\n  Downloaded generic-array v0.14.7\n  Downloaded cpufeatures v0.2.17\n  Downloaded percent-encoding v2.3.2\n  Downloaded humansize v2.1.3\n  Downloaded tracing-core v0.1.36\n  Downloaded valuable v0.1.1\n  Downloaded once_cell v1.21.3\n  Downloaded pin-project-lite v0.2.16\n  Downloaded cfg-if v1.0.4\n  Downloaded proc-macro2 v1.0.103\n  Downloaded same-file v1.0.6\n  Downloaded slug v0.1.6\n  Downloaded wasm-bindgen-shared v0.2.106\n  Downloaded rand_chacha v0.3.1\n  Downloaded version_check v0.9.5\n  Downloaded block-buffer v0.10.4\n  Downloaded globwalk v0.9.1\n  Downloaded log v0.4.29\n  Downloaded thread_local v1.1.9\n  Downloaded lazy_static v1.5.0\n  Downloaded time-macros v0.2.24\n  Downloaded serde_derive v1.0.228\n  Downloaded serde_core v1.0.228\n  Downloaded crypto-common v0.1.7\n  Downloaded ucd-trie v0.1.7\n  Downloaded crossbeam-deque v0.8.6\n  Downloaded roadmap v0.7.0\n  Downloaded unicode-linebreak v0.1.5\n  Downloaded smawk v0.3.2\n  Downloaded errno v0.3.14\n  Downloaded sharded-slab v0.1.7\n  Downloaded thiserror-impl v2.0.17\n  Downloaded wasm-bindgen-macro v0.2.106\n  Downloaded rand_core v0.6.4\n  Downloaded ppv-lite86 v0.2.21\n  Downloaded sha2 v0.10.9\n  Downloaded digest v0.10.7\n  Downloaded globset v0.4.18\n  Downloaded marked-yaml v0.7.2\n  Downloaded smallvec v1.15.1\n  Downloaded memchr v2.7.6\n  Downloaded thiserror v2.0.17\n  Downloaded wasm-bindgen-macro-support v0.2.106\n  Downloaded rustversion v1.0.22\n  Downloaded ryu v1.0.20\n  Downloaded getrandom v0.2.16\n  Downloaded pest_derive v2.8.4\n  Downloaded pest_meta v2.8.4\n  Downloaded typenum v1.19.0\n  Downloaded crossbeam-utils v0.8.21\n  Downloaded crossbeam-epoch v0.9.18\n  Downloaded bitflags v2.10.0\n  Downloaded textwrap v0.16.2\n  Downloaded wit-bindgen v0.46.0\n  Downloaded r-efi v5.3.0\n  Downloaded line-col v0.2.1\n  Downloaded utf8-width v0.1.8\n  Downloaded descape v3.0.0\n  Downloaded colorchoice v1.0.4\n  Downloaded anstyle-wincon v3.0.11\n  Downloaded anstyle-query v1.1.5\n  Downloaded culpa v1.0.2\n  Downloaded windows-targets v0.48.5\n  Downloaded as-slice v0.2.1\n  Downloaded serde v1.0.228\n  Downloaded wasm-bindgen v0.2.106\n  Downloaded ignore v0.4.25\n  Downloaded tempfile v3.23.0\n  Downloaded getrandom v0.3.4\n  Downloaded fastrand v2.3.0\n  Downloaded arraydeque v0.5.1\n  Downloaded serde_path_to_error v0.1.20\n  Downloaded doc-comment v0.3.4\n  Downloaded unicase v2.8.1\n  Downloaded pulldown-cmark-escape v0.11.0\n  Downloaded shlex v1.3.0\n  Downloaded find-msvc-tools v0.1.5\n  Downloaded marked-yaml v0.8.0\n  Downloaded hashlink v0.10.0\n  Downloaded hashbrown v0.15.5\n  Downloaded foldhash v0.1.5\n  Downloaded html-escape v0.2.13\n  Downloaded heck v0.5.0\n  Downloaded strsim v0.11.1\n  Downloaded clap_lex v0.7.6\n  Downloaded anstream v0.6.21\n  Downloaded utf8parse v0.2.2\n  Downloaded is_terminal_polyfill v1.70.2\n  Downloaded once_cell_polyfill v1.70.2\n  Downloaded anstyle-parse v0.2.7\n  Downloaded git-testament v0.2.6\n  Downloaded git-testament-derive v0.2.1\n  Downloaded culpa-macros v1.0.2\n  Downloaded scoped-tls v1.0.1\n  Downloaded shell-words v1.1.1\n  Downloaded windows-targets v0.52.6\n  Downloaded cfg_aliases v0.2.1\n  Downloaded cvt v0.1.2\n  Downloaded aligned v0.4.3\n  Downloaded stable_deref_trait v1.2.1\n  Downloaded fs2 v0.4.3\n  Downloaded windows-targets v0.53.5\n  Downloaded libredox v0.1.11\n  Downloaded unicode-segmentation v1.12.0\n  Downloaded bumpalo v3.19.1\n  Downloaded rand v0.8.5\n  Downloaded zerocopy-derive v0.8.31\n  Downloaded ahash v0.8.12\n  Downloaded anyhow v1.0.100\n  Downloaded getopts v0.2.24\n  Downloaded clap_derive v4.5.49\n  Downloaded anstyle v1.0.13\n  Downloaded state v0.6.0\n  Downloaded generator v0.7.5\n  Downloaded normpath v1.5.0\n  Downloaded filetime v0.2.26\n  Downloaded redox_syscall v0.6.0\n  Downloaded hashlink v0.9.1\n  Downloaded pikchr v0.1.4\n  Downloaded clap v4.5.53\n  Downloaded remove_dir_all v1.0.0\n  Downloaded fs_at v0.2.1\n  Downloaded time v0.3.44\n  Downloaded tera v1.20.1\n  Downloaded pest v2.8.4\n  Downloaded wasip2 v1.0.1+wasi-0.2.4\n  Downloaded base64 v0.22.1\n  Downloaded loom v0.5.6\n  Downloaded serde_json v1.0.145\n  Downloaded cc v1.2.49\n  Downloaded tracing-subscriber v0.3.22\n  Downloaded regex v1.12.2\n  Downloaded libm v0.2.15\n  Downloaded yaml-rust2 v0.10.4\n  Downloaded aho-corasick v1.1.4\n  Downloaded deunicode v1.6.2\n  Downloaded pulldown-cmark v0.13.0\n  Downloaded yaml-rust2 v0.9.0\n  Downloaded hashbrown v0.14.5\n  Downloaded syn v2.0.111\n  Downloaded zerocopy v0.8.31\n  Downloaded clap_builder v4.5.53\n  Downloaded unicode-width v0.2.2\n  Downloaded bstr v1.12.1\n  Downloaded regex-syntax v0.8.8\n  Downloaded rustix v1.1.2\n  Downloaded nix v0.29.0\n  Downloaded tracing v0.1.44\n  Downloaded windows_x86_64_gnullvm v0.48.5\n  Downloaded windows_aarch64_gnullvm v0.48.5\n  Downloaded windows_x86_64_gnullvm v0.52.6\n  Downloaded windows_i686_gnullvm v0.52.6\n  Downloaded windows_aarch64_gnullvm v0.52.6\n  Downloaded regex-automata v0.4.13\n  Downloaded libc v0.2.178\n  Downloaded windows_aarch64_gnullvm v0.53.1\n  Downloaded windows_x86_64_msvc v0.48.5\n  Downloaded windows_x86_64_gnullvm v0.53.1\n  Downloaded windows_x86_64_gnu v0.48.5\n  Downloaded windows_i686_gnullvm v0.53.1\n  Downloaded windows_aarch64_msvc v0.48.5\n  Downloaded windows_x86_64_msvc v0.53.1\n  Downloaded windows_aarch64_msvc v0.53.1\n  Downloaded windows_i686_msvc v0.48.5\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 windows_i686_msvc v0.53.1\n  Downloaded windows_x86_64_gnu v0.52.6\n  Downloaded windows_i686_gnu v0.52.6\n  Downloaded windows_x86_64_gnu v0.53.1\n  Downloaded windows_i686_msvc v0.52.6\n  Downloaded windows_i686_gnu v0.53.1\n  Downloaded winapi v0.3.9\n  Downloaded encoding_rs v0.8.35\n  Downloaded linux-raw-sys v0.11.0\n  Downloaded windows-sys v0.61.2\n  Downloaded windows-sys v0.59.0\n  Downloaded windows-sys v0.60.2\n  Downloaded windows-sys v0.52.0\n  Downloaded winapi-i686-pc-windows-gnu v0.4.0\n  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0\n  Downloaded windows v0.48.0\n","timestamp":{"secs_since_epoch":1787047340,"nanos_since_epoch":828009275}}
{"type":"action_succeeded","action":"cargo_fetch","timestamp":{"secs_since_epoch":1787047340,"nanos_since_epoch":976125580}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787047340,"nanos_since_epoch":978634146}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787047340,"nanos_since_epoch":989595749}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047340,"nanos_since_epoch":989673081}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047341,"nanos_since_epoch":1903499}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787047341,"nanos_since_epoch":1997855}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787047347,"nanos_since_epoch":9684663}}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1787047347,"nanos_since_epoch":14672834}}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1787047347,"nanos_since_epoch":18195599}}
EXIT CODE: 0

Plan VM

Structured log: all OK
  1. 0 ms: Executor starts
    • Name: ambient-execute-plan
    • Version: 0.18.0@5360d3f
  2. 5 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_fmt
    - action: cargo_clippy
    - action: shell
      shell: |
        make OFFLINE="--offline"
        cp -a doc/* /ci/artifacts/.
    
        # Clean up after tests and documentation building.
        git reset --hard
        git clean -fdx
        git status --ignored
    - action: custom
      name: dch
      args:
        debemail: liw@liw.fi
        debfullname: Lars Wirzenius
    - action: deb
      packages: .
    - action: shell
      shell: |
        find /ci/artifacts
    - 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: {}
    
  3. 84 ms: Action succeeded: mkdir: /ci
    - action: mkdir
      pathname: /ci
    
  4. 91 ms: Action succeeded: mkdir: /ci/artifacts
    - action: mkdir
      pathname: /ci/artifacts
    
  5. 108 ms: Action succeeded: mkdir: /ci/artifacts/debian
    - action: mkdir
      pathname: /ci/artifacts/debian
    
  6. 118 ms: Action succeeded: mkdir: /ci/artifacts/rsync
    - action: mkdir
      pathname: /ci/artifacts/rsync
    
  7. 126 ms: Action succeeded: mkdir: /ci/secrets
    - action: mkdir
      pathname: /ci/secrets
    
  8. 133 ms: Action succeeded: mkdir: /ci/deps
    - action: mkdir
      pathname: /ci/deps
    
  9. 172 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdc
      directory: /ci/src
    
  10. 3599 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdf
      directory: /ci/deps
    
  11. 3610 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vde
      directory: /ci/cache
    
  12. 3621 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdd
      directory: /ci/artifacts
    
  13. 3632 ms: Action succeeded: tar_extract
    - action: tar_extract
      archive: /dev/vdg
      directory: /ci/secrets
    
  14. 3666 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
    • Stderr
      + ln -sf /ci /workspace
      
  15. 3671 ms: Action succeeded: shell: ln -sf /ci /workspace
    - action: shell
      shell: ln -sf /ci /workspace
    
  16. 3682 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. 3768 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      cargo 1.97.1 (c980f4866 2026-06-30)
      
    • Stderr
  18. 3904 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (8bab26f4f6 2026-07-14)
      
    • Stderr
  19. 3965 ms: Program succeeded: rustc
    • Exit code: 0
    • Stdout
      rustc 1.97.1 (8bab26f4f 2026-07-14)
      
    • Stderr
  20. 4342 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
    • Stderr
  21. 4346 ms: Action succeeded: cargo_fmt
    - action: cargo_fmt
    
  22. 4387 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      cargo 1.97.1 (c980f4866 2026-06-30)
      
    • Stderr
  23. 4473 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
      clippy 0.1.97 (8bab26f4f6 2026-07-14)
      
    • Stderr
  24. 4518 ms: Program succeeded: rustc
    • Exit code: 0
    • Stdout
      rustc 1.97.1 (8bab26f4f 2026-07-14)
      
    • Stderr
  25. 119425 ms: Program succeeded: cargo
    • Exit code: 0
    • Stdout
    • Stderr
         Compiling proc-macro2 v1.0.103
         Compiling quote v1.0.42
         Compiling unicode-ident v1.0.22
          Checking cfg-if v1.0.4
         Compiling zerocopy v0.8.31
         Compiling serde_core v1.0.228
         Compiling syn v2.0.111
          Checking memchr v2.7.6
         Compiling libc v0.2.178
         Compiling crossbeam-utils v0.8.21
         Compiling version_check v0.9.5
         Compiling ahash v0.8.12
         Compiling serde v1.0.228
          Checking once_cell v1.21.3
          Checking aho-corasick v1.1.4
          Checking regex-syntax v0.8.8
          Checking bitflags v2.10.0
         Compiling anyhow v1.0.100
         Compiling doc-comment v0.3.4
         Compiling getrandom v0.3.4
         Compiling serde_derive v1.0.228
         Compiling rustix v1.1.2
         Compiling same-file v1.0.6
         Compiling libm v0.2.15
         Compiling walkdir v2.5.0
          Checking itoa v1.0.15
         Compiling ucd-trie v0.1.7
         Compiling pest v2.8.4
         Compiling serde_json v1.0.145
         Compiling shlex v1.3.0
         Compiling thiserror v2.0.17
         Compiling find-msvc-tools v0.1.5
         Compiling pest_meta v2.8.4
         Compiling cc v1.2.49
         Compiling thiserror-impl v2.0.17
         Compiling pikchr v0.1.4
         Compiling pest_generator v2.8.4
         Compiling tracing-attributes v0.1.31
         Compiling pest_derive v2.8.4
          Checking linux-raw-sys v0.11.0
         Compiling pulldown-cmark v0.13.0
          Checking regex-automata v0.4.13
          Checking lazy_static v1.5.0
          Checking fastrand v2.3.0
         Compiling log v0.4.29
          Checking ryu v1.0.20
          Checking base64 v0.22.1
         Compiling encoding_rs v0.8.35
         Compiling arraydeque v0.5.1
         Compiling num-conv v0.1.0
         Compiling time-core v0.1.6
         Compiling time-macros v0.2.24
         Compiling crossbeam-epoch v0.9.18
          Checking tempfile v3.23.0
         Compiling hashbrown v0.14.5
         Compiling getrandom v0.2.16
          Checking regex v1.12.2
         Compiling subplot v0.14.0 (/ci/src)
         Compiling bstr v1.12.1
         Compiling foldhash v0.1.5
         Compiling unicode-width v0.2.2
         Compiling globset v0.4.18
         Compiling hashbrown v0.15.5
         Compiling rand_core v0.6.4
         Compiling hashlink v0.9.1
         Compiling crossbeam-deque v0.8.6
         Compiling serde_path_to_error v0.1.20
         Compiling ppv-lite86 v0.2.21
         Compiling culpa-macros v1.0.2
         Compiling cfg_aliases v0.2.1
         Compiling nix v0.29.0
         Compiling rand_chacha v0.3.1
         Compiling yaml-rust2 v0.9.0
         Compiling ignore v0.4.25
         Compiling hashlink v0.10.0
          Checking powerfmt v0.2.0
         Compiling unicode-linebreak v0.1.5
         Compiling smawk v0.3.2
         Compiling deunicode v1.6.2
         Compiling slug v0.1.6
         Compiling textwrap v0.16.2
         Compiling humansize v2.1.3
          Checking deranged v0.5.5
         Compiling yaml-rust2 v0.10.4
         Compiling globwalk v0.9.1
         Compiling marked-yaml v0.7.2
         Compiling rand v0.8.5
         Compiling getopts v0.2.24
         Compiling tracing-core v0.1.36
         Compiling unicase v2.8.1
         Compiling pin-project-lite v0.2.16
         Compiling utf8-width v0.1.8
         Compiling unicode-segmentation v1.12.0
         Compiling pulldown-cmark-escape v0.11.0
         Compiling percent-encoding v2.3.2
         Compiling tera v1.20.1
          Checking time v0.3.44
         Compiling html-escape v0.2.13
         Compiling tracing v0.1.44
         Compiling roadmap v0.7.0
         Compiling marked-yaml v0.8.0
          Checking culpa v1.0.2
          Checking cvt v0.1.2
         Compiling line-col v0.2.1
         Compiling descape v3.0.0
          Checking fs_at v0.2.1
         Compiling subplotlib v0.14.0 (/ci/src/subplotlib)
          Checking normpath v1.5.0
          Checking remove_dir_all v1.0.0
          Checking fs2 v0.4.3
          Checking filetime v0.2.26
          Checking shell-words v1.1.1
          Checking state v0.6.0
         Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)
          Checking subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)
          Checking utf8parse v0.2.2
          Checking anstyle-parse v0.2.7
          Checking anstyle v1.0.13
          Checking is_terminal_polyfill v1.70.2
          Checking anstyle-query v1.1.5
          Checking colorchoice v1.0.4
          Checking anstream v0.6.21
          Checking clap_lex v0.7.6
         Compiling heck v0.5.0
          Checking strsim v0.11.1
         Compiling clap_derive v4.5.49
          Checking clap_builder v4.5.53
          Checking clap v4.5.53
         Compiling git-testament-derive v0.2.1
          Checking tracing-log v0.2.0
          Checking sharded-slab v0.1.7
          Checking matchers v0.2.0
          Checking thread_local v1.1.9
          Checking smallvec v1.15.1
          Checking nu-ansi-term v0.50.3
          Checking tracing-subscriber v0.3.22
          Checking git-testament v0.2.6
          Checking subplot-bin v0.14.0 (/ci/src/bin)
          Checking subplot-seq-example v0.1.0 (/ci/src/examples/seq)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
      
  26. 119512 ms: Action succeeded: cargo_clippy
    - action: cargo_clippy
    
  27. 431301 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
      which cargo
      /root/.cargo/bin/cargo
      which dot
      /usr/bin/dot
      which plantuml
      /usr/bin/plantuml
      which python3
      /usr/bin/python3
      which rustc
      /root/.cargo/bin/rustc
      which rustfmt
      /root/.cargo/bin/rustfmt
      which tidy
      /usr/bin/tidy
      if which shellcheck; then shellcheck *.sh; fi
      /usr/bin/shellcheck
      if cargo clippy --version; then \
          cargo clippy --locked --offline --workspace --all-targets -- -Dwarnings && \
      	cd examples/seq && cargo clippy --workspace --all-targets -- -Dwarnings; \
      fi
      clippy 0.1.97 (8bab26f4f6 2026-07-14)
      rm -rf "/ci/src/inst"
      cargo install --target x86_64-unknown-linux-musl --locked --offline --path=bin --root="/ci/src/inst" --debug
      mv "/ci/src/inst"/bin/* "/ci/src/inst"
      rm -rf "/ci/src/inst"/.crate*  "/ci/src/inst"/bin
      cd share/python/template && python3 context_tests.py
      cd share/python/template && python3 encoding_tests.py
      env SUBPLOT_DIR="/ci/src/inst" cargo test --target x86_64-unknown-linux-musl --workspace -- 
      
      running 108 tests
      test bindings::test_binding::creates_new ... ok
      test bindings::test_binding::does_not_match_with_wrong_kind ... ok
      test bindings::test_binding::case_sensitive_mismatch ... ok
      test bindings::test_binding::does_not_match_with_wrong_text ... ok
      test bindings::test_binding::match_with_fixed_pattern ... ok
      test bindings::test_binding::equal ... ok
      test bindings::test_binding::not_equal ... ok
      test bindings::test_bindings::add_from_yaml_notices_multiple_keywords ... ok
      test bindings::test_bindings::adds_binding ... ok
      test bindings::test_binding::match_with_regex ... ok
      test bindings::test_bindings::does_not_find_match_for_unmatching_kind ... ok
      test bindings::test_bindings::does_not_find_match_for_unmatching_pattern ... ok
      test bindings::test_bindings::finds_match_for_fixed_string_pattern ... ok
      test bindings::test_bindings::finds_match_for_regexp_pattern ... ok
      test bindings::test_bindings::has_no_bindings_initially ... ok
      test bindings::test_bindings::two_matching_bindings ... ok
      test bindings::test_bindings::adds_from_yaml ... ok
      test bindings::test_bindings::typemap_must_match_pattern ... ok
      test bindings::test_regex_from_simple_pattern::returns_boring_pattern_as_is ... ok
      test bindings::test_regex_from_simple_pattern::kindless_simple_pattern ... ok
      test bindings::test_regex_from_simple_pattern::returns_error_for_stray_closing_brace ... ok
      test bindings::test_regex_from_simple_pattern::returns_empty_string_as_is ... ok
      test bindings::test_regex_from_simple_pattern::returns_error_for_stray_closing_brace_before_capture ... ok
      test bindings::test_regex_from_simple_pattern::returns_error_for_stray_opening_brace_before_capture ... ok
      test bindings::test_regex_from_simple_pattern::returns_error_for_stray_opening_brace ... ok
      test bindings::test_regex_from_simple_pattern::returns_pattern_with_regexp_chars_escaped ... ok
      test bindings::test_regex_from_simple_pattern::simple_int_pattern ... ok
      test bindings::test_regex_from_simple_pattern::simple_number_pattern ... ok
      test bindings::test_regex_from_simple_pattern::simple_text_pattern ... ok
      test bindings::test_regex_from_simple_pattern::simple_word_pattern ... ok
      test bindings::test_regex_from_simple_pattern::typemap_and_pattern_kind_must_match ... ok
      test bindings::test_regex_from_simple_pattern::typemap_checked_on_pattern_parse_and_default_agrees ... ok
      test bindings::test_regex_from_simple_pattern::typemap_updated_on_pattern_parse_default ... ok
      test bindings::test_regex_from_simple_pattern::typemap_updated_on_pattern_parse_explicit ... ok
      test bindings::test_regex_from_simple_pattern::typemap_used_when_kind_not_present ... ok
      test blockattr::test::empty_braces ... ok
      test blockattr::test::empty_string ... ok
      test blockattr::test::just_word ... ok
      test blockattr::test::open_brace_without_close ... ok
      test blockattr::test::parse_one_dotted_word ... ok
      test blockattr::test::parse_one_id ... ok
      test blockattr::test::parse_one_kv ... ok
      test blockattr::test::parse_one_kv_with_double_quotes ... ok
      test blockattr::test::parse_one_kv_with_single_quotes ... ok
      test blockattr::test::parse_one_word ... ok
      test blockattr::test::two_ids ... ok
      test blockattr::test::two_words ... ok
      test codegen::test::verify_commentsafe_filter ... ok
      test codegen::test::verify_name_slugification ... ok
      test html::test_tag::can_self_close ... ok
      test html::test_tag::cannot_self_close ... ok
      test matches::test::returns_text ... ok
      test matches::test::returns_uncaptured ... ok
      test matches::test_partial_steps::different_captured_texts_dont_match ... ok
      test matches::test_partial_steps::different_uncaptured_texts_dont_match ... ok
      test matches::test_partial_steps::differently_captured_texts_dont_match ... ok
      test matches::test_partial_steps::differently_named_captured_texts_dont_match ... ok
      test matches::test_partial_steps::identical_captured_texts_match ... ok
      test matches::test_partial_steps::identical_uncaptured_texts_match ... ok
      test md::test::finds_block_classes ... ok
      test md::test::finds_embedded_files ... ok
      test md::test::finds_images ... ok
      test md::test::finds_no_blocks_in_empty_doc ... ok
      test md::test::finds_no_classes_when_no_blocks_have_them ... ok
      test md::test::finds_no_embedded_files_in_empty_doc ... ok
      test md::test::finds_no_images_in_empty_doc ... ok
      test md::test::finds_no_scenarios_in_empty_doc ... ok
      test md::test::finds_scenarios ... ok
      test md::test::loads_empty_doc ... ok
      test md::test::parses_auto_as_auto ... ok
      test md::test::parses_empty_as_error ... ok
      test md::test::parses_garbage_as_error ... ok
      test md::test::parses_no_as_no ... ok
      test md::test::parses_no_auto_newline_as_auto ... ok
      test md::test::parses_yes_as_yes ... ok
      test md::test_extract::returns_error_if_scenario_has_no_title ... ok
      test md::test_extract::returns_nothing_if_there_is_no_scenario ... ok
      test md::test_extract::returns_parent_section_with_scenario_snippet ... ok
      test md::test_extract::returns_scenario_if_there_is_one ... ok
      test md::test_extract::skips_scenarioless_deeper_headings ... ok
      test md::test_extract::skips_scenarioless_parent_heading ... ok
      test md::test_extract::skips_scenarioless_section_in_favour_of_same_level ... ok
      test metadata::test::full_meta ... ok
      test scenarios::filtertest::exclude_slow ... ok
      test scenarios::filtertest::exclude_unimportant_slow ... ok
      test scenarios::filtertest::include_all ... ok
      test scenarios::filtertest::include_fast ... ok
      test scenarios::filtertest::include_none ... ok
      test scenarios::test::adds_step ... ok
      test scenarios::test::has_no_steps_initially ... ok
      test scenarios::test::has_title ... ok
      test steps::test::fails_to_parse_and ... ok
      test steps::test::parses_and ... ok
      test steps::test::parses_given ... ok
      test steps::test::parses_given_with_extra_spaces ... ok
      test steps::test::parses_then ... ok
      test steps::test::parses_when ... ok
      test steps::test_steps_parser::empty_string ... ok
      test steps::test_steps_parser::preserve_nonascii_whitespace ... ok
      test steps::test_steps_parser::simple ... ok
      test steps::test_steps_parser::two_simple ... ok
      test templatespec::test::new_from_yaml ... ok
      test toc::test_numberer::numbering ... ok
      test toc::test_slugs::short_and_simple ... ok
      test toc::test_slugs::unique_for_identical_simple_headings ... ok
      test toc::test_toc::iterate ... ok
      test toc::test_toc::uses_given_slug ... ok
      test bindings::test_regex_from_simple_pattern::simple_uint_pattern ... ok
      
      test result: ok. 108 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
      
      
      running 1 test
      test bindings_microbenchmark ... ok
      
      test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.60s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 4 tests
      test no_arguments ... ok
      test more_than_one_number ... ok
      test not_a_number ... ok
      test one_number ... ok
      
      test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 7 tests
      test create_on_disk_files_from_embedded_files ... ok
      test directories ... ok
      test file_and_directory_removal ... ok
      test file_equality ... ok
      test file_metadata ... ok
      test file_modification_time ... ok
      test file_contents ... ok
      
      test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
      
      
      running 21 tests
      test check_stderr_doesn_t_contain_sub_string ... ok
      test check_stderr_doesn_t_match_regular_expressions ... ok
      test check_stderr_is_not_exactly_something ... ok
      test check_stderr_is_exactly_as_wanted ... ok
      test check_stderr_using_regular_expressions ... ok
      test check_stderr_using_sub_string_search ... ok
      test check_stdout_doesn_t_contain_sub_string ... ok
      test check_stdout_is_exactly_as_wanted ... ok
      test check_stdout_doesn_t_match_regular_expression ... ok
      test check_stdout_is_not_exactly_something ... ok
      test check_stdout_using_sub_string_search ... ok
      test check_stdout_using_regular_expressions ... ok
      test check_we_can_prepend_to__path ... ok
      test execution_in_a_sub_directory_does_not_affect_home ... ok
      test failed_execution ... ok
      test failed_execution_in_a_sub_directory ... ok
      test stdin_comes_from_a_named_file ... ok
      test stdin_contains_exactly ... ok
      test setting_and_clearing_of_environment_variables ... ok
      test successful_execution ... ok
      test successful_execution_in_a_sub_directory ... ok
      
      test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
      
      
      running 28 tests
      test capture_using_regular_expressions ... ok
      test all_the_keywords ... ok
      test capture_using_simple_patterns ... ok
      test cleanup_functions_get_called_on_failure__python_ ... ok
      test code_generator_gives_an_error_if_input_document_lacks_title ... ok
      test cleanup_functions_gets_called_on_success__python_ ... ok
      test examples_are_not_files ... ok
      test empty_lines_in_scenarios ... ok
      test files_not_in_current_working_directory ... ok
      test lowest_level_heading_is_name_of_scenario ... ok
      test missing_functions_file ... ok
      test misuse_of_continuation_keywords ... ok
      test next_heading_at_higher_level_starts_new_scenario ... ok
      test no_scenarios_means_codegen_fails ... ok
      test no_template_means_you_can_docgen_but_not_codegen ... ok
      test next_heading_at_same_level_starts_new_scenario ... ok
      test recall_values_for_use_in_later_steps ... ok
      test running_only_chosen_scenarios_with_python ... ok
      test simple_patterns_with_regex_metacharacters__allowed_case ... ok
      test simple_patterns_with_regex_metacharacters__forbidden_case ... ok
      test set_environment_variables_in_generated_test_programs ... ok
      test steps_which_do_not_case_sensitively_match_sensitive_bindings_do_not_work ... ok
      test steps_which_do_not_match_bindings_do_not_work ... ok
      test steps_which_match_more_than_one_binding_do_not_work ... ok
      test smoke_test ... ok
      test subheadings_don_t_start_new_scenario ... ok
      test subplot_accepts_title_and_headings_with_inline_markup ... ok
      test temporary_files_in_scenarios_in_python ... ok
      
      test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.10s
      
      
      running 4 tests
      test pikchr ... ok
      test dot ... ok
      test roadmap ... ok
      test plantuml ... ok
      
      test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.28s
      
      
      running 28 tests
      test bad__add_newline__value ... ok
      test attempt_to_use_definition_list ... ok
      test class_name_validation ... ok
      test date_given_in_metadata ... ok
      test date_given_on_command_line ... ok
      test document_generator_gives_an_error_if_input_document_lacks_title ... ok
      test dot ... ok
      test css_urls ... ok
      test embedded_css ... ok
      test examples_may_be_unused ... ok
      test extract_embedded_file ... ok
      test fail_if_embedded_file_isn_t_used ... ok
      test fail_if_two_filenames_only_differ_in_case ... ok
      test empty_lines_in_scenarios ... ok
      test files_not_in_current_working_directory ... ok
      test missing_bindings_file ... ok
      test multiple_markdown_files ... ok
      test indented_scenario_steps_are_not_allowed ... ok
      test no_date_anywhere ... ok
      test no_template_means_you_can_docgen_but_not_codegen ... ok
      test pikchr ... ok
      test named_code_blocks_must_have_an_appropriate_class ... ok
      test roadmap ... ok
      test scenario_before_the_first_heading ... ok
      test smoke_test ... ok
      test subplot_accepts_title_and_headings_with_inline_markup ... ok
      test title_markup ... ok
      test plantuml ... ok
      
      test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.77s
      
      
      running 1 test
      test extract_embedded_files ... ok
      
      test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
      
      
      running 5 tests
      test duplicate_scenario_titles ... ok
      test extracting_metadata_from_a_document ... ok
      test list_embedded_files ... ok
      test scenario_titles ... ok
      test files_not_in_current_working_directory ... ok
      
      test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
      
      
      running 64 tests
      test attempt_to_use_definition_list ... ok
      test bad__add_newline__value ... ok
      test all_the_keywords ... ok
      test capture_using_regular_expressions ... ok
      test class_name_validation ... ok
      test cleanup_functions_get_called_on_failure__python_ ... ok
      test capture_using_simple_patterns ... ok
      test code_generator_gives_an_error_if_input_document_lacks_title ... ok
      test cleanup_functions_gets_called_on_success__python_ ... ok
      test date_given_in_metadata ... ok
      test date_given_on_command_line ... ok
      test document_generator_gives_an_error_if_input_document_lacks_title ... ok
      test css_urls ... ok
      test dot ... ok
      test embedded_css ... ok
      test duplicate_scenario_titles ... ok
      test examples_are_not_files ... ok
      test examples_may_be_unused ... ok
      test extract_embedded_file ... ok
      test extract_embedded_file__automatically_add_missing_newline ... ok
      test extract_embedded_file__by_default_add_missing_newline ... ok
      test extract_embedded_file__by_default_do_not_add_a_second_newline ... ok
      test extract_embedded_file__do_not_add_missing_newline ... ok
      test extract_embedded_file__do_not_automatically_add_second_newline ... ok
      test extract_embedded_file__explicitly_add_missing_newline ... ok
      test extract_embedded_file__explicitly_add_second_newline ... ok
      test extract_embedded_files ... ok
      test empty_lines_in_scenarios ... ok
      test fail_if_embedded_file_isn_t_used ... ok
      test fail_if_the_same_filename_is_used_twice ... ok
      test fail_if_two_filenames_only_differ_in_case ... ok
      test extracting_metadata_from_a_document ... ok
      test indented_scenario_steps_are_not_allowed ... ok
      test list_embedded_files ... ok
      test files_not_in_current_working_directory ... ok
      test missing_bindings_file ... ok
      test lowest_level_heading_is_name_of_scenario ... ok
      test missing_functions_file ... ok
      test multiple_markdown_files ... ok
      test named_code_blocks_must_have_an_appropriate_class ... ok
      test misuse_of_continuation_keywords ... ok
      test next_heading_at_higher_level_starts_new_scenario ... ok
      test no_date_anywhere ... ok
      test no_scenarios_means_codegen_fails ... ok
      test no_template_means_you_can_docgen_but_not_codegen ... ok
      test pikchr ... ok
      test next_heading_at_same_level_starts_new_scenario ... ok
      test recall_values_for_use_in_later_steps ... ok
      test roadmap ... ok
      test running_only_chosen_scenarios_with_python ... ok
      test scenario_before_the_first_heading ... ok
      test scenario_titles ... ok
      test set_environment_variables_in_generated_test_programs ... ok
      test simple_patterns_with_regex_metacharacters__allowed_case ... ok
      test simple_patterns_with_regex_metacharacters__forbidden_case ... ok
      test smoke_test ... ok
      test steps_which_do_not_case_sensitively_match_sensitive_bindings_do_not_work ... ok
      test steps_which_do_not_match_bindings_do_not_work ... ok
      test steps_which_match_more_than_one_binding_do_not_work ... ok
      test subheadings_don_t_start_new_scenario ... ok
      test subplot_accepts_title_and_headings_with_inline_markup ... ok
      test plantuml ... ok
      test title_markup ... ok
      test temporary_files_in_scenarios_in_python ... ok
      
      test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s
      
      
      running 3 tests
      test embedded_files ... ok
      test data_directory ... ok
      test fundamentals ... ok
      
      test result: ok. 3 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 6 tests
      test src/bindings.rs - bindings::BindingImpl::cleanup (line 163) ... ignored
      test src/bindings.rs - bindings::BindingImpl::function (line 151) ... ignored
      test src/bindings.rs - bindings::BindingImpl::new (line 137) ... ignored
      test src/diagrams.rs - diagrams::PikchrMarkup (line 116) ... ok
      test src/diagrams.rs - diagrams::DotMarkup (line 149) ... ok
      test src/diagrams.rs - diagrams::PlantumlMarkup (line 198) ... ok
      
      test result: ok. 3 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 4.41s
      
      
      running 73 tests
      test subplotlib/src/file.rs - file::SubplotDataFile (line 20) ... ok
      test subplotlib/src/file.rs - file::SubplotDataFile::data (line 120) ... ok
      test subplotlib/src/file.rs - file::SubplotDataFile::name (line 105) ... ok
      test subplotlib/src/prelude.rs - prelude (line 6) ... ok
      test subplotlib/src/file.rs - file::SubplotDataFile::new (line 76) ... ok
      test subplotlib/src/prelude.rs - prelude::step (line 100) ... ok
      test subplotlib/src/prelude.rs - prelude::throws (line 26) ... ok
      test subplotlib/src/prelude.rs - prelude::step (line 73) ... ok
      test subplotlib/src/prelude.rs - prelude::throws (line 39) ... ok
      test subplotlib/src/scenario.rs - scenario::Scenario (line 305) ... ok
      test subplotlib/src/step.rs - step::ScenarioStep (line 24) ... ok
      test subplotlib/src/steplibrary/datadir.rs - steplibrary::datadir::datadir_has_enough_space::call (line 160) ... ignored
      test subplotlib/src/steplibrary/datadir.rs - steplibrary::datadir::datadir_has_enough_space_megabytes::call (line 171) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::_create_from_embedded_with_other_name_executable::call (line 129) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::create_executable_from_embedded::call (line 93) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::create_executable_from_embedded_with_other_name::call (line 111) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_embedded::call (line 56) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_embedded_with_other_name::call (line 70) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_text::call (line 220) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_and_embedded_file_do_not_match::call (line 469) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_and_embedded_file_match::call (line 443) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_contains::call (line 341) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_do_not_match::call (line 417) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_does_not_exist::call (line 296) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_doesnt_contain::call (line 357) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_exists::call (line 276) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_match::call (line 390) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::file_matches_regex::call (line 374) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::has_different_metadata::call (line 544) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::has_remembered_metadata::call (line 505) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::make_directory::call (line 609) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::mtime_is_ancient::call (line 593) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::mtime_is_recent::call (line 577) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::only_these_exist::call (line 322) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::path_does_not_exist::call (line 659) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::path_exists::call (line 642) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::path_is_empty::call (line 678) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::path_is_not_empty::call (line 696) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::remember_metadata::call (line 231) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_directory::call (line 619) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_empty_directory::call (line 630) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_file::call (line 181) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::touch::call (line 255) ... ignored
      test subplotlib/src/steplibrary/files.rs - steplibrary::files::touch_with_timestamp::call (line 193) ... ignored
      test subplotlib/src/steplibrary.rs - steplibrary (line 10) ... ok
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is::call (line 403) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_nonzero::call (line 442) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_not::call (line 419) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_zero::call (line 431) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::helper_script::call (line 227) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::helper_srcdir_path::call (line 241) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::run::call (line 254) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::run_in::call (line 271) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::set_environment_variable::call (line 677) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_contains::call (line 594) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_doesnt_contain::call (line 607) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_doesnt_match_regex::call (line 663) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_is::call (line 542) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_isnt::call (line 555) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_matches_regex::call (line 649) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdin_from_file::call (line 480) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdin_is::call (line 502) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_contains::call (line 568) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_doesnt_contain::call (line 581) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_doesnt_match_regex::call (line 635) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_is::call (line 516) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_isnt::call (line 529) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_matches_regex::call (line 621) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::try_to_run::call (line 285) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::try_to_run_in::call (line 298) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::unset_environment_variable::call (line 691) ... ignored
      test subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::Runcmd::join_paths (line 155) ... ok
      test subplotlib/src/utils.rs - utils::base64_decode (line 9) ... ok
      
      test result: ok. 14 passed; 0 failed; 59 ignored; 0 measured; 0 filtered out; finished in 4.55s
      
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      
      running 21 tests
      test subplotlib/steps/src/subplot.rs - subplot::cleanup_was_not_run::call (line 152) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::cleanup_was_run::call (line 138) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::do_nothing::call (line 24) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::file_ends_in_one_newline::call (line 176) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::file_ends_in_two_newlines::call (line 186) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::file_ends_in_zero_newlines::call (line 168) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::install_subplot::call (line 29) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::json_output_matches_file::call (line 196) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::scenario_was_not_run::call (line 111) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::scenario_was_run::call (line 104) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::step_was_run::call (line 118) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::step_was_run_and_then::call (line 125) ... ignored
      test subplotlib/steps/src/subplot.rs - subplot::uninstall_subplot::call (line 99) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::a_trivial_cleanup::call (line 14) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::a_trivial_setup::call (line 9) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::acquire_file_content::call (line 37) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::check_contents::call (line 51) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::check_counter::call (line 32) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::increment_counter::call (line 17) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::internal_check_counter::call (line 22) ... ignored
      test subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::remember_target::call (line 42) ... ignored
      
      test result: ok. 0 passed; 0 failed; 21 ignored; 0 measured; 0 filtered out; finished in 0.00s
      
      all doctests ran in 0.48s; merged doctests compilation took 0.47s
      /ci/src/inst/subplot --resources /ci/src/share codegen subplot.subplot -o test.py --template python
      rm -f test.log
      python3 test.py --log test.log --env SUBPLOT_DIR=/ci/src/inst 
      srcdir /ci/src
      datadir /tmp/tmppysc_ba5
      scenario: Indented scenario steps are not allowed
        step 1: given file indented-step.subplot
        step 2: given file indented-step.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I try to run subplot docgen indented-step.subplot -o foo.html
        step 6: then command fails
        step 7: then stderr contains "indented"
        cleanup 4: given an installed subplot
      scenario: List embedded files
        step 1: given file two-embedded.subplot
        step 2: given file two-embedded.md
        step 3: given an installed subplot
        step 4: when I run subplot metadata --merciful two-embedded.subplot
        step 5: then stdout contains "foo.txt"
        step 6: then stdout contains "bar.yaml"
        cleanup 3: given an installed subplot
      scenario: Extract embedded file, explicitly add second newline
        step 1: given file add-has-newline.txt
        step 2: then add-has-newline.txt ends in two newlines
      scenario: No template means you can docgen but not codegen
        step 1: given file notemplate.subplot
        step 2: given file notemplate.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen notemplate.subplot -o notemplate.html
        step 5: then file notemplate.html exists
        step 6: when I try to run subplot codegen notemplate.subplot -o test.py
        step 7: then command fails
        step 8: then stderr contains "document has no template"
        cleanup 3: given an installed subplot
      scenario: Class name validation
        step 1: given file unknown-class-name.subplot
        step 2: given file unknown-class-name.md
        step 3: given file known-class-name.subplot
        step 4: given file known-class-name.md
        step 5: given file b.yaml
        step 6: given an installed subplot
        step 7: when I try to run subplot docgen unknown-class-name.subplot -o unknown-class-name.html
        step 8: then command fails
        step 9: then file unknown-class-name.html does not exist
        step 10: then stderr contains "Unknown classes found in the document: foobar"
        step 11: when I run subplot docgen known-class-name.subplot -o known-class-name.html
        step 12: then file known-class-name.html exists
        cleanup 6: given an installed subplot
      scenario: Duplicate scenario titles
        step 1: given file duplicate-scenario-titles.subplot
        step 2: given file duplicate-scenario-titles.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I try to run subplot metadata duplicate-scenario-titles.subplot
        step 7: then command fails
        step 8: then stderr contains "duplicate"
        cleanup 5: given an installed subplot
      scenario: Simple patterns with regex metacharacters: forbidden case
        step 1: given file confusedpattern.subplot
        step 2: given file confusedpattern.md
        step 3: given file confusedpattern.yaml
        step 4: given file capture.py
        step 5: given an installed subplot
        step 6: when I try to run subplot codegen --run confusedpattern.subplot -o test.py
        step 7: then command fails
        step 8: then stderr contains "simple pattern contains regex"
        cleanup 5: given an installed subplot
      scenario: Named code blocks must have an appropriate class
        step 1: given file named-code-blocks-appropriate.subplot
        step 2: given file named-code-blocks-appropriate.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I try to run subplot docgen named-code-blocks-appropriate.subplot -o foo.html
        step 6: then command fails
        step 7: then stderr contains "#example-1 at named-code-blocks-appropriate.md:7:1"
        step 8: then stderr doesn't contain "example-2"
        step 9: then stderr doesn't contain "example-3"
        cleanup 4: given an installed subplot
      scenario: Pikchr
        step 1: given file pikchr.subplot
        step 2: given file pikchr.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen pikchr.subplot -o pikchr.html
        step 5: then file pikchr.html matches regex /src="data:image/svg\\+xml;base64,/
        cleanup 3: given an installed subplot
      scenario: Next heading at same level starts new scenario
        step 1: given file samelevelisnewscenario.subplot
        step 2: given file samelevelisnewscenario.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run samelevelisnewscenario.subplot -o test.py
        step 7: then scenario "heading 1.1.1" was run
        step 8: then scenario "heading 1.1.2" was run
        step 9: then command is successful
        cleanup 5: given an installed subplot
      scenario: Extract embedded file, by default add missing newline
        step 1: given file default-without-newline.txt
        step 2: then default-without-newline.txt ends in one newline
      scenario: Attempt to use definition list
        step 1: given an installed subplot
        step 2: given file dl.subplot
        step 3: given file dl.md
        step 4: when I try to run subplot docgen dl.subplot -o /dev/null
        step 5: then command fails
        step 6: then stderr contains "ERROR dl.md:3:1: attempt to use definition lists in Markdown"
        cleanup 1: given an installed subplot
      scenario: Steps which match more than one binding do not work
        step 1: given file twobindings.subplot
        step 2: given file twobindings.md
        step 3: given file twobindings.yaml
        step 4: given file a_function.py
        step 5: given an installed subplot
        step 6: when I try to run subplot codegen --run twobindings.subplot -o test.py
        step 7: then command fails
        step 8: then stderr contains "xyzzy"
        step 9: then stderr contains "plugh"
        cleanup 5: given an installed subplot
      scenario: Extracting metadata from a document
        step 1: given file images.subplot
        step 2: given file images.md
        step 3: given file b.yaml
        step 4: given file other.yaml
        step 5: given file f.py
        step 6: given file other.py
        step 7: given file expected.json
        step 8: given an installed subplot
        step 9: when I run subplot metadata images.subplot
        step 10: then stdout contains "source: images.md"
        step 11: then stdout contains "source: b.yaml"
        step 12: then stdout contains "source: other.yaml"
        step 13: then stdout contains "source: f.py"
        step 14: then stdout contains "source: other.py"
        step 15: then stdout contains "source: image.gif"
        step 16: then stdout contains "bindings: b.yaml"
        step 17: then stdout contains "bindings: other.yaml"
        step 18: then stdout contains "functions[python]: f.py"
        step 19: when I run subplot metadata images.subplot -o json
        step 20: then JSON output matches expected.json
        cleanup 8: given an installed subplot
      scenario: Missing bindings file
        step 1: given file missing-binding.subplot
        step 2: given file missing-binding.md
        step 3: given an installed subplot
        step 4: when I try to run subplot docgen missing-binding.subplot -o foo.html
        step 5: then command fails
        step 6: then stderr contains "could not be found"
        step 7: then stderr contains "missing-binding.yaml"
        cleanup 3: given an installed subplot
      scenario: Multiple markdown files
        step 1: given file multimd.subplot
        step 2: given file md1.md
        step 3: given file md2.md
        step 4: given an installed subplot
        step 5: when I run subplot docgen multimd.subplot -o multimd.html
        step 6: when I run cat multimd.html
        step 7: then file multimd.html exists
        step 8: then file multimd.html contains "<title>The Fabulous Title</title>"
        step 9: then file multimd.html contains "First markdown file."
        step 10: then file multimd.html contains "Second markdown file."
        cleanup 4: given an installed subplot
      scenario: Extract embedded file, automatically add missing newline
        step 1: given file auto-without-newline.txt
        step 2: then auto-without-newline.txt ends in one newline
      scenario: Missing functions file
        step 1: given file missing-functions.subplot
        step 2: given file missing-functions.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I try to run subplot codegen --run missing-functions.subplot -o foo.py
        step 6: then command fails
        step 7: then stderr contains "could not be found"
        step 8: then stderr contains "missing-functions.py"
        cleanup 4: given an installed subplot
      scenario: Subplot accepts title and headings with inline markup
        step 1: given file fancytitle.subplot
        step 2: given file fancytitle.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I try to run subplot docgen fancytitle.subplot -o foo.md
        step 7: then command is successful
        step 8: when I try to run subplot codegen fancytitle.subplot -o foo.md
        step 9: then command is successful
        cleanup 5: given an installed subplot
      scenario: No date anywhere
        step 1: given file dateless.subplot
        step 2: given file dateless.md
        step 3: given file dateless.md has modification time 2020-02-26 07:53:17
        step 4: given an installed subplot
        step 5: when I run subplot docgen dateless.subplot -o mtime.html
        step 6: then file mtime.html exists
        step 7: then file mtime.html contains "<title>The Fabulous Title</title>"
        step 8: then file mtime.html contains "Alfred Pennyworth"
        step 9: then file mtime.html contains "Geoffrey Butler"
        step 10: then file mtime.html contains "2020-02-26 07:53"
        cleanup 4: given an installed subplot
      scenario: Capture using simple patterns
        step 1: given file simplepattern.subplot
        step 2: given file simplepattern.md
        step 3: given file simplepattern.yaml
        step 4: given file capture.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run simplepattern.subplot -o test.py
        step 7: then scenario "Simple pattern" was run
        step 8: then step "given I am Tomjon" was run
        step 9: then stdout contains "function got argument name as Tomjon"
        step 10: then command is successful
        cleanup 5: given an installed subplot
      scenario: Files not in current working directory
        step 1: given file x/simple.subplot from simple.subplot
        step 2: given file x/simple.md from simple.md
        step 3: given file x/b.yaml from b.yaml
        step 4: given file x/f.py from f.py
        step 5: given an installed subplot
        step 6: when I run subplot metadata x/simple.subplot
        step 7: then command is successful
        step 8: when I run subplot codegen x/simple.subplot -o test.py
        step 9: then file test.py exists
        step 10: when I run subplot docgen x/simple.subplot -o simple.html
        step 11: then file simple.html exists
        cleanup 5: given an installed subplot
      scenario: Running only chosen scenarios with Python
        step 1: given file twoscenarios-python.subplot
        step 2: given file twoscenarios-python.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen twoscenarios-python.subplot -o test.py
        step 7: when I run python3 test.py on
        step 8: then scenario "One" was run
        step 9: then scenario "Two" was not run
        step 10: then command is successful
        cleanup 5: given an installed subplot
      scenario: Steps which do not match bindings do not work
        step 1: given file nobinding.subplot
        step 2: given file nobinding.md
        step 3: given file badbindings.yaml
        step 4: given an installed subplot
        step 5: when I try to run subplot codegen --run nobinding.subplot -o test.py
        step 6: then command fails
        cleanup 4: given an installed subplot
      scenario: Embedded CSS
        step 1: given file embedded-css.subplot
        step 2: given file embedded-css.md
        step 3: given file embedded-css.css
        step 4: given file b.yaml
        step 5: given an installed subplot
        step 6: when I run subplot docgen embedded-css.subplot -o foo.html
        step 7: then file foo.html contains "silly: property;"
        cleanup 5: given an installed subplot
      scenario: Roadmap
        step 1: given file roadmap.subplot
        step 2: given file roadmap.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I run subplot docgen roadmap.subplot -o roadmap.html
        step 6: then file roadmap.html matches regex /src="data:image/svg\\+xml;base64,/
        cleanup 4: given an installed subplot
      scenario: Date given in metadata
        step 1: given file metadate.subplot
        step 2: given file metadate.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen metadate.subplot -o metadate.html
        step 5: when I run cat metadate.html
        step 6: then file metadate.html exists
        step 7: then file metadate.html contains "<title>The Fabulous Title</title>"
        step 8: then file metadate.html contains "Alfred Pennyworth"
        step 9: then file metadate.html contains "Geoffrey Butler"
        step 10: then file metadate.html contains "WIP"
        cleanup 3: given an installed subplot
      scenario: Document generator gives an error if input document lacks title
        step 1: given file notitle.subplot
        step 2: given file notitle.md
        step 3: given an installed subplot
        step 4: when I try to run subplot docgen notitle.subplot -o foo.md
        step 5: then command fails
        cleanup 3: given an installed subplot
      scenario: Extract embedded file, do not automatically add second newline
        step 1: given file auto-has-newline.txt
        step 2: then auto-has-newline.txt ends in one newline
      scenario: Lowest level heading is name of scenario
        step 1: given file scenarioislowest.subplot
        step 2: given file scenarioislowest.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run scenarioislowest.subplot -o test.py
        step 7: then scenario "heading 1.1.1" was run
        step 8: then command is successful
        cleanup 5: given an installed subplot
      scenario: Set environment variables in generated test programs
        step 1: given file env.subplot
        step 2: given file env.md
        step 3: given file env.yaml
        step 4: given file env.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen env.subplot -o test.py
        step 7: when I try to run python3 test.py
        step 8: then command fails
        step 9: when I try to run python3 test.py --env FOO=foo
        step 10: then command fails
        step 11: when I try to run python3 test.py --env FOO=bar
        step 12: then command is successful
        cleanup 5: given an installed subplot
      scenario: Misuse of continuation keywords
        step 1: given file continuationmisuse.subplot
        step 2: given file continuationmisuse.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I try to run subplot codegen --run continuationmisuse.subplot -o test.py
        step 7: then command fails
        cleanup 5: given an installed subplot
      scenario: Title markup
        step 1: given file title-markup.subplot
        step 2: given file title-markup.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen title-markup.subplot -o foo.html
        step 5: then file foo.html exists
        cleanup 3: given an installed subplot
      scenario: Cleanup functions get called on failure (Python)
        step 1: given file cleanup-fail-python.subplot
        step 2: given file cleanup-fail-python.md
        step 3: given file cleanup.yaml
        step 4: given file cleanup.py
        step 5: given an installed subplot
        step 6: when I try to run subplot codegen --run cleanup-fail-python.subplot -o test.py
        step 7: then scenario "Cleanup" was run
        step 8: then step "given foo" was run, and then step "given bar"
        step 9: then cleanup for "given bar" was run, and then for "given foo"
        step 10: then cleanup for "given failure" was not run
        step 11: then command fails
        cleanup 5: given an installed subplot
      scenario: Extract embedded file, explicitly add missing newline
        step 1: given file add-without-newline.txt
        step 2: then add-without-newline.txt ends in one newline
      scenario: PlantUML
        step 1: given file plantuml.subplot
        step 2: given file plantuml.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I run subplot docgen plantuml.subplot -o plantuml.html
        step 6: then file plantuml.html matches regex /src="data:image/svg\\+xml;base64,/
        cleanup 4: given an installed subplot
      scenario: Cleanup functions gets called on success (Python)
        step 1: given file cleanup-success-python.subplot
        step 2: given file cleanup-success-python.md
        step 3: given file cleanup.yaml
        step 4: given file cleanup.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run cleanup-success-python.subplot -o test.py
        step 7: then scenario "Cleanup" was run
        step 8: then step "given foo" was run, and then step "given bar"
        step 9: then cleanup for "given bar" was run, and then for "given foo"
        step 10: then command is successful
        cleanup 5: given an installed subplot
      scenario: Extract embedded files
        step 1: given file embedded-file.subplot
        step 2: given file embedded-file.md
        step 3: given file expected.txt
        step 4: given an installed subplot
        step 5: when I run subplot extract --merciful embedded-file.subplot foo.txt -d .
        step 6: then files foo.txt and expected.txt match
        cleanup 4: given an installed subplot
      scenario: Examples may be unused
        step 1: given file unusedexample.subplot
        step 2: given file unusedexample.md
        step 3: given an installed subplot
        step 4: when I try to run subplot docgen --merciful unusedexample.subplot -o unusedexample.html
        step 5: then command is successful
        step 6: then file unusedexample.html exists
        step 7: then stderr doesn't contain "thisisnotused.txt"
        cleanup 3: given an installed subplot
      scenario: Bad "add-newline" value
        step 1: given an installed subplot
        step 2: given file add-newline.subplot
        step 3: given file add-newline.md
        step 4: when I try to run subplot docgen add-newline.subplot -o /dev/null
        step 5: then command fails
        step 6: then stderr contains "ERROR add-newline.md:1:1: value of add-newline attribute is not understood: xyzzy"
        cleanup 1: given an installed subplot
      scenario: Fail if the same filename is used twice
        step 1: given file onefiletwice.md
        step 2: given an installed subplot
        step 3: when I try to run subplot docgen onefiletwice.md -o onefiletwice.html
        step 4: then command fails
        step 5: then file onefiletwice.html does not exist
        cleanup 2: given an installed subplot
      scenario: Empty lines in scenarios
        step 1: given file emptylines.subplot
        step 2: given file emptylines.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot docgen emptylines.subplot -o emptylines.html
        step 7: then file emptylines.html exists
        step 8: when I run subplot codegen --run emptylines.subplot -o test.py
        step 9: then scenario "Simple" was run
        step 10: then step "given precondition foo" was run
        step 11: then step "when I do bar" was run
        step 12: then step "then bar was done" was run
        step 13: then command is successful
        cleanup 5: given an installed subplot
      scenario: Capture using regular expressions
        step 1: given file regex.subplot
        step 2: given file regex.md
        step 3: given file regex.yaml
        step 4: given file capture.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run regex.subplot -o test.py
        step 7: then scenario "Regex" was run
        step 8: then step "given I am Tomjon" was run
        step 9: then stdout contains "function got argument name as Tomjon"
        step 10: then command is successful
        cleanup 5: given an installed subplot
      scenario: Scenario before the first heading
        step 1: given an installed subplot
        step 2: given file scenario-before-heading.subplot
        step 3: given file scenario-before-heading.md
        step 4: when I try to run subplot docgen scenario-before-heading.subplot -o /dev/null
        step 5: then command fails
        step 6: then stderr contains "ERROR scenario-before-heading.md:1:1: first scenario is before first heading"
        cleanup 1: given an installed subplot
      scenario: All the keywords
        step 1: given file allkeywords.subplot
        step 2: given file allkeywords.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run allkeywords.subplot -o test.py
        step 7: then scenario "All keywords" was run
        step 8: then step "given precondition foo" was run
        step 9: then step "when I do bar" was run
        step 10: then step "then bar was done" was run
        step 11: then command is successful
        cleanup 5: given an installed subplot
      scenario: Next heading at higher level starts new scenario
        step 1: given file higherisnewscenario.subplot
        step 2: given file higherisnewscenario.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run higherisnewscenario.subplot -o test.py
        step 7: then scenario "heading 1.1.1" was run
        step 8: then scenario "heading 1.2" was run
        step 9: then command is successful
        cleanup 5: given an installed subplot
      scenario: Steps which do not case-sensitively match sensitive bindings do not work
        step 1: given file casemismatch.subplot
        step 2: given file casemismatch.md
        step 3: given file badbindings.yaml
        step 4: given an installed subplot
        step 5: when I try to run subplot codegen --run casemismatch.subplot -o test.py
        step 6: then command fails
        cleanup 4: given an installed subplot
      scenario: Recall values for use in later steps
        step 1: given file values.subplot
        step 2: given file values.md
        step 3: given file values.yaml
        step 4: given file values.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen values.subplot -o test.py
        step 7: when I run python3 test.py
        step 8: then command is successful
        cleanup 5: given an installed subplot
      scenario: Fail if embedded file isn't used
        step 1: given file unusedfile.subplot
        step 2: given file unusedfile.md
        step 3: given an installed subplot
        step 4: when I try to run subplot docgen --merciful unusedfile.subplot -o unusedfile.html
        step 5: then command is successful
        step 6: then file unusedfile.html exists
        step 7: then stderr contains "thisisnotused.txt"
        cleanup 3: given an installed subplot
      scenario: Extract embedded file
        step 1: given file embedded.subplot
        step 2: given file embedded.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen --merciful embedded.subplot -o foo.html
        step 5: then file foo.html exists
        step 6: then file foo.html matches regex /embedded\\.txt/
        cleanup 3: given an installed subplot
      scenario: Simple patterns with regex metacharacters: allowed case
        step 1: given file confusedbutok.subplot
        step 2: given file confusedbutok.md
        step 3: given file confusedbutok.yaml
        step 4: given file capture.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run confusedbutok.subplot -o test.py
        step 7: then command is successful
        cleanup 5: given an installed subplot
      scenario: Date given on command line
        step 1: given file dateless.subplot
        step 2: given file dateless.md
        step 3: given an installed subplot
        step 4: when I run subplot docgen dateless.subplot -o dateoption.html --date=FANCYDATE
        step 5: then file dateoption.html exists
        step 6: then file dateoption.html contains "<title>The Fabulous Title</title>"
        step 7: then file dateoption.html contains "Alfred Pennyworth"
        step 8: then file dateoption.html contains "Geoffrey Butler"
        step 9: then file dateoption.html contains "FANCYDATE"
        cleanup 3: given an installed subplot
      scenario: Fail if two filenames only differ in case
        step 1: given file casediff.md
        step 2: given an installed subplot
        step 3: when I try to run subplot docgen casediff.md -o casediff.html
        step 4: then command fails
        step 5: then file casediff.html does not exist
        cleanup 2: given an installed subplot
      scenario: Smoke test
        step 1: given file simple.subplot
        step 2: given file simple.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot docgen simple.subplot -o simple.html
        step 7: then file simple.html exists
        step 8: when I run subplot codegen --run simple.subplot -o test.py
        step 9: then scenario "Simple" was run
        step 10: then step "given precondition foo" was run
        step 11: then step "when I do bar" was run
        step 12: then step "then bar was done" was run
        step 13: then command is successful
        cleanup 5: given an installed subplot
      scenario: Dot
        step 1: given file dot.subplot
        step 2: given file dot.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I run subplot docgen dot.subplot -o dot.html
        step 6: then file dot.html matches regex /src="data:image/svg\\+xml;base64,/
        cleanup 4: given an installed subplot
      scenario: Temporary files in scenarios in Python
        step 1: given file tmpdir.subplot
        step 2: given file tmpdir.md
        step 3: given file tmpdir.yaml
        step 4: given file tmpdir.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run tmpdir.subplot -o test.py
        step 7: then command is successful
        step 8: then scenario "TMPDIR" was run
        step 9: then step "then TMPDIR is set" was run
        cleanup 5: given an installed subplot
      scenario: Extract embedded file, by default do not add a second newline
        step 1: given file default-has-newline.txt
        step 2: then default-has-newline.txt ends in one newline
      scenario: Examples are not files
        step 1: given file examplesnotfiles.subplot
        step 2: given file examplesnotfiles.md
        step 3: given an installed subplot
        step 4: when I try to run subplot codegen examplesnotfiles.subplot -t python -o examplesnotfiles.html
        step 5: then command fails
        step 6: then file examplesnotfiles.html does not exist
        step 7: then stderr contains "thisisanexample.txt"
        cleanup 3: given an installed subplot
      scenario: No scenarios means codegen fails
        step 1: given file noscenarios.subplot
        step 2: given file noscenarios.md
        step 3: given an installed subplot
        step 4: when I try to run subplot codegen noscenarios.subplot -o test.py
        step 5: then command fails
        step 6: then stderr contains "no scenarios were found"
        cleanup 3: given an installed subplot
      scenario: CSS URLs
        step 1: given file css-urls.subplot
        step 2: given file css-urls.md
        step 3: given file b.yaml
        step 4: given an installed subplot
        step 5: when I run subplot docgen css-urls.subplot -o foo.html
        step 6: then file foo.html contains "https://example.com/flushing.css"
        cleanup 4: given an installed subplot
      scenario: Subheadings don't start new scenario
        step 1: given file subisnotnewscenario.subplot
        step 2: given file subisnotnewscenario.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot codegen --run subisnotnewscenario.subplot -o test.py
        step 7: then scenario "heading 1.1a" was run
        step 8: then command is successful
        cleanup 5: given an installed subplot
      scenario: Code generator gives an error if input document lacks title
        step 1: given file notitle.subplot
        step 2: given file notitle.md
        step 3: given an installed subplot
        step 4: when I try to run subplot codegen --run notitle.subplot -o test.py
        step 5: then command fails
        cleanup 3: given an installed subplot
      scenario: Extract embedded file, do not add missing newline
        step 1: given file no-adding-without-newline.txt
        step 2: then no-adding-without-newline.txt does not end in a newline
      scenario: Scenario titles
        step 1: given file scenario-titles.subplot
        step 2: given file scenario-titles.md
        step 3: given file b.yaml
        step 4: given file f.py
        step 5: given an installed subplot
        step 6: when I run subplot metadata scenario-titles.subplot
        step 7: then stdout contains "My fun scenario title"
        cleanup 5: given an installed subplot
      OK, all scenarios finished successfully
      cd examples/muck && /ci/src/inst/subplot --resources /ci/src/share codegen muck.subplot --run --output test.py
      srcdir /ci/src/examples/muck
      datadir /tmp/tmpzbx_5wsu
      scenario: Accessing someone else's data
        step 1: given a fresh Muck server
        step 2: given I am Tomjon
        step 3: when I do POST /res with {"foo": "bar"}
        step 4: then header Muck-Id is ID
        step 5: then header Muck-Revision is REV1
        step 6: when I do GET /res with Muck-Id: {ID}
        step 7: then response code is 200
        step 8: then header Muck-Revision matches {REV1}
        step 9: then body matches {"foo": "bar"}
        step 10: given I am Verence
        step 11: when I do GET /res with Muck-Id: {ID}
        step 12: then response code is 404
      scenario: Basic object handling
        step 1: given a fresh Muck server
        step 2: given I am Tomjon
        step 3: when I do POST /res with {"foo": "bar"}
        step 4: then response code is 201
        step 5: then header Muck-Id is ID
        step 6: then header Muck-Revision is REV1
        step 7: when I do GET /res with Muck-Id: {ID}
        step 8: then response code is 200
        step 9: then header Muck-Revision matches {REV1}
        step 10: then body matches {"foo": "bar"}
        step 11: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {"foo":"yo"}
        step 12: then response code is 200
        step 13: then header Muck-Revision is {REV2}
        step 14: then revisions {REV1} and {REV2} are different
        step 15: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {"foo":"yo"}
        step 16: then response code is 409
        step 17: when I do GET /res with Muck-Id: {ID}
        step 18: then response code is 200
        step 19: then header Muck-Revision matches {REV2}
        step 20: then body matches {"foo": "yo"}
        step 21: when I do DELETE /res with Muck-Id: {ID}
        step 22: then response code is 200
        step 23: when I do GET /res with Muck-Id: {ID}
        step 24: then response code is 404
      scenario: Updating someone else's data
        step 1: given a fresh Muck server
        step 2: given I am Tomjon
        step 3: when I do POST /res with {"foo": "bar"}
        step 4: then header Muck-Id is ID
        step 5: then header Muck-Revision is REV1
        step 6: given I am Verence
        step 7: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {"foo":"yo"}
        step 8: then response code is 404
      scenario: Restarting Muck
        step 1: given a fresh Muck server
        step 2: given I am Tomjon, with super capability
        step 3: when I do POST /res with {"foo": "bar"}
        step 4: then header Muck-Id is ID
        step 5: then header Muck-Revision is REV1
        step 6: when I restart Muck
        step 7: when I do GET /res with Muck-Id: {ID}
        step 8: then response code is 200
        step 9: then header Muck-Revision matches {REV1}
        step 10: then body matches {"foo": "bar"}
      scenario: Deleting someone else's data
        step 1: given a fresh Muck server
        step 2: given I am Tomjon
        step 3: when I do POST /res with {"foo": "bar"}
        step 4: then header Muck-Id is ID
        step 5: then header Muck-Revision is REV1
        step 6: given I am Verence
        step 7: when I do DELETE /res with Muck-Id: {ID}
        step 8: then response code is 404
      OK, all scenarios finished successfully
      if [ "--offline" = "" ] ; then \
      	cd examples/website && \
      	/ci/src/inst/subplot --resources /ci/src/share codegen website.subplot --run --output test.py; \
      fi
      cd examples/seq && cargo test -- 
      
      running 4 tests
      test more_than_one_number ... ok
      test no_arguments ... ok
      test not_a_number ... ok
      test one_number ... ok
      
      test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
      
      /ci/src/inst/subplot --resources /ci/src/share docgen subplot.subplot -o subplot.html
      /ci/src/inst/subplot --resources /ci/src/share docgen tests/subplots/common/files.subplot -o tests/subplots/common/files.html
      /ci/src/inst/subplot --resources /ci/src/share docgen tests/subplots/common/runcmd.subplot -o tests/subplots/common/runcmd.html
      cd examples/muck && /ci/src/inst/subplot --resources /ci/src/share/subplot docgen muck.subplot -o muck.html
      cd examples/website && /ci/src/inst/subplot --resources /ci/src/share docgen website.subplot -o website.html
      cd examples/seq && /ci/src/inst/subplot --resources /ci/src/share docgen seq.subplot -o seq.html
      /ci/src/inst/subplot --resources /ci/src/share libdocgen lib/runcmd.yaml --output /ci/src/inst/runcmd.md
      if which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata "title=lib/runcmd"  --output /ci/src/inst/runcmd.html /ci/src/inst/runcmd.md; fi
      /ci/src/inst/subplot --resources /ci/src/share libdocgen lib/files.yaml --output /ci/src/inst/files.md
      if which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata "title=lib/files"  --output /ci/src/inst/files.html /ci/src/inst/files.md; fi
      /ci/src/inst/subplot --resources /ci/src/share libdocgen python/lib/daemon.yaml --output /ci/src/inst/daemon.md
      if which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata "title=lib/daemon"  --output /ci/src/inst/daemon.html /ci/src/inst/daemon.md; fi
      /ci/src/inst/subplot --resources /ci/src/share docgen book/user-guide.subplot --output book/user-guide.html
      mkdir -p doc/libdocs
      for x in subplot.html tests/subplots/common/*.html examples/*/*.html book/*.html; do if [ -e "$x" ]; then mv "$x" doc; fi; done
      for x in /ci/src/inst/*.html; do if [ -e "$x" ]; then mv "$x" doc/libdocs/; fi; done
      HEAD is now at 563ef85 Merge branch 'patch/ef39490'
      Removing doc/
      Removing examples/muck/test.py
      Removing inst/
      Removing share/python/template/__pycache__/
      Removing test.log
      Removing test.py
      HEAD detached at 563ef85
      nothing to commit, working tree clean
      
    • Stderr
      + make OFFLINE=--offline
         Compiling subplot v0.14.0 (/ci/src)
         Compiling subplotlib v0.14.0 (/ci/src/subplotlib)
         Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)
          Checking subplot-bin v0.14.0 (/ci/src/bin)
          Checking subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)
          Checking subplot-seq-example v0.1.0 (/ci/src/examples/seq)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.97s
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s
        Installing subplot-bin v0.14.0 (/ci/src/bin)
         Compiling proc-macro2 v1.0.103
         Compiling quote v1.0.42
         Compiling unicode-ident v1.0.22
         Compiling cfg-if v1.0.4
         Compiling memchr v2.7.6
         Compiling zerocopy v0.8.31
         Compiling syn v2.0.111
         Compiling libc v0.2.178
         Compiling once_cell v1.21.3
         Compiling serde_core v1.0.228
         Compiling aho-corasick v1.1.4
         Compiling regex-syntax v0.8.8
         Compiling version_check v0.9.5
         Compiling ahash v0.8.12
         Compiling regex-automata v0.4.13
         Compiling itoa v1.0.15
         Compiling anyhow v1.0.100
         Compiling crossbeam-utils v0.8.21
         Compiling serde v1.0.228
         Compiling log v0.4.29
         Compiling bitflags v2.10.0
         Compiling serde_derive v1.0.228
         Compiling encoding_rs v0.8.35
         Compiling arraydeque v0.5.1
         Compiling ucd-trie v0.1.7
         Compiling doc-comment v0.3.4
         Compiling pest v2.8.4
         Compiling crossbeam-epoch v0.9.18
         Compiling hashbrown v0.14.5
         Compiling getrandom v0.2.16
         Compiling bstr v1.12.1
         Compiling foldhash v0.1.5
         Compiling libm v0.2.15
         Compiling shlex v1.3.0
         Compiling utf8parse v0.2.2
         Compiling time-core v0.1.6
         Compiling getrandom v0.3.4
         Compiling same-file v1.0.6
         Compiling find-msvc-tools v0.1.5
         Compiling unicode-width v0.2.2
         Compiling num-conv v0.1.0
         Compiling rustix v1.1.2
         Compiling time-macros v0.2.24
         Compiling cc v1.2.49
         Compiling walkdir v2.5.0
         Compiling anstyle-parse v0.2.7
         Compiling globset v0.4.18
         Compiling hashbrown v0.15.5
         Compiling hashlink v0.9.1
         Compiling rand_core v0.6.4
         Compiling crossbeam-deque v0.8.6
         Compiling pest_meta v2.8.4
         Compiling serde_path_to_error v0.1.20
         Compiling ppv-lite86 v0.2.21
         Compiling tracing-core v0.1.36
         Compiling colorchoice v1.0.4
         Compiling lazy_static v1.5.0
         Compiling anstyle v1.0.13
         Compiling is_terminal_polyfill v1.70.2
         Compiling anstyle-query v1.1.5
         Compiling powerfmt v0.2.0
         Compiling serde_json v1.0.145
         Compiling thiserror v2.0.17
         Compiling linux-raw-sys v0.11.0
         Compiling deranged v0.5.5
         Compiling anstream v0.6.21
         Compiling rand_chacha v0.3.1
         Compiling pest_generator v2.8.4
         Compiling ignore v0.4.25
         Compiling yaml-rust2 v0.9.0
         Compiling hashlink v0.10.0
         Compiling pikchr v0.1.4
         Compiling thiserror-impl v2.0.17
         Compiling tracing-attributes v0.1.31
         Compiling deunicode v1.6.2
         Compiling pulldown-cmark v0.13.0
         Compiling smawk v0.3.2
         Compiling unicode-linebreak v0.1.5
         Compiling fastrand v2.3.0
         Compiling heck v0.5.0
         Compiling pin-project-lite v0.2.16
         Compiling clap_lex v0.7.6
         Compiling ryu v1.0.20
         Compiling strsim v0.11.1
         Compiling clap_builder v4.5.53
         Compiling clap_derive v4.5.49
         Compiling tracing v0.1.44
         Compiling tempfile v3.23.0
         Compiling textwrap v0.16.2
         Compiling slug v0.1.6
         Compiling time v0.3.44
         Compiling humansize v2.1.3
         Compiling yaml-rust2 v0.10.4
         Compiling marked-yaml v0.7.2
         Compiling globwalk v0.9.1
         Compiling pest_derive v2.8.4
         Compiling subplot v0.14.0 (/ci/src)
         Compiling rand v0.8.5
         Compiling getopts v0.2.24
         Compiling regex v1.12.2
         Compiling utf8-width v0.1.8
         Compiling percent-encoding v2.3.2
         Compiling pulldown-cmark-escape v0.11.0
         Compiling unicase v2.8.1
         Compiling unicode-segmentation v1.12.0
         Compiling tera v1.20.1
         Compiling git-testament-derive v0.2.1
         Compiling html-escape v0.2.13
         Compiling marked-yaml v0.8.0
         Compiling roadmap v0.7.0
         Compiling clap v4.5.53
         Compiling sharded-slab v0.1.7
         Compiling tracing-log v0.2.0
         Compiling matchers v0.2.0
         Compiling thread_local v1.1.9
         Compiling line-col v0.2.1
         Compiling base64 v0.22.1
         Compiling smallvec v1.15.1
         Compiling descape v3.0.0
         Compiling nu-ansi-term v0.50.3
         Compiling tracing-subscriber v0.3.22
         Compiling git-testament v0.2.6
         Compiling subplot-bin v0.14.0 (/ci/src/bin)
          Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s
        Installing /ci/src/inst/bin/subplot
         Installed package `subplot-bin v0.14.0 (/ci/src/bin)` (executable `subplot`)
      warning: be sure to add `/ci/src/inst/bin` to your PATH to be able to run the installed binaries
      ............................
      ----------------------------------------------------------------------
      Ran 28 tests in 0.002s
      
      OK
      ..
      ----------------------------------------------------------------------
      Ran 2 tests in 0.001s
      
      OK
         Compiling syn v2.0.111
         Compiling libc v0.2.178
         Compiling cfg-if v1.0.4
         Compiling zerocopy v0.8.31
         Compiling once_cell v1.21.3
         Compiling pest_generator v2.8.4
         Compiling serde_core v1.0.228
         Compiling serde_derive v1.0.228
         Compiling thiserror-impl v2.0.17
         Compiling tracing-attributes v0.1.31
         Compiling pest_derive v2.8.4
         Compiling crossbeam-utils v0.8.21
         Compiling ahash v0.8.12
         Compiling aho-corasick v1.1.4
         Compiling bitflags v2.10.0
         Compiling regex-syntax v0.8.8
         Compiling regex-automata v0.4.13
         Compiling encoding_rs v0.8.35
         Compiling serde v1.0.228
         Compiling arraydeque v0.5.1
         Compiling crossbeam-epoch v0.9.18
         Compiling hashbrown v0.14.5
         Compiling getrandom v0.2.16
         Compiling doc-comment v0.3.4
         Compiling bstr v1.12.1
         Compiling unicode-width v0.2.2
         Compiling foldhash v0.1.5
         Compiling globset v0.4.18
         Compiling hashbrown v0.15.5
         Compiling hashlink v0.9.1
         Compiling getrandom v0.3.4
         Compiling rand_core v0.6.4
         Compiling crossbeam-deque v0.8.6
         Compiling serde_path_to_error v0.1.20
         Compiling ppv-lite86 v0.2.21
         Compiling libm v0.2.15
         Compiling rustix v1.1.2
         Compiling linux-raw-sys v0.11.0
         Compiling tempfile v3.23.0
         Compiling rand_chacha v0.3.1
         Compiling ignore v0.4.25
         Compiling yaml-rust2 v0.9.0
         Compiling hashlink v0.10.0
         Compiling thiserror v2.0.17
         Compiling serde_json v1.0.145
         Compiling deunicode v1.6.2
         Compiling ryu v1.0.20
         Compiling smawk v0.3.2
         Compiling unicode-linebreak v0.1.5
         Compiling fastrand v2.3.0
         Compiling time-macros v0.2.24
         Compiling textwrap v0.16.2
         Compiling slug v0.1.6
         Compiling yaml-rust2 v0.10.4
         Compiling globwalk v0.9.1
         Compiling marked-yaml v0.7.2
         Compiling humansize v2.1.3
         Compiling rand v0.8.5
         Compiling getopts v0.2.24
         Compiling regex v1.12.2
         Compiling culpa-macros v1.0.2
         Compiling pulldown-cmark v0.13.0
         Compiling tracing-core v0.1.36
         Compiling pikchr v0.1.4
         Compiling subplot v0.14.0 (/ci/src)
         Compiling percent-encoding v2.3.2
         Compiling cfg_aliases v0.2.1
         Compiling pulldown-cmark-escape v0.11.0
         Compiling lazy_static v1.5.0
         Compiling utf8-width v0.1.8
         Compiling pin-project-lite v0.2.16
         Compiling unicode-segmentation v1.12.0
         Compiling unicase v2.8.1
         Compiling tera v1.20.1
         Compiling tracing v0.1.44
         Compiling html-escape v0.2.13
         Compiling nix v0.29.0
         Compiling roadmap v0.7.0
         Compiling marked-yaml v0.8.0
         Compiling descape v3.0.0
         Compiling line-col v0.2.1
         Compiling base64 v0.22.1
         Compiling culpa v1.0.2
         Compiling cvt v0.1.2
         Compiling time v0.3.44
         Compiling fs_at v0.2.1
         Compiling normpath v1.5.0
         Compiling subplotlib v0.14.0 (/ci/src/subplotlib)
         Compiling remove_dir_all v1.0.0
         Compiling filetime v0.2.26
         Compiling fs2 v0.4.3
         Compiling shell-words v1.1.1
         Compiling state v0.6.0
         Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)
         Compiling clap_derive v4.5.49
         Compiling subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)
         Compiling clap v4.5.53
         Compiling git-testament-derive v0.2.1
         Compiling tracing-subscriber v0.3.22
         Compiling git-testament v0.2.6
         Compiling subplot-bin v0.14.0 (/ci/src/bin)
         Compiling subplot-seq-example v0.1.0 (/ci/src/examples/seq)
          Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 50s
           Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot-0effe0c3a85ecf1c)
           Running tests/bindings-ubm.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/bindings_ubm-9f16a7b8f3befb7f)
           Running unittests src/subplot.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot-c53acdb963d94d83)
           Running tests/seq.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/seq-d0c2fdd83135ef9f)
           Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib-d4e279afcfe1b0c9)
           Running tests/files.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/files-96f89ad2dc53daa7)
           Running tests/runcmd.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/runcmd-6f155568733cd9ad)
           Running tests/subplot-codegen.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_codegen-8b012dabfa87c991)
           Running tests/subplot-diagrams.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_diagrams-7e1729b8179ddf28)
           Running tests/subplot-docgen.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_docgen-fa42306d68ec867f)
           Running tests/subplot-extract.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_extract-037546a34b282e78)
           Running tests/subplot-metadata.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_metadata-5fe95ed26be1c8f5)
           Running tests/subplot-others.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_others-24d7fda57780fc40)
           Running tests/subplotlib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib-95841cb7bd4c2001)
           Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/subplotlib_derive-0b66ffd6465368c7)
           Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib_steps-045a352f1b7cb0ed)
         Doc-tests subplot
         Doc-tests subplotlib
         Doc-tests subplotlib_derive
         Doc-tests subplotlib_steps
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
         Compiling zerocopy v0.8.31
         Compiling serde_core v1.0.228
         Compiling crossbeam-utils v0.8.21
         Compiling ahash v0.8.12
         Compiling serde v1.0.228
         Compiling regex-automata v0.4.13
         Compiling libc v0.2.178
         Compiling encoding_rs v0.8.35
         Compiling anyhow v1.0.100
         Compiling doc-comment v0.3.4
         Compiling crossbeam-epoch v0.9.18
         Compiling hashbrown v0.14.5
         Compiling getrandom v0.2.16
         Compiling globset v0.4.18
         Compiling hashlink v0.9.1
         Compiling libm v0.2.15
         Compiling rustix v1.1.2
         Compiling rand_core v0.6.4
         Compiling crossbeam-deque v0.8.6
         Compiling serde_path_to_error v0.1.20
         Compiling ppv-lite86 v0.2.21
         Compiling thiserror v2.0.17
         Compiling serde_json v1.0.145
         Compiling rand_chacha v0.3.1
         Compiling ignore v0.4.25
         Compiling yaml-rust2 v0.9.0
         Compiling getrandom v0.3.4
         Compiling pulldown-cmark v0.13.0
         Compiling marked-yaml v0.7.2
         Compiling tempfile v3.23.0
         Compiling pikchr v0.1.4
         Compiling humansize v2.1.3
         Compiling globwalk v0.9.1
         Compiling yaml-rust2 v0.10.4
         Compiling rand v0.8.5
         Compiling subplot v0.14.0 (/ci/src)
         Compiling regex v1.12.2
         Compiling memchr v2.7.6
         Compiling aho-corasick v1.1.4
         Compiling tera v1.20.1
         Compiling nix v0.29.0
         Compiling marked-yaml v0.8.0
         Compiling roadmap v0.7.0
         Compiling cvt v0.1.2
         Compiling time-macros v0.2.24
         Compiling fs_at v0.2.1
         Compiling culpa v1.0.2
         Compiling once_cell v1.21.3
         Compiling subplotlib v0.14.0 (/ci/src/subplotlib)
         Compiling normpath v1.5.0
         Compiling remove_dir_all v1.0.0
         Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)
         Compiling time v0.3.44
         Compiling filetime v0.2.26
         Compiling fs2 v0.4.3
         Compiling shell-words v1.1.1
         Compiling state v0.6.0
         Compiling subplot-seq-example v0.1.0 (/ci/src/examples/seq)
          Finished `test` profile [unoptimized + debuginfo] target(s) in 33.73s
           Running tests/seq.rs (/ci/cache/cargo-target/debug/deps/seq-9e53ab355acac37a)
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
       INFO Starting Subplot
       INFO Subplot finished successfully
      [WARNING] Deprecated: --self-contained. use --embed-resources --standalone
       INFO Starting Subplot
       INFO Subplot finished successfully
      [WARNING] Deprecated: --self-contained. use --embed-resources --standalone
       INFO Starting Subplot
       INFO Subplot finished successfully
      [WARNING] Deprecated: --self-contained. use --embed-resources --standalone
       INFO Starting Subplot
       INFO Subplot finished successfully
      + cp -a doc/files.html doc/libdocs doc/muck.html doc/runcmd.html doc/seq.html doc/subplot.html doc/user-guide.html doc/website.html /ci/artifacts/.
      + git reset --hard
      + git clean -fdx
      + git status --ignored
      
  28. 432764 ms: Action succeeded: shell: make OFFLINE="--offline" cp -a doc/* /ci/artifacts/. # Clean up after tests and documentation building. git reset --hard git clean -fdx git status --ignored
    - action: shell
      shell: |
        make OFFLINE="--offline"
        cp -a doc/* /ci/artifacts/.
    
        # Clean up after tests and documentation building.
        git reset --hard
        git clean -fdx
        git status --ignored
    
  29. 432765 ms: Custom action starts: dch
    • Source: /ci/src
    • - name: dch
        args:
          debfullname: Lars Wirzenius
          debemail: liw@liw.fi
      
    • Executable: .ambient/dch
    • Executable exists? false
  30. 433155 ms: Custom action output
    • Stdout
      HEAD is now at 563ef85 Merge branch 'patch/ef39490'
      
    • Stderr
      + export 'DEBEMAIL="liw@liw.fi"'
      + DEBEMAIL='"liw@liw.fi"'
      + export 'DEBFULLNAME="Lars Wirzenius"'
      + DEBFULLNAME='"Lars Wirzenius"'
      + export CARGO_TARGET_DIR=/workspace/cache
      + CARGO_TARGET_DIR=/workspace/cache
      + export CARGO_HOME=/workspace/deps
      + CARGO_HOME=/workspace/deps
      + export HOME=/root
      + HOME=/root
      + export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + git reset --hard
      + git clean -fdx
      ++ dpkg-parsechangelog -SVersion
      ++ sed 's/-[^-]*$//'
      + V=0.14.0
      ++ date -u +%Y%m%dT%H%M%S
      + T=20260818T100954
      + version=0.14.0.ci20260818T100954-1
      + dch -v 0.14.0.ci20260818T100954-1 'CI build under Ambient.'
      + dch -r ''
      
  31. 433155 ms: Action succeeded: custom: dch
    - action: custom
      name: dch
      args:
        debfullname: Lars Wirzenius
        debemail: liw@liw.fi
    
  32. 564969 ms: Program succeeded: /bin/bash
    • Exit code: 0
    • Stdout
      PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
      DEBFULLNAME=Lars Wirzenius
      CARGO_TARGET_DIR=/ci/cache/cargo-target
      PWD=/ci/src
      SYSTEMD_EXEC_PID=360
      HOME=/root
      LANG=C.UTF-8
      CARGO_HOME=/ci/deps
      MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure
      DEBEMAIL=liw@liw.fi
      INVOCATION_ID=c667f1cfb0604d9e9241ffcf37f0fe1e
      USER=root
      SHLVL=2
      JOURNAL_STREAM=9:3279
      PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      OLDPWD=/
      _=/bin/env
      /root/.cargo/bin/cargo
      /root/.cargo/bin/rustc
      cargo 1.97.1 (c980f4866 2026-06-30)
      rustc 1.97.1 (8bab26f4f 2026-07-14)
      dpkg-buildpackage: info: source package subplot
      dpkg-buildpackage: info: source version 0.14.0.ci20260818T100954-1
      dpkg-buildpackage: info: source distribution unstable
      dpkg-buildpackage: info: source changed by "Lars Wirzenius" <"liw@liw.fi">
      dpkg-buildpackage: info: host architecture amd64
      dh clean
         dh_auto_clean
         dh_clean
      dpkg-source: info: using source format '3.0 (quilt)'
      dpkg-source: info: building subplot using existing ./subplot_0.14.0.ci20260818T100954.orig.tar.xz
      dpkg-source: info: building subplot in subplot_0.14.0.ci20260818T100954-1.debian.tar.xz
      dpkg-source: info: building subplot in subplot_0.14.0.ci20260818T100954-1.dsc
      dh binary
         dh_update_autotools_config
         dh_autoreconf
         dh_auto_configure
         debian/rules override_dh_auto_build
      make[1]: Entering directory '/ci/src'
      true
      make[1]: Leaving directory '/ci/src'
         debian/rules override_dh_auto_test
      make[1]: Entering directory '/ci/src'
      echo disabled
      disabled
      make[1]: Leaving directory '/ci/src'
         create-stamp debian/debhelper-build-stamp
         dh_prep
         debian/rules override_dh_auto_install
      make[1]: Entering directory '/ci/src'
      cargo install --path=bin --root=debian/subplot --offline --locked --target x86_64-unknown-linux-musl
      rm -f debian/subplot/.crates.toml
      rm -f debian/subplot/.crates2.json
      dh_lintian
      make[1]: Leaving directory '/ci/src'
         dh_install
         dh_installdocs
         dh_installchangelogs
         dh_lintian
         dh_perl
         dh_link
         dh_strip_nondeterminism
         dh_compress
         dh_fixperms
         dh_missing
         dh_strip
         dh_makeshlibs
         dh_shlibdeps
         dh_installdeb
         dh_gencontrol
         dh_md5sums
         dh_builddeb
      dpkg-deb: building package 'subplot-dbgsym' in '../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb'.
      dpkg-deb: building package 'subplot' in '../subplot_0.14.0.ci20260818T100954-1_amd64.deb'.
      dpkg-genchanges: info: including full source code in upload
      dpkg-buildpackage: info: full upload (original source is included)
      total 2272
      drwxr-xr-x  5 root root    4096 Aug 18 10:09 artifacts
      drwxr-xr-x  3 root root    4096 Aug 18 10:02 cache
      drwxr-xr-x  3 root root    4096 Aug 18 10:09 deps
      drwxr-xr-x  2 root root    4096 Aug 18 10:02 secrets
      drwxr-xr-x 16 root root    4096 Aug 18 10:09 src
      -rw-r--r--  1 root root  208804 Aug 18 10:12 subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb
      -rw-r--r--  1 root root    2436 Aug 18 10:09 subplot_0.14.0.ci20260818T100954-1.debian.tar.xz
      -rw-r--r--  1 root root    1018 Aug 18 10:09 subplot_0.14.0.ci20260818T100954-1.dsc
      -rw-r--r--  1 root root    9473 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo
      -rw-r--r--  1 root root    2389 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.changes
      -rw-r--r--  1 root root 1908920 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.deb
      -rw-r--r--  1 root root  156180 Aug 18 10:09 subplot_0.14.0.ci20260818T100954.orig.tar.xz
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/.build-id/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/.build-id/b1/
      -rw-r--r-- root/root   1781104 2026-08-18 10:09 ./usr/lib/debug/.build-id/b1/eb4d3395fa6cf05e793f295efcc4395fe81e2c.debug
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/
      lrwxrwxrwx root/root         0 2026-08-18 10:09 ./usr/share/doc/subplot-dbgsym -> subplot
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./bin/
      -rwxr-xr-x root/root   7106360 2026-08-18 10:09 ./bin/subplot
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/subplot/
      -rw-r--r-- root/root      3623 2026-08-18 10:01 ./usr/share/doc/subplot/README.md
      -rw-r--r-- root/root       671 2026-08-18 10:09 ./usr/share/doc/subplot/changelog.Debian.gz
      -rw-r--r-- root/root      1394 2026-08-18 10:01 ./usr/share/doc/subplot/copyright
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/lintian/
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/lintian/overrides/
      -rw-r--r-- root/root       103 2026-08-18 10:01 ./usr/share/lintian/overrides/subplot
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/subplot/
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/common/
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/common/lib/
      -rw-r--r-- root/root     10532 2026-08-18 10:01 ./usr/share/subplot/common/lib/files.yaml
      -rw-r--r-- root/root      8784 2026-08-18 10:01 ./usr/share/subplot/common/lib/runcmd.yaml
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/python/
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/python/lib/
      -rw-r--r-- root/root     10415 2026-08-18 10:01 ./usr/share/subplot/python/lib/daemon.py
      -rw-r--r-- root/root      4434 2026-08-18 10:01 ./usr/share/subplot/python/lib/daemon.yaml
      -rw-r--r-- root/root      8048 2026-08-18 10:01 ./usr/share/subplot/python/lib/files.py
      -rw-r--r-- root/root      8657 2026-08-18 10:01 ./usr/share/subplot/python/lib/runcmd.py
      drwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/subplot/python/template/
      -rw-r--r-- root/root      1275 2026-08-18 10:01 ./usr/share/subplot/python/template/asserts.py
      -rw-r--r-- root/root      2457 2026-08-18 10:01 ./usr/share/subplot/python/template/context.py
      -rw-r--r-- root/root      4611 2026-08-18 10:01 ./usr/share/subplot/python/template/context_tests.py
      -rw-r--r-- root/root       201 2026-08-18 10:01 ./usr/share/subplot/python/template/encoding.py
      -rw-r--r-- root/root       474 2026-08-18 10:01 ./usr/share/subplot/python/template/encoding_tests.py
      -rw-r--r-- root/root       412 2026-08-18 10:01 ./usr/share/subplot/python/template/files.py
      -rw-r--r-- root/root      4821 2026-08-18 10:01 ./usr/share/subplot/python/template/main.py
      -rw-r--r-- root/root      2785 2026-08-18 10:01 ./usr/share/subplot/python/template/scenarios.py
      -rw-r--r-- root/root      2565 2026-08-18 10:01 ./usr/share/subplot/python/template/template.py.tera
      -rw-r--r-- root/root       137 2026-08-18 10:01 ./usr/share/subplot/python/template/template.yaml
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/lib/
      -rw-r--r-- root/root       788 2026-08-18 10:01 ./usr/share/subplot/rust/lib/datadir.yaml
      drwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/template/
      -rw-r--r-- root/root      1449 2026-08-18 10:01 ./usr/share/subplot/rust/template/macros.rs.tera
      -rw-r--r-- root/root      1213 2026-08-18 10:01 ./usr/share/subplot/rust/template/template.rs.tera
      -rw-r--r-- root/root        71 2026-08-18 10:01 ./usr/share/subplot/rust/template/template.yaml
      -rw-r--r-- root/root      2103 2026-08-18 10:01 ./usr/share/subplot/subplot.css
      
    • Stderr
      + echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'
      + export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
      + export CARGO_HOME=/ci/deps
      + CARGO_HOME=/ci/deps
      + export DEBEMAIL=liw@liw.fi
      + DEBEMAIL=liw@liw.fi
      + export 'DEBFULLNAME=Lars Wirzenius'
      + DEBFULLNAME='Lars Wirzenius'
      + /bin/env
      + command -v cargo
      + command -v rustc
      + cargo --version
      + rustc --version
      ++ dpkg-parsechangelog -SSource
      + name=subplot
      ++ dpkg-parsechangelog -SVersion
      + version=0.14.0.ci20260818T100954-1
      ++ echo 0.14.0.ci20260818T100954-1
      ++ sed 's/-[^-]*$//'
      + uv=0.14.0.ci20260818T100954
      ++ dpkg --print-architecture
      + arch=amd64
      + orig=../subplot_0.14.0.ci20260818T100954.orig.tar.xz
      + deb=../subplot_0.14.0.ci20260818T100954-1_amd64.deb
      + changes=../subplot_0.14.0.ci20260818T100954-1_amd64.changes
      + git archive HEAD
      + xz
      + dpkg-buildpackage -us -uc
       dpkg-source --before-build .
       debian/rules clean
       dpkg-source -b .
       debian/rules binary
        Installing subplot-bin v0.14.0 (/ci/src/bin)
         Compiling proc-macro2 v1.0.103
         Compiling unicode-ident v1.0.22
         Compiling quote v1.0.42
         Compiling cfg-if v1.0.4
         Compiling memchr v2.7.6
         Compiling syn v2.0.111
         Compiling zerocopy v0.8.31
         Compiling libc v0.2.178
         Compiling once_cell v1.21.3
         Compiling serde_core v1.0.228
         Compiling aho-corasick v1.1.4
         Compiling version_check v0.9.5
         Compiling regex-syntax v0.8.8
         Compiling regex-automata v0.4.13
         Compiling ahash v0.8.12
         Compiling crossbeam-utils v0.8.21
         Compiling itoa v1.0.15
         Compiling anyhow v1.0.100
         Compiling bitflags v2.10.0
         Compiling serde v1.0.228
         Compiling log v0.4.29
         Compiling serde_derive v1.0.228
         Compiling encoding_rs v0.8.35
         Compiling ucd-trie v0.1.7
         Compiling arraydeque v0.5.1
         Compiling doc-comment v0.3.4
         Compiling pest v2.8.4
         Compiling crossbeam-epoch v0.9.18
         Compiling hashbrown v0.14.5
         Compiling getrandom v0.2.16
         Compiling bstr v1.12.1
         Compiling same-file v1.0.6
         Compiling time-core v0.1.6
         Compiling find-msvc-tools v0.1.5
         Compiling unicode-width v0.2.2
         Compiling foldhash v0.1.5
         Compiling libm v0.2.15
         Compiling shlex v1.3.0
         Compiling rustix v1.1.2
         Compiling utf8parse v0.2.2
         Compiling getrandom v0.3.4
         Compiling num-conv v0.1.0
         Compiling time-macros v0.2.24
         Compiling anstyle-parse v0.2.7
         Compiling cc v1.2.49
         Compiling hashbrown v0.15.5
         Compiling globset v0.4.18
         Compiling walkdir v2.5.0
         Compiling hashlink v0.9.1
         Compiling rand_core v0.6.4
         Compiling crossbeam-deque v0.8.6
         Compiling pest_meta v2.8.4
         Compiling serde_path_to_error v0.1.20
         Compiling ppv-lite86 v0.2.21
         Compiling tracing-core v0.1.36
         Compiling anstyle v1.0.13
         Compiling powerfmt v0.2.0
         Compiling serde_json v1.0.145
         Compiling thiserror v2.0.17
         Compiling linux-raw-sys v0.11.0
         Compiling anstyle-query v1.1.5
         Compiling lazy_static v1.5.0
         Compiling colorchoice v1.0.4
         Compiling is_terminal_polyfill v1.70.2
         Compiling anstream v0.6.21
         Compiling deranged v0.5.5
         Compiling rand_chacha v0.3.1
         Compiling pest_generator v2.8.4
         Compiling ignore v0.4.25
         Compiling yaml-rust2 v0.9.0
         Compiling hashlink v0.10.0
         Compiling pikchr v0.1.4
         Compiling tracing-attributes v0.1.31
         Compiling thiserror-impl v2.0.17
         Compiling clap_lex v0.7.6
         Compiling deunicode v1.6.2
         Compiling ryu v1.0.20
         Compiling heck v0.5.0
         Compiling unicode-linebreak v0.1.5
         Compiling fastrand v2.3.0
         Compiling smawk v0.3.2
         Compiling pin-project-lite v0.2.16
         Compiling strsim v0.11.1
         Compiling pulldown-cmark v0.13.0
         Compiling clap_builder v4.5.53
         Compiling time v0.3.44
         Compiling tracing v0.1.44
         Compiling textwrap v0.16.2
         Compiling tempfile v3.23.0
         Compiling clap_derive v4.5.49
         Compiling slug v0.1.6
         Compiling humansize v2.1.3
         Compiling yaml-rust2 v0.10.4
         Compiling marked-yaml v0.7.2
         Compiling globwalk v0.9.1
         Compiling pest_derive v2.8.4
         Compiling subplot v0.14.0 (/ci/src)
         Compiling rand v0.8.5
         Compiling getopts v0.2.24
         Compiling regex v1.12.2
         Compiling utf8-width v0.1.8
         Compiling pulldown-cmark-escape v0.11.0
         Compiling unicode-segmentation v1.12.0
         Compiling unicase v2.8.1
         Compiling percent-encoding v2.3.2
         Compiling git-testament-derive v0.2.1
         Compiling tera v1.20.1
         Compiling html-escape v0.2.13
         Compiling roadmap v0.7.0
         Compiling marked-yaml v0.8.0
         Compiling clap v4.5.53
         Compiling sharded-slab v0.1.7
         Compiling tracing-log v0.2.0
         Compiling matchers v0.2.0
         Compiling thread_local v1.1.9
         Compiling base64 v0.22.1
         Compiling smallvec v1.15.1
         Compiling nu-ansi-term v0.50.3
         Compiling line-col v0.2.1
         Compiling descape v3.0.0
         Compiling tracing-subscriber v0.3.22
         Compiling git-testament v0.2.6
         Compiling subplot-bin v0.14.0 (/ci/src/bin)
          Finished `release` profile [optimized] target(s) in 2m 03s
        Installing /ci/src/debian/subplot/bin/subplot
         Installed package `subplot-bin v0.14.0 (/ci/src/bin)` (executable `subplot`)
      warning: be sure to add `/ci/src/debian/subplot/bin` to your PATH to be able to run the installed binaries
      dh_installchangelogs: warning: Could not parse timestamp '15 April 2022 15:00:00 +0100'. debian/changelog will not be trimmed.
      dh_installchangelogs: warning: debian/changelog could not be trimmed. The full changelog will be installed.
      dpkg-shlibdeps: warning: couldn't parse dynamic symbol definition: no symbols
      dpkg-gencontrol: warning: Depends field of package subplot: substitution variable ${shlibs:Depends} used, but is not defined
      dpkg-gencontrol: warning: Built-Using field of package subplot: substitution variable ${cargo:Built-Using} used, but is not defined
      dpkg-gencontrol: warning: Depends field of package subplot: substitution variable ${shlibs:Depends} used, but is not defined
      dpkg-gencontrol: warning: Built-Using field of package subplot: substitution variable ${cargo:Built-Using} used, but is not defined
       dpkg-genbuildinfo -O../subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo
       dpkg-genchanges -O../subplot_0.14.0.ci20260818T100954-1_amd64.changes
       dpkg-source --after-build .
      + ls -l ..
      + for x in ../*.deb
      + dpkg -c ../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb
      + for x in ../*.deb
      + dpkg -c ../subplot_0.14.0.ci20260818T100954-1_amd64.deb
      + mv ../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb ../subplot_0.14.0.ci20260818T100954-1.debian.tar.xz ../subplot_0.14.0.ci20260818T100954-1.dsc ../subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo ../subplot_0.14.0.ci20260818T100954-1_amd64.changes ../subplot_0.14.0.ci20260818T100954-1_amd64.deb ../subplot_0.14.0.ci20260818T100954.orig.tar.xz /ci/artifacts/.
      
  33. 565216 ms: Action succeeded: deb
    - action: deb
      packages: .
    
  34. 565239 ms: Program succeeded: bash
    • Exit code: 0
    • Stdout
      /ci/artifacts
      /ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.changes
      /ci/artifacts/rsync
      /ci/artifacts/website.html
      /ci/artifacts/user-guide.html
      /ci/artifacts/subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb
      /ci/artifacts/debian
      /ci/artifacts/seq.html
      /ci/artifacts/subplot.html
      /ci/artifacts/subplot_0.14.0.ci20260818T100954.orig.tar.xz
      /ci/artifacts/subplot_0.14.0.ci20260818T100954-1.debian.tar.xz
      /ci/artifacts/subplot_0.14.0.ci20260818T100954-1.dsc
      /ci/artifacts/files.html
      /ci/artifacts/runcmd.html
      /ci/artifacts/muck.html
      /ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.deb
      /ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo
      /ci/artifacts/libdocs
      /ci/artifacts/libdocs/daemon.html
      /ci/artifacts/libdocs/files.html
      /ci/artifacts/libdocs/runcmd.html
      
    • Stderr
      + find /ci/artifacts
      
  35. 565256 ms: Action succeeded: shell: find /ci/artifacts
    - action: shell
      shell: |
        find /ci/artifacts
    
  36. 571162 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vde
      directory: /ci/cache
    
  37. 571179 ms: Action succeeded: tar_create
    - action: tar_create
      archive: /dev/vdd
      directory: /ci/artifacts
    
  38. 571179 ms: Plan succededThere was much rejoicing!
  39. 571179 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(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  ] Started systemd-journald.service - Journal Service.
[  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-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  ] 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  ] Finished systemd-networkd-persiste…istent Storage in systemd-networkd.
[  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  ] 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...
         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-networkd.service - Network Configuration.
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
[  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-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[  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  ] Unmounted run-lock.mount - Legacy Locks Directory /run/lock.
[  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.
[  581.495471] 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
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   4.1M  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-18 10:01 ./
-rw-r--r-- _rad/_rad      1633 2026-08-18 10:02 ./plan.yaml
-rwxr-xr-x _rad/_rad   5460288 2026-08-18 10:02 ./run-ci
INFO: Extracted files:
        8      0 drwxr-xr-x   2 1000     1000           80 Aug 18 10:01 .
       10   5336 -rwxr-xr-x   1 1000     1000      5460288 Aug 18 10:02 ./run-ci
        9      4 -rw-r--r--   1 1000     1000         1633 Aug 18 10:02 ./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":1787047361,"nanos_since_epoch":986679718}}
{"type":"trace","title":"Set environment variable \"HOME\"","msg":"\"HOME\"=\"/root\"","timestamp":{"secs_since_epoch":1787047361,"nanos_since_epoch":989421484}}
{"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_fmt"},{"action":"cargo_clippy"},{"action":"shell","shell":"make OFFLINE=\"--offline\"\ncp -a doc/* /ci/artifacts/.\n\n# Clean up after tests and documentation building.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n"},{"action":"custom","name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"}},{"action":"deb","packages":"."},{"action":"shell","shell":"find /ci/artifacts\n"},{"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":1787047361,"nanos_since_epoch":992620885}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":26249685}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":31235616}}
{"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":1787047362,"nanos_since_epoch":38705295}}
{"type":"trace","title":"Set environment variable \"CARGO_TARGET_DIR\"","msg":"\"CARGO_TARGET_DIR\"=\"/ci/cache/cargo-target\"","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":46797555}}
{"type":"trace","title":"Set environment variable \"CARGO_HOME\"","msg":"\"CARGO_HOME\"=\"/ci/deps\"","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":54834518}}
{"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":1787047362,"nanos_since_epoch":61443092}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":66403289}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":70870060}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":73898379}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":78147872}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/debian\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":81855651}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/debian","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":95283349}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/artifacts/rsync\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":100896818}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/artifacts/rsync","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":105256073}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":108622296}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/secrets","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":112990989}}
{"type":"trace","title":"Execute action","msg":"Mkdir(\n    Mkdir {\n        pathname: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":116234367}}
{"type":"action_succeeded","action":"mkdir","pathname":"/ci/deps","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":120635230}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdc\",\n        directory: \"/ci/src\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":123916140}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdc","directory":"/ci/src","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":158796651}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdf\",\n        directory: \"/ci/deps\",\n    },\n)","timestamp":{"secs_since_epoch":1787047362,"nanos_since_epoch":160939704}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdf","directory":"/ci/deps","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":586099505}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":586173040}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":597258117}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":597317496}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":608228157}}
{"type":"trace","title":"Execute action","msg":"TarExtract(\n    TarExtract {\n        archive: \"/dev/vdg\",\n        directory: \"/ci/secrets\",\n    },\n)","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":612100744}}
{"type":"action_succeeded","action":"tar_extract","archive":"/dev/vdg","directory":"/ci/secrets","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":619509611}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"ln -sf /ci /workspace\",\n    },\n)","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":623020799}}
{"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":1787047365,"nanos_since_epoch":627151375}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"","stderr":"+ ln -sf /ci /workspace\n","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":653314373}}
{"type":"action_succeeded","action":"shell","shell":"ln -sf /ci /workspace","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":657703418}}
{"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":1787047365,"nanos_since_epoch":660779762}}
{"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":1787047365,"nanos_since_epoch":669410342}}
{"type":"trace","title":"Execute action","msg":"CargoFmt(\n    CargoFmt,\n)","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":676167564}}
{"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":1787047365,"nanos_since_epoch":680087720}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"cargo 1.97.1 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":755600595}}
{"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":1787047365,"nanos_since_epoch":759973000}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"clippy 0.1.97 (8bab26f4f6 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":891324251}}
{"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":1787047365,"nanos_since_epoch":897940832}}
{"type":"program_succeeded","program_name":"rustc","exit_code":0,"stdout":"rustc 1.97.1 (8bab26f4f 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047365,"nanos_since_epoch":951771494}}
{"type":"trace","title":"Start program cargo","msg":"Command {\n    program: \"cargo\",\n    args: [\n        \"cargo\",\n        \"fmt\",\n        \"--check\",\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":1787047365,"nanos_since_epoch":956825380}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"","stderr":"","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":329654533}}
{"type":"action_succeeded","action":"cargo_fmt","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":333360416}}
{"type":"trace","title":"Execute action","msg":"CargoClippy(\n    CargoClippy,\n)","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":336124284}}
{"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":1787047366,"nanos_since_epoch":339699229}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"cargo 1.97.1 (c980f4866 2026-06-30)\n","stderr":"","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":373760902}}
{"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":1787047366,"nanos_since_epoch":377222294}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"clippy 0.1.97 (8bab26f4f6 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":460007382}}
{"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":1787047366,"nanos_since_epoch":460123535}}
{"type":"program_succeeded","program_name":"rustc","exit_code":0,"stdout":"rustc 1.97.1 (8bab26f4f 2026-07-14)\n","stderr":"","timestamp":{"secs_since_epoch":1787047366,"nanos_since_epoch":505350318}}
{"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":1787047366,"nanos_since_epoch":509876438}}
{"type":"program_succeeded","program_name":"cargo","exit_code":0,"stdout":"","stderr":"   Compiling proc-macro2 v1.0.103\n   Compiling quote v1.0.42\n   Compiling unicode-ident v1.0.22\n    Checking cfg-if v1.0.4\n   Compiling zerocopy v0.8.31\n   Compiling serde_core v1.0.228\n   Compiling syn v2.0.111\n    Checking memchr v2.7.6\n   Compiling libc v0.2.178\n   Compiling crossbeam-utils v0.8.21\n   Compiling version_check v0.9.5\n   Compiling ahash v0.8.12\n   Compiling serde v1.0.228\n    Checking once_cell v1.21.3\n    Checking aho-corasick v1.1.4\n    Checking regex-syntax v0.8.8\n    Checking bitflags v2.10.0\n   Compiling anyhow v1.0.100\n   Compiling doc-comment v0.3.4\n   Compiling getrandom v0.3.4\n   Compiling serde_derive v1.0.228\n   Compiling rustix v1.1.2\n   Compiling same-file v1.0.6\n   Compiling libm v0.2.15\n   Compiling walkdir v2.5.0\n    Checking itoa v1.0.15\n   Compiling ucd-trie v0.1.7\n   Compiling pest v2.8.4\n   Compiling serde_json v1.0.145\n   Compiling shlex v1.3.0\n   Compiling thiserror v2.0.17\n   Compiling find-msvc-tools v0.1.5\n   Compiling pest_meta v2.8.4\n   Compiling cc v1.2.49\n   Compiling thiserror-impl v2.0.17\n   Compiling pikchr v0.1.4\n   Compiling pest_generator v2.8.4\n   Compiling tracing-attributes v0.1.31\n   Compiling pest_derive v2.8.4\n    Checking linux-raw-sys v0.11.0\n   Compiling pulldown-cmark v0.13.0\n    Checking regex-automata v0.4.13\n    Checking lazy_static v1.5.0\n    Checking fastrand v2.3.0\n   Compiling log v0.4.29\n    Checking ryu v1.0.20\n    Checking base64 v0.22.1\n   Compiling encoding_rs v0.8.35\n   Compiling arraydeque v0.5.1\n   Compiling num-conv v0.1.0\n   Compiling time-core v0.1.6\n   Compiling time-macros v0.2.24\n   Compiling crossbeam-epoch v0.9.18\n    Checking tempfile v3.23.0\n   Compiling hashbrown v0.14.5\n   Compiling getrandom v0.2.16\n    Checking regex v1.12.2\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling bstr v1.12.1\n   Compiling foldhash v0.1.5\n   Compiling unicode-width v0.2.2\n   Compiling globset v0.4.18\n   Compiling hashbrown v0.15.5\n   Compiling rand_core v0.6.4\n   Compiling hashlink v0.9.1\n   Compiling crossbeam-deque v0.8.6\n   Compiling serde_path_to_error v0.1.20\n   Compiling ppv-lite86 v0.2.21\n   Compiling culpa-macros v1.0.2\n   Compiling cfg_aliases v0.2.1\n   Compiling nix v0.29.0\n   Compiling rand_chacha v0.3.1\n   Compiling yaml-rust2 v0.9.0\n   Compiling ignore v0.4.25\n   Compiling hashlink v0.10.0\n    Checking powerfmt v0.2.0\n   Compiling unicode-linebreak v0.1.5\n   Compiling smawk v0.3.2\n   Compiling deunicode v1.6.2\n   Compiling slug v0.1.6\n   Compiling textwrap v0.16.2\n   Compiling humansize v2.1.3\n    Checking deranged v0.5.5\n   Compiling yaml-rust2 v0.10.4\n   Compiling globwalk v0.9.1\n   Compiling marked-yaml v0.7.2\n   Compiling rand v0.8.5\n   Compiling getopts v0.2.24\n   Compiling tracing-core v0.1.36\n   Compiling unicase v2.8.1\n   Compiling pin-project-lite v0.2.16\n   Compiling utf8-width v0.1.8\n   Compiling unicode-segmentation v1.12.0\n   Compiling pulldown-cmark-escape v0.11.0\n   Compiling percent-encoding v2.3.2\n   Compiling tera v1.20.1\n    Checking time v0.3.44\n   Compiling html-escape v0.2.13\n   Compiling tracing v0.1.44\n   Compiling roadmap v0.7.0\n   Compiling marked-yaml v0.8.0\n    Checking culpa v1.0.2\n    Checking cvt v0.1.2\n   Compiling line-col v0.2.1\n   Compiling descape v3.0.0\n    Checking fs_at v0.2.1\n   Compiling subplotlib v0.14.0 (/ci/src/subplotlib)\n    Checking normpath v1.5.0\n    Checking remove_dir_all v1.0.0\n    Checking fs2 v0.4.3\n    Checking filetime v0.2.26\n    Checking shell-words v1.1.1\n    Checking state v0.6.0\n   Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)\n    Checking subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)\n    Checking utf8parse v0.2.2\n    Checking anstyle-parse v0.2.7\n    Checking anstyle v1.0.13\n    Checking is_terminal_polyfill v1.70.2\n    Checking anstyle-query v1.1.5\n    Checking colorchoice v1.0.4\n    Checking anstream v0.6.21\n    Checking clap_lex v0.7.6\n   Compiling heck v0.5.0\n    Checking strsim v0.11.1\n   Compiling clap_derive v4.5.49\n    Checking clap_builder v4.5.53\n    Checking clap v4.5.53\n   Compiling git-testament-derive v0.2.1\n    Checking tracing-log v0.2.0\n    Checking sharded-slab v0.1.7\n    Checking matchers v0.2.0\n    Checking thread_local v1.1.9\n    Checking smallvec v1.15.1\n    Checking nu-ansi-term v0.50.3\n    Checking tracing-subscriber v0.3.22\n    Checking git-testament v0.2.6\n    Checking subplot-bin v0.14.0 (/ci/src/bin)\n    Checking subplot-seq-example v0.1.0 (/ci/src/examples/seq)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s\n","timestamp":{"secs_since_epoch":1787047481,"nanos_since_epoch":412099449}}
{"type":"action_succeeded","action":"cargo_clippy","timestamp":{"secs_since_epoch":1787047481,"nanos_since_epoch":499572197}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"make OFFLINE=\\\"--offline\\\"\\ncp -a doc/* /ci/artifacts/.\\n\\n# Clean up after tests and documentation building.\\ngit reset --hard\\ngit clean -fdx\\ngit status --ignored\\n\",\n    },\n)","timestamp":{"secs_since_epoch":1787047481,"nanos_since_epoch":499817353}}
{"type":"trace","title":"Start program bash","msg":"Command {\n    program: \"bash\",\n    args: [\n        \"bash\",\n        \"-c\",\n        \"set -xeuo pipefail\\nmake OFFLINE=\\\"--offline\\\"\\ncp -a doc/* /ci/artifacts/.\\n\\n# Clean up after tests and documentation building.\\ngit reset --hard\\ngit clean -fdx\\ngit status --ignored\\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":1787047481,"nanos_since_epoch":500182692}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"which cargo\n/root/.cargo/bin/cargo\nwhich dot\n/usr/bin/dot\nwhich plantuml\n/usr/bin/plantuml\nwhich python3\n/usr/bin/python3\nwhich rustc\n/root/.cargo/bin/rustc\nwhich rustfmt\n/root/.cargo/bin/rustfmt\nwhich tidy\n/usr/bin/tidy\nif which shellcheck; then shellcheck *.sh; fi\n/usr/bin/shellcheck\nif cargo clippy --version; then \\\n    cargo clippy --locked --offline --workspace --all-targets -- -Dwarnings && \\\n\tcd examples/seq && cargo clippy --workspace --all-targets -- -Dwarnings; \\\nfi\nclippy 0.1.97 (8bab26f4f6 2026-07-14)\nrm -rf \"/ci/src/inst\"\ncargo install --target x86_64-unknown-linux-musl --locked --offline --path=bin --root=\"/ci/src/inst\" --debug\nmv \"/ci/src/inst\"/bin/* \"/ci/src/inst\"\nrm -rf \"/ci/src/inst\"/.crate*  \"/ci/src/inst\"/bin\ncd share/python/template && python3 context_tests.py\ncd share/python/template && python3 encoding_tests.py\nenv SUBPLOT_DIR=\"/ci/src/inst\" cargo test --target x86_64-unknown-linux-musl --workspace -- \n\nrunning 108 tests\ntest bindings::test_binding::creates_new ... ok\ntest bindings::test_binding::does_not_match_with_wrong_kind ... ok\ntest bindings::test_binding::case_sensitive_mismatch ... ok\ntest bindings::test_binding::does_not_match_with_wrong_text ... ok\ntest bindings::test_binding::match_with_fixed_pattern ... ok\ntest bindings::test_binding::equal ... ok\ntest bindings::test_binding::not_equal ... ok\ntest bindings::test_bindings::add_from_yaml_notices_multiple_keywords ... ok\ntest bindings::test_bindings::adds_binding ... ok\ntest bindings::test_binding::match_with_regex ... ok\ntest bindings::test_bindings::does_not_find_match_for_unmatching_kind ... ok\ntest bindings::test_bindings::does_not_find_match_for_unmatching_pattern ... ok\ntest bindings::test_bindings::finds_match_for_fixed_string_pattern ... ok\ntest bindings::test_bindings::finds_match_for_regexp_pattern ... ok\ntest bindings::test_bindings::has_no_bindings_initially ... ok\ntest bindings::test_bindings::two_matching_bindings ... ok\ntest bindings::test_bindings::adds_from_yaml ... ok\ntest bindings::test_bindings::typemap_must_match_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::returns_boring_pattern_as_is ... ok\ntest bindings::test_regex_from_simple_pattern::kindless_simple_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::returns_error_for_stray_closing_brace ... ok\ntest bindings::test_regex_from_simple_pattern::returns_empty_string_as_is ... ok\ntest bindings::test_regex_from_simple_pattern::returns_error_for_stray_closing_brace_before_capture ... ok\ntest bindings::test_regex_from_simple_pattern::returns_error_for_stray_opening_brace_before_capture ... ok\ntest bindings::test_regex_from_simple_pattern::returns_error_for_stray_opening_brace ... ok\ntest bindings::test_regex_from_simple_pattern::returns_pattern_with_regexp_chars_escaped ... ok\ntest bindings::test_regex_from_simple_pattern::simple_int_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::simple_number_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::simple_text_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::simple_word_pattern ... ok\ntest bindings::test_regex_from_simple_pattern::typemap_and_pattern_kind_must_match ... ok\ntest bindings::test_regex_from_simple_pattern::typemap_checked_on_pattern_parse_and_default_agrees ... ok\ntest bindings::test_regex_from_simple_pattern::typemap_updated_on_pattern_parse_default ... ok\ntest bindings::test_regex_from_simple_pattern::typemap_updated_on_pattern_parse_explicit ... ok\ntest bindings::test_regex_from_simple_pattern::typemap_used_when_kind_not_present ... ok\ntest blockattr::test::empty_braces ... ok\ntest blockattr::test::empty_string ... ok\ntest blockattr::test::just_word ... ok\ntest blockattr::test::open_brace_without_close ... ok\ntest blockattr::test::parse_one_dotted_word ... ok\ntest blockattr::test::parse_one_id ... ok\ntest blockattr::test::parse_one_kv ... ok\ntest blockattr::test::parse_one_kv_with_double_quotes ... ok\ntest blockattr::test::parse_one_kv_with_single_quotes ... ok\ntest blockattr::test::parse_one_word ... ok\ntest blockattr::test::two_ids ... ok\ntest blockattr::test::two_words ... ok\ntest codegen::test::verify_commentsafe_filter ... ok\ntest codegen::test::verify_name_slugification ... ok\ntest html::test_tag::can_self_close ... ok\ntest html::test_tag::cannot_self_close ... ok\ntest matches::test::returns_text ... ok\ntest matches::test::returns_uncaptured ... ok\ntest matches::test_partial_steps::different_captured_texts_dont_match ... ok\ntest matches::test_partial_steps::different_uncaptured_texts_dont_match ... ok\ntest matches::test_partial_steps::differently_captured_texts_dont_match ... ok\ntest matches::test_partial_steps::differently_named_captured_texts_dont_match ... ok\ntest matches::test_partial_steps::identical_captured_texts_match ... ok\ntest matches::test_partial_steps::identical_uncaptured_texts_match ... ok\ntest md::test::finds_block_classes ... ok\ntest md::test::finds_embedded_files ... ok\ntest md::test::finds_images ... ok\ntest md::test::finds_no_blocks_in_empty_doc ... ok\ntest md::test::finds_no_classes_when_no_blocks_have_them ... ok\ntest md::test::finds_no_embedded_files_in_empty_doc ... ok\ntest md::test::finds_no_images_in_empty_doc ... ok\ntest md::test::finds_no_scenarios_in_empty_doc ... ok\ntest md::test::finds_scenarios ... ok\ntest md::test::loads_empty_doc ... ok\ntest md::test::parses_auto_as_auto ... ok\ntest md::test::parses_empty_as_error ... ok\ntest md::test::parses_garbage_as_error ... ok\ntest md::test::parses_no_as_no ... ok\ntest md::test::parses_no_auto_newline_as_auto ... ok\ntest md::test::parses_yes_as_yes ... ok\ntest md::test_extract::returns_error_if_scenario_has_no_title ... ok\ntest md::test_extract::returns_nothing_if_there_is_no_scenario ... ok\ntest md::test_extract::returns_parent_section_with_scenario_snippet ... ok\ntest md::test_extract::returns_scenario_if_there_is_one ... ok\ntest md::test_extract::skips_scenarioless_deeper_headings ... ok\ntest md::test_extract::skips_scenarioless_parent_heading ... ok\ntest md::test_extract::skips_scenarioless_section_in_favour_of_same_level ... ok\ntest metadata::test::full_meta ... ok\ntest scenarios::filtertest::exclude_slow ... ok\ntest scenarios::filtertest::exclude_unimportant_slow ... ok\ntest scenarios::filtertest::include_all ... ok\ntest scenarios::filtertest::include_fast ... ok\ntest scenarios::filtertest::include_none ... ok\ntest scenarios::test::adds_step ... ok\ntest scenarios::test::has_no_steps_initially ... ok\ntest scenarios::test::has_title ... ok\ntest steps::test::fails_to_parse_and ... ok\ntest steps::test::parses_and ... ok\ntest steps::test::parses_given ... ok\ntest steps::test::parses_given_with_extra_spaces ... ok\ntest steps::test::parses_then ... ok\ntest steps::test::parses_when ... ok\ntest steps::test_steps_parser::empty_string ... ok\ntest steps::test_steps_parser::preserve_nonascii_whitespace ... ok\ntest steps::test_steps_parser::simple ... ok\ntest steps::test_steps_parser::two_simple ... ok\ntest templatespec::test::new_from_yaml ... ok\ntest toc::test_numberer::numbering ... ok\ntest toc::test_slugs::short_and_simple ... ok\ntest toc::test_slugs::unique_for_identical_simple_headings ... ok\ntest toc::test_toc::iterate ... ok\ntest toc::test_toc::uses_given_slug ... ok\ntest bindings::test_regex_from_simple_pattern::simple_uint_pattern ... ok\n\ntest result: ok. 108 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s\n\n\nrunning 1 test\ntest bindings_microbenchmark ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.60s\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 4 tests\ntest no_arguments ... ok\ntest more_than_one_number ... ok\ntest not_a_number ... ok\ntest one_number ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\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 7 tests\ntest create_on_disk_files_from_embedded_files ... ok\ntest directories ... ok\ntest file_and_directory_removal ... ok\ntest file_equality ... ok\ntest file_metadata ... ok\ntest file_modification_time ... ok\ntest file_contents ... ok\n\ntest result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s\n\n\nrunning 21 tests\ntest check_stderr_doesn_t_contain_sub_string ... ok\ntest check_stderr_doesn_t_match_regular_expressions ... ok\ntest check_stderr_is_not_exactly_something ... ok\ntest check_stderr_is_exactly_as_wanted ... ok\ntest check_stderr_using_regular_expressions ... ok\ntest check_stderr_using_sub_string_search ... ok\ntest check_stdout_doesn_t_contain_sub_string ... ok\ntest check_stdout_is_exactly_as_wanted ... ok\ntest check_stdout_doesn_t_match_regular_expression ... ok\ntest check_stdout_is_not_exactly_something ... ok\ntest check_stdout_using_sub_string_search ... ok\ntest check_stdout_using_regular_expressions ... ok\ntest check_we_can_prepend_to__path ... ok\ntest execution_in_a_sub_directory_does_not_affect_home ... ok\ntest failed_execution ... ok\ntest failed_execution_in_a_sub_directory ... ok\ntest stdin_comes_from_a_named_file ... ok\ntest stdin_contains_exactly ... ok\ntest setting_and_clearing_of_environment_variables ... ok\ntest successful_execution ... ok\ntest successful_execution_in_a_sub_directory ... ok\n\ntest result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s\n\n\nrunning 28 tests\ntest capture_using_regular_expressions ... ok\ntest all_the_keywords ... ok\ntest capture_using_simple_patterns ... ok\ntest cleanup_functions_get_called_on_failure__python_ ... ok\ntest code_generator_gives_an_error_if_input_document_lacks_title ... ok\ntest cleanup_functions_gets_called_on_success__python_ ... ok\ntest examples_are_not_files ... ok\ntest empty_lines_in_scenarios ... ok\ntest files_not_in_current_working_directory ... ok\ntest lowest_level_heading_is_name_of_scenario ... ok\ntest missing_functions_file ... ok\ntest misuse_of_continuation_keywords ... ok\ntest next_heading_at_higher_level_starts_new_scenario ... ok\ntest no_scenarios_means_codegen_fails ... ok\ntest no_template_means_you_can_docgen_but_not_codegen ... ok\ntest next_heading_at_same_level_starts_new_scenario ... ok\ntest recall_values_for_use_in_later_steps ... ok\ntest running_only_chosen_scenarios_with_python ... ok\ntest simple_patterns_with_regex_metacharacters__allowed_case ... ok\ntest simple_patterns_with_regex_metacharacters__forbidden_case ... ok\ntest set_environment_variables_in_generated_test_programs ... ok\ntest steps_which_do_not_case_sensitively_match_sensitive_bindings_do_not_work ... ok\ntest steps_which_do_not_match_bindings_do_not_work ... ok\ntest steps_which_match_more_than_one_binding_do_not_work ... ok\ntest smoke_test ... ok\ntest subheadings_don_t_start_new_scenario ... ok\ntest subplot_accepts_title_and_headings_with_inline_markup ... ok\ntest temporary_files_in_scenarios_in_python ... ok\n\ntest result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.10s\n\n\nrunning 4 tests\ntest pikchr ... ok\ntest dot ... ok\ntest roadmap ... ok\ntest plantuml ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.28s\n\n\nrunning 28 tests\ntest bad__add_newline__value ... ok\ntest attempt_to_use_definition_list ... ok\ntest class_name_validation ... ok\ntest date_given_in_metadata ... ok\ntest date_given_on_command_line ... ok\ntest document_generator_gives_an_error_if_input_document_lacks_title ... ok\ntest dot ... ok\ntest css_urls ... ok\ntest embedded_css ... ok\ntest examples_may_be_unused ... ok\ntest extract_embedded_file ... ok\ntest fail_if_embedded_file_isn_t_used ... ok\ntest fail_if_two_filenames_only_differ_in_case ... ok\ntest empty_lines_in_scenarios ... ok\ntest files_not_in_current_working_directory ... ok\ntest missing_bindings_file ... ok\ntest multiple_markdown_files ... ok\ntest indented_scenario_steps_are_not_allowed ... ok\ntest no_date_anywhere ... ok\ntest no_template_means_you_can_docgen_but_not_codegen ... ok\ntest pikchr ... ok\ntest named_code_blocks_must_have_an_appropriate_class ... ok\ntest roadmap ... ok\ntest scenario_before_the_first_heading ... ok\ntest smoke_test ... ok\ntest subplot_accepts_title_and_headings_with_inline_markup ... ok\ntest title_markup ... ok\ntest plantuml ... ok\n\ntest result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.77s\n\n\nrunning 1 test\ntest extract_embedded_files ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 5 tests\ntest duplicate_scenario_titles ... ok\ntest extracting_metadata_from_a_document ... ok\ntest list_embedded_files ... ok\ntest scenario_titles ... ok\ntest files_not_in_current_working_directory ... ok\n\ntest result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s\n\n\nrunning 64 tests\ntest attempt_to_use_definition_list ... ok\ntest bad__add_newline__value ... ok\ntest all_the_keywords ... ok\ntest capture_using_regular_expressions ... ok\ntest class_name_validation ... ok\ntest cleanup_functions_get_called_on_failure__python_ ... ok\ntest capture_using_simple_patterns ... ok\ntest code_generator_gives_an_error_if_input_document_lacks_title ... ok\ntest cleanup_functions_gets_called_on_success__python_ ... ok\ntest date_given_in_metadata ... ok\ntest date_given_on_command_line ... ok\ntest document_generator_gives_an_error_if_input_document_lacks_title ... ok\ntest css_urls ... ok\ntest dot ... ok\ntest embedded_css ... ok\ntest duplicate_scenario_titles ... ok\ntest examples_are_not_files ... ok\ntest examples_may_be_unused ... ok\ntest extract_embedded_file ... ok\ntest extract_embedded_file__automatically_add_missing_newline ... ok\ntest extract_embedded_file__by_default_add_missing_newline ... ok\ntest extract_embedded_file__by_default_do_not_add_a_second_newline ... ok\ntest extract_embedded_file__do_not_add_missing_newline ... ok\ntest extract_embedded_file__do_not_automatically_add_second_newline ... ok\ntest extract_embedded_file__explicitly_add_missing_newline ... ok\ntest extract_embedded_file__explicitly_add_second_newline ... ok\ntest extract_embedded_files ... ok\ntest empty_lines_in_scenarios ... ok\ntest fail_if_embedded_file_isn_t_used ... ok\ntest fail_if_the_same_filename_is_used_twice ... ok\ntest fail_if_two_filenames_only_differ_in_case ... ok\ntest extracting_metadata_from_a_document ... ok\ntest indented_scenario_steps_are_not_allowed ... ok\ntest list_embedded_files ... ok\ntest files_not_in_current_working_directory ... ok\ntest missing_bindings_file ... ok\ntest lowest_level_heading_is_name_of_scenario ... ok\ntest missing_functions_file ... ok\ntest multiple_markdown_files ... ok\ntest named_code_blocks_must_have_an_appropriate_class ... ok\ntest misuse_of_continuation_keywords ... ok\ntest next_heading_at_higher_level_starts_new_scenario ... ok\ntest no_date_anywhere ... ok\ntest no_scenarios_means_codegen_fails ... ok\ntest no_template_means_you_can_docgen_but_not_codegen ... ok\ntest pikchr ... ok\ntest next_heading_at_same_level_starts_new_scenario ... ok\ntest recall_values_for_use_in_later_steps ... ok\ntest roadmap ... ok\ntest running_only_chosen_scenarios_with_python ... ok\ntest scenario_before_the_first_heading ... ok\ntest scenario_titles ... ok\ntest set_environment_variables_in_generated_test_programs ... ok\ntest simple_patterns_with_regex_metacharacters__allowed_case ... ok\ntest simple_patterns_with_regex_metacharacters__forbidden_case ... ok\ntest smoke_test ... ok\ntest steps_which_do_not_case_sensitively_match_sensitive_bindings_do_not_work ... ok\ntest steps_which_do_not_match_bindings_do_not_work ... ok\ntest steps_which_match_more_than_one_binding_do_not_work ... ok\ntest subheadings_don_t_start_new_scenario ... ok\ntest subplot_accepts_title_and_headings_with_inline_markup ... ok\ntest plantuml ... ok\ntest title_markup ... ok\ntest temporary_files_in_scenarios_in_python ... ok\n\ntest result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s\n\n\nrunning 3 tests\ntest embedded_files ... ok\ntest data_directory ... ok\ntest fundamentals ... ok\n\ntest result: ok. 3 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 6 tests\ntest src/bindings.rs - bindings::BindingImpl::cleanup (line 163) ... ignored\ntest src/bindings.rs - bindings::BindingImpl::function (line 151) ... ignored\ntest src/bindings.rs - bindings::BindingImpl::new (line 137) ... ignored\ntest src/diagrams.rs - diagrams::PikchrMarkup (line 116) ... ok\ntest src/diagrams.rs - diagrams::DotMarkup (line 149) ... ok\ntest src/diagrams.rs - diagrams::PlantumlMarkup (line 198) ... ok\n\ntest result: ok. 3 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 4.41s\n\n\nrunning 73 tests\ntest subplotlib/src/file.rs - file::SubplotDataFile (line 20) ... ok\ntest subplotlib/src/file.rs - file::SubplotDataFile::data (line 120) ... ok\ntest subplotlib/src/file.rs - file::SubplotDataFile::name (line 105) ... ok\ntest subplotlib/src/prelude.rs - prelude (line 6) ... ok\ntest subplotlib/src/file.rs - file::SubplotDataFile::new (line 76) ... ok\ntest subplotlib/src/prelude.rs - prelude::step (line 100) ... ok\ntest subplotlib/src/prelude.rs - prelude::throws (line 26) ... ok\ntest subplotlib/src/prelude.rs - prelude::step (line 73) ... ok\ntest subplotlib/src/prelude.rs - prelude::throws (line 39) ... ok\ntest subplotlib/src/scenario.rs - scenario::Scenario (line 305) ... ok\ntest subplotlib/src/step.rs - step::ScenarioStep (line 24) ... ok\ntest subplotlib/src/steplibrary/datadir.rs - steplibrary::datadir::datadir_has_enough_space::call (line 160) ... ignored\ntest subplotlib/src/steplibrary/datadir.rs - steplibrary::datadir::datadir_has_enough_space_megabytes::call (line 171) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::_create_from_embedded_with_other_name_executable::call (line 129) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::create_executable_from_embedded::call (line 93) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::create_executable_from_embedded_with_other_name::call (line 111) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_embedded::call (line 56) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_embedded_with_other_name::call (line 70) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::create_from_text::call (line 220) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_and_embedded_file_do_not_match::call (line 469) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_and_embedded_file_match::call (line 443) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_contains::call (line 341) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_do_not_match::call (line 417) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_does_not_exist::call (line 296) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_doesnt_contain::call (line 357) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_exists::call (line 276) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_match::call (line 390) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::file_matches_regex::call (line 374) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::has_different_metadata::call (line 544) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::has_remembered_metadata::call (line 505) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::make_directory::call (line 609) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::mtime_is_ancient::call (line 593) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::mtime_is_recent::call (line 577) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::only_these_exist::call (line 322) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::path_does_not_exist::call (line 659) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::path_exists::call (line 642) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::path_is_empty::call (line 678) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::path_is_not_empty::call (line 696) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::remember_metadata::call (line 231) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_directory::call (line 619) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_empty_directory::call (line 630) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::remove_file::call (line 181) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::touch::call (line 255) ... ignored\ntest subplotlib/src/steplibrary/files.rs - steplibrary::files::touch_with_timestamp::call (line 193) ... ignored\ntest subplotlib/src/steplibrary.rs - steplibrary (line 10) ... ok\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is::call (line 403) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_nonzero::call (line 442) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_not::call (line 419) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::exit_code_is_zero::call (line 431) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::helper_script::call (line 227) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::helper_srcdir_path::call (line 241) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::run::call (line 254) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::run_in::call (line 271) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::set_environment_variable::call (line 677) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_contains::call (line 594) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_doesnt_contain::call (line 607) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_doesnt_match_regex::call (line 663) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_is::call (line 542) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_isnt::call (line 555) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stderr_matches_regex::call (line 649) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdin_from_file::call (line 480) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdin_is::call (line 502) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_contains::call (line 568) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_doesnt_contain::call (line 581) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_doesnt_match_regex::call (line 635) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_is::call (line 516) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_isnt::call (line 529) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::stdout_matches_regex::call (line 621) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::try_to_run::call (line 285) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::try_to_run_in::call (line 298) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::unset_environment_variable::call (line 691) ... ignored\ntest subplotlib/src/steplibrary/runcmd.rs - steplibrary::runcmd::Runcmd::join_paths (line 155) ... ok\ntest subplotlib/src/utils.rs - utils::base64_decode (line 9) ... ok\n\ntest result: ok. 14 passed; 0 failed; 59 ignored; 0 measured; 0 filtered out; finished in 4.55s\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 21 tests\ntest subplotlib/steps/src/subplot.rs - subplot::cleanup_was_not_run::call (line 152) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::cleanup_was_run::call (line 138) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::do_nothing::call (line 24) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::file_ends_in_one_newline::call (line 176) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::file_ends_in_two_newlines::call (line 186) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::file_ends_in_zero_newlines::call (line 168) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::install_subplot::call (line 29) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::json_output_matches_file::call (line 196) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::scenario_was_not_run::call (line 111) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::scenario_was_run::call (line 104) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::step_was_run::call (line 118) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::step_was_run_and_then::call (line 125) ... ignored\ntest subplotlib/steps/src/subplot.rs - subplot::uninstall_subplot::call (line 99) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::a_trivial_cleanup::call (line 14) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::a_trivial_setup::call (line 9) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::acquire_file_content::call (line 37) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::check_contents::call (line 51) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::check_counter::call (line 32) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::increment_counter::call (line 17) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::internal_check_counter::call (line 22) ... ignored\ntest subplotlib/steps/src/subplotlib/impls.rs - subplotlib::impls::remember_target::call (line 42) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 21 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.48s; merged doctests compilation took 0.47s\n/ci/src/inst/subplot --resources /ci/src/share codegen subplot.subplot -o test.py --template python\nrm -f test.log\npython3 test.py --log test.log --env SUBPLOT_DIR=/ci/src/inst \nsrcdir /ci/src\ndatadir /tmp/tmppysc_ba5\nscenario: Indented scenario steps are not allowed\n  step 1: given file indented-step.subplot\n  step 2: given file indented-step.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I try to run subplot docgen indented-step.subplot -o foo.html\n  step 6: then command fails\n  step 7: then stderr contains \"indented\"\n  cleanup 4: given an installed subplot\nscenario: List embedded files\n  step 1: given file two-embedded.subplot\n  step 2: given file two-embedded.md\n  step 3: given an installed subplot\n  step 4: when I run subplot metadata --merciful two-embedded.subplot\n  step 5: then stdout contains \"foo.txt\"\n  step 6: then stdout contains \"bar.yaml\"\n  cleanup 3: given an installed subplot\nscenario: Extract embedded file, explicitly add second newline\n  step 1: given file add-has-newline.txt\n  step 2: then add-has-newline.txt ends in two newlines\nscenario: No template means you can docgen but not codegen\n  step 1: given file notemplate.subplot\n  step 2: given file notemplate.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen notemplate.subplot -o notemplate.html\n  step 5: then file notemplate.html exists\n  step 6: when I try to run subplot codegen notemplate.subplot -o test.py\n  step 7: then command fails\n  step 8: then stderr contains \"document has no template\"\n  cleanup 3: given an installed subplot\nscenario: Class name validation\n  step 1: given file unknown-class-name.subplot\n  step 2: given file unknown-class-name.md\n  step 3: given file known-class-name.subplot\n  step 4: given file known-class-name.md\n  step 5: given file b.yaml\n  step 6: given an installed subplot\n  step 7: when I try to run subplot docgen unknown-class-name.subplot -o unknown-class-name.html\n  step 8: then command fails\n  step 9: then file unknown-class-name.html does not exist\n  step 10: then stderr contains \"Unknown classes found in the document: foobar\"\n  step 11: when I run subplot docgen known-class-name.subplot -o known-class-name.html\n  step 12: then file known-class-name.html exists\n  cleanup 6: given an installed subplot\nscenario: Duplicate scenario titles\n  step 1: given file duplicate-scenario-titles.subplot\n  step 2: given file duplicate-scenario-titles.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot metadata duplicate-scenario-titles.subplot\n  step 7: then command fails\n  step 8: then stderr contains \"duplicate\"\n  cleanup 5: given an installed subplot\nscenario: Simple patterns with regex metacharacters: forbidden case\n  step 1: given file confusedpattern.subplot\n  step 2: given file confusedpattern.md\n  step 3: given file confusedpattern.yaml\n  step 4: given file capture.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot codegen --run confusedpattern.subplot -o test.py\n  step 7: then command fails\n  step 8: then stderr contains \"simple pattern contains regex\"\n  cleanup 5: given an installed subplot\nscenario: Named code blocks must have an appropriate class\n  step 1: given file named-code-blocks-appropriate.subplot\n  step 2: given file named-code-blocks-appropriate.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I try to run subplot docgen named-code-blocks-appropriate.subplot -o foo.html\n  step 6: then command fails\n  step 7: then stderr contains \"#example-1 at named-code-blocks-appropriate.md:7:1\"\n  step 8: then stderr doesn't contain \"example-2\"\n  step 9: then stderr doesn't contain \"example-3\"\n  cleanup 4: given an installed subplot\nscenario: Pikchr\n  step 1: given file pikchr.subplot\n  step 2: given file pikchr.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen pikchr.subplot -o pikchr.html\n  step 5: then file pikchr.html matches regex /src=\"data:image/svg\\\\+xml;base64,/\n  cleanup 3: given an installed subplot\nscenario: Next heading at same level starts new scenario\n  step 1: given file samelevelisnewscenario.subplot\n  step 2: given file samelevelisnewscenario.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run samelevelisnewscenario.subplot -o test.py\n  step 7: then scenario \"heading 1.1.1\" was run\n  step 8: then scenario \"heading 1.1.2\" was run\n  step 9: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Extract embedded file, by default add missing newline\n  step 1: given file default-without-newline.txt\n  step 2: then default-without-newline.txt ends in one newline\nscenario: Attempt to use definition list\n  step 1: given an installed subplot\n  step 2: given file dl.subplot\n  step 3: given file dl.md\n  step 4: when I try to run subplot docgen dl.subplot -o /dev/null\n  step 5: then command fails\n  step 6: then stderr contains \"ERROR dl.md:3:1: attempt to use definition lists in Markdown\"\n  cleanup 1: given an installed subplot\nscenario: Steps which match more than one binding do not work\n  step 1: given file twobindings.subplot\n  step 2: given file twobindings.md\n  step 3: given file twobindings.yaml\n  step 4: given file a_function.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot codegen --run twobindings.subplot -o test.py\n  step 7: then command fails\n  step 8: then stderr contains \"xyzzy\"\n  step 9: then stderr contains \"plugh\"\n  cleanup 5: given an installed subplot\nscenario: Extracting metadata from a document\n  step 1: given file images.subplot\n  step 2: given file images.md\n  step 3: given file b.yaml\n  step 4: given file other.yaml\n  step 5: given file f.py\n  step 6: given file other.py\n  step 7: given file expected.json\n  step 8: given an installed subplot\n  step 9: when I run subplot metadata images.subplot\n  step 10: then stdout contains \"source: images.md\"\n  step 11: then stdout contains \"source: b.yaml\"\n  step 12: then stdout contains \"source: other.yaml\"\n  step 13: then stdout contains \"source: f.py\"\n  step 14: then stdout contains \"source: other.py\"\n  step 15: then stdout contains \"source: image.gif\"\n  step 16: then stdout contains \"bindings: b.yaml\"\n  step 17: then stdout contains \"bindings: other.yaml\"\n  step 18: then stdout contains \"functions[python]: f.py\"\n  step 19: when I run subplot metadata images.subplot -o json\n  step 20: then JSON output matches expected.json\n  cleanup 8: given an installed subplot\nscenario: Missing bindings file\n  step 1: given file missing-binding.subplot\n  step 2: given file missing-binding.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot docgen missing-binding.subplot -o foo.html\n  step 5: then command fails\n  step 6: then stderr contains \"could not be found\"\n  step 7: then stderr contains \"missing-binding.yaml\"\n  cleanup 3: given an installed subplot\nscenario: Multiple markdown files\n  step 1: given file multimd.subplot\n  step 2: given file md1.md\n  step 3: given file md2.md\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen multimd.subplot -o multimd.html\n  step 6: when I run cat multimd.html\n  step 7: then file multimd.html exists\n  step 8: then file multimd.html contains \"<title>The Fabulous Title</title>\"\n  step 9: then file multimd.html contains \"First markdown file.\"\n  step 10: then file multimd.html contains \"Second markdown file.\"\n  cleanup 4: given an installed subplot\nscenario: Extract embedded file, automatically add missing newline\n  step 1: given file auto-without-newline.txt\n  step 2: then auto-without-newline.txt ends in one newline\nscenario: Missing functions file\n  step 1: given file missing-functions.subplot\n  step 2: given file missing-functions.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I try to run subplot codegen --run missing-functions.subplot -o foo.py\n  step 6: then command fails\n  step 7: then stderr contains \"could not be found\"\n  step 8: then stderr contains \"missing-functions.py\"\n  cleanup 4: given an installed subplot\nscenario: Subplot accepts title and headings with inline markup\n  step 1: given file fancytitle.subplot\n  step 2: given file fancytitle.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot docgen fancytitle.subplot -o foo.md\n  step 7: then command is successful\n  step 8: when I try to run subplot codegen fancytitle.subplot -o foo.md\n  step 9: then command is successful\n  cleanup 5: given an installed subplot\nscenario: No date anywhere\n  step 1: given file dateless.subplot\n  step 2: given file dateless.md\n  step 3: given file dateless.md has modification time 2020-02-26 07:53:17\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen dateless.subplot -o mtime.html\n  step 6: then file mtime.html exists\n  step 7: then file mtime.html contains \"<title>The Fabulous Title</title>\"\n  step 8: then file mtime.html contains \"Alfred Pennyworth\"\n  step 9: then file mtime.html contains \"Geoffrey Butler\"\n  step 10: then file mtime.html contains \"2020-02-26 07:53\"\n  cleanup 4: given an installed subplot\nscenario: Capture using simple patterns\n  step 1: given file simplepattern.subplot\n  step 2: given file simplepattern.md\n  step 3: given file simplepattern.yaml\n  step 4: given file capture.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run simplepattern.subplot -o test.py\n  step 7: then scenario \"Simple pattern\" was run\n  step 8: then step \"given I am Tomjon\" was run\n  step 9: then stdout contains \"function got argument name as Tomjon\"\n  step 10: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Files not in current working directory\n  step 1: given file x/simple.subplot from simple.subplot\n  step 2: given file x/simple.md from simple.md\n  step 3: given file x/b.yaml from b.yaml\n  step 4: given file x/f.py from f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot metadata x/simple.subplot\n  step 7: then command is successful\n  step 8: when I run subplot codegen x/simple.subplot -o test.py\n  step 9: then file test.py exists\n  step 10: when I run subplot docgen x/simple.subplot -o simple.html\n  step 11: then file simple.html exists\n  cleanup 5: given an installed subplot\nscenario: Running only chosen scenarios with Python\n  step 1: given file twoscenarios-python.subplot\n  step 2: given file twoscenarios-python.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen twoscenarios-python.subplot -o test.py\n  step 7: when I run python3 test.py on\n  step 8: then scenario \"One\" was run\n  step 9: then scenario \"Two\" was not run\n  step 10: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Steps which do not match bindings do not work\n  step 1: given file nobinding.subplot\n  step 2: given file nobinding.md\n  step 3: given file badbindings.yaml\n  step 4: given an installed subplot\n  step 5: when I try to run subplot codegen --run nobinding.subplot -o test.py\n  step 6: then command fails\n  cleanup 4: given an installed subplot\nscenario: Embedded CSS\n  step 1: given file embedded-css.subplot\n  step 2: given file embedded-css.md\n  step 3: given file embedded-css.css\n  step 4: given file b.yaml\n  step 5: given an installed subplot\n  step 6: when I run subplot docgen embedded-css.subplot -o foo.html\n  step 7: then file foo.html contains \"silly: property;\"\n  cleanup 5: given an installed subplot\nscenario: Roadmap\n  step 1: given file roadmap.subplot\n  step 2: given file roadmap.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen roadmap.subplot -o roadmap.html\n  step 6: then file roadmap.html matches regex /src=\"data:image/svg\\\\+xml;base64,/\n  cleanup 4: given an installed subplot\nscenario: Date given in metadata\n  step 1: given file metadate.subplot\n  step 2: given file metadate.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen metadate.subplot -o metadate.html\n  step 5: when I run cat metadate.html\n  step 6: then file metadate.html exists\n  step 7: then file metadate.html contains \"<title>The Fabulous Title</title>\"\n  step 8: then file metadate.html contains \"Alfred Pennyworth\"\n  step 9: then file metadate.html contains \"Geoffrey Butler\"\n  step 10: then file metadate.html contains \"WIP\"\n  cleanup 3: given an installed subplot\nscenario: Document generator gives an error if input document lacks title\n  step 1: given file notitle.subplot\n  step 2: given file notitle.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot docgen notitle.subplot -o foo.md\n  step 5: then command fails\n  cleanup 3: given an installed subplot\nscenario: Extract embedded file, do not automatically add second newline\n  step 1: given file auto-has-newline.txt\n  step 2: then auto-has-newline.txt ends in one newline\nscenario: Lowest level heading is name of scenario\n  step 1: given file scenarioislowest.subplot\n  step 2: given file scenarioislowest.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run scenarioislowest.subplot -o test.py\n  step 7: then scenario \"heading 1.1.1\" was run\n  step 8: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Set environment variables in generated test programs\n  step 1: given file env.subplot\n  step 2: given file env.md\n  step 3: given file env.yaml\n  step 4: given file env.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen env.subplot -o test.py\n  step 7: when I try to run python3 test.py\n  step 8: then command fails\n  step 9: when I try to run python3 test.py --env FOO=foo\n  step 10: then command fails\n  step 11: when I try to run python3 test.py --env FOO=bar\n  step 12: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Misuse of continuation keywords\n  step 1: given file continuationmisuse.subplot\n  step 2: given file continuationmisuse.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot codegen --run continuationmisuse.subplot -o test.py\n  step 7: then command fails\n  cleanup 5: given an installed subplot\nscenario: Title markup\n  step 1: given file title-markup.subplot\n  step 2: given file title-markup.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen title-markup.subplot -o foo.html\n  step 5: then file foo.html exists\n  cleanup 3: given an installed subplot\nscenario: Cleanup functions get called on failure (Python)\n  step 1: given file cleanup-fail-python.subplot\n  step 2: given file cleanup-fail-python.md\n  step 3: given file cleanup.yaml\n  step 4: given file cleanup.py\n  step 5: given an installed subplot\n  step 6: when I try to run subplot codegen --run cleanup-fail-python.subplot -o test.py\n  step 7: then scenario \"Cleanup\" was run\n  step 8: then step \"given foo\" was run, and then step \"given bar\"\n  step 9: then cleanup for \"given bar\" was run, and then for \"given foo\"\n  step 10: then cleanup for \"given failure\" was not run\n  step 11: then command fails\n  cleanup 5: given an installed subplot\nscenario: Extract embedded file, explicitly add missing newline\n  step 1: given file add-without-newline.txt\n  step 2: then add-without-newline.txt ends in one newline\nscenario: PlantUML\n  step 1: given file plantuml.subplot\n  step 2: given file plantuml.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen plantuml.subplot -o plantuml.html\n  step 6: then file plantuml.html matches regex /src=\"data:image/svg\\\\+xml;base64,/\n  cleanup 4: given an installed subplot\nscenario: Cleanup functions gets called on success (Python)\n  step 1: given file cleanup-success-python.subplot\n  step 2: given file cleanup-success-python.md\n  step 3: given file cleanup.yaml\n  step 4: given file cleanup.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run cleanup-success-python.subplot -o test.py\n  step 7: then scenario \"Cleanup\" was run\n  step 8: then step \"given foo\" was run, and then step \"given bar\"\n  step 9: then cleanup for \"given bar\" was run, and then for \"given foo\"\n  step 10: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Extract embedded files\n  step 1: given file embedded-file.subplot\n  step 2: given file embedded-file.md\n  step 3: given file expected.txt\n  step 4: given an installed subplot\n  step 5: when I run subplot extract --merciful embedded-file.subplot foo.txt -d .\n  step 6: then files foo.txt and expected.txt match\n  cleanup 4: given an installed subplot\nscenario: Examples may be unused\n  step 1: given file unusedexample.subplot\n  step 2: given file unusedexample.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot docgen --merciful unusedexample.subplot -o unusedexample.html\n  step 5: then command is successful\n  step 6: then file unusedexample.html exists\n  step 7: then stderr doesn't contain \"thisisnotused.txt\"\n  cleanup 3: given an installed subplot\nscenario: Bad \"add-newline\" value\n  step 1: given an installed subplot\n  step 2: given file add-newline.subplot\n  step 3: given file add-newline.md\n  step 4: when I try to run subplot docgen add-newline.subplot -o /dev/null\n  step 5: then command fails\n  step 6: then stderr contains \"ERROR add-newline.md:1:1: value of add-newline attribute is not understood: xyzzy\"\n  cleanup 1: given an installed subplot\nscenario: Fail if the same filename is used twice\n  step 1: given file onefiletwice.md\n  step 2: given an installed subplot\n  step 3: when I try to run subplot docgen onefiletwice.md -o onefiletwice.html\n  step 4: then command fails\n  step 5: then file onefiletwice.html does not exist\n  cleanup 2: given an installed subplot\nscenario: Empty lines in scenarios\n  step 1: given file emptylines.subplot\n  step 2: given file emptylines.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot docgen emptylines.subplot -o emptylines.html\n  step 7: then file emptylines.html exists\n  step 8: when I run subplot codegen --run emptylines.subplot -o test.py\n  step 9: then scenario \"Simple\" was run\n  step 10: then step \"given precondition foo\" was run\n  step 11: then step \"when I do bar\" was run\n  step 12: then step \"then bar was done\" was run\n  step 13: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Capture using regular expressions\n  step 1: given file regex.subplot\n  step 2: given file regex.md\n  step 3: given file regex.yaml\n  step 4: given file capture.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run regex.subplot -o test.py\n  step 7: then scenario \"Regex\" was run\n  step 8: then step \"given I am Tomjon\" was run\n  step 9: then stdout contains \"function got argument name as Tomjon\"\n  step 10: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Scenario before the first heading\n  step 1: given an installed subplot\n  step 2: given file scenario-before-heading.subplot\n  step 3: given file scenario-before-heading.md\n  step 4: when I try to run subplot docgen scenario-before-heading.subplot -o /dev/null\n  step 5: then command fails\n  step 6: then stderr contains \"ERROR scenario-before-heading.md:1:1: first scenario is before first heading\"\n  cleanup 1: given an installed subplot\nscenario: All the keywords\n  step 1: given file allkeywords.subplot\n  step 2: given file allkeywords.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run allkeywords.subplot -o test.py\n  step 7: then scenario \"All keywords\" was run\n  step 8: then step \"given precondition foo\" was run\n  step 9: then step \"when I do bar\" was run\n  step 10: then step \"then bar was done\" was run\n  step 11: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Next heading at higher level starts new scenario\n  step 1: given file higherisnewscenario.subplot\n  step 2: given file higherisnewscenario.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run higherisnewscenario.subplot -o test.py\n  step 7: then scenario \"heading 1.1.1\" was run\n  step 8: then scenario \"heading 1.2\" was run\n  step 9: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Steps which do not case-sensitively match sensitive bindings do not work\n  step 1: given file casemismatch.subplot\n  step 2: given file casemismatch.md\n  step 3: given file badbindings.yaml\n  step 4: given an installed subplot\n  step 5: when I try to run subplot codegen --run casemismatch.subplot -o test.py\n  step 6: then command fails\n  cleanup 4: given an installed subplot\nscenario: Recall values for use in later steps\n  step 1: given file values.subplot\n  step 2: given file values.md\n  step 3: given file values.yaml\n  step 4: given file values.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen values.subplot -o test.py\n  step 7: when I run python3 test.py\n  step 8: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Fail if embedded file isn't used\n  step 1: given file unusedfile.subplot\n  step 2: given file unusedfile.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot docgen --merciful unusedfile.subplot -o unusedfile.html\n  step 5: then command is successful\n  step 6: then file unusedfile.html exists\n  step 7: then stderr contains \"thisisnotused.txt\"\n  cleanup 3: given an installed subplot\nscenario: Extract embedded file\n  step 1: given file embedded.subplot\n  step 2: given file embedded.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen --merciful embedded.subplot -o foo.html\n  step 5: then file foo.html exists\n  step 6: then file foo.html matches regex /embedded\\\\.txt/\n  cleanup 3: given an installed subplot\nscenario: Simple patterns with regex metacharacters: allowed case\n  step 1: given file confusedbutok.subplot\n  step 2: given file confusedbutok.md\n  step 3: given file confusedbutok.yaml\n  step 4: given file capture.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run confusedbutok.subplot -o test.py\n  step 7: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Date given on command line\n  step 1: given file dateless.subplot\n  step 2: given file dateless.md\n  step 3: given an installed subplot\n  step 4: when I run subplot docgen dateless.subplot -o dateoption.html --date=FANCYDATE\n  step 5: then file dateoption.html exists\n  step 6: then file dateoption.html contains \"<title>The Fabulous Title</title>\"\n  step 7: then file dateoption.html contains \"Alfred Pennyworth\"\n  step 8: then file dateoption.html contains \"Geoffrey Butler\"\n  step 9: then file dateoption.html contains \"FANCYDATE\"\n  cleanup 3: given an installed subplot\nscenario: Fail if two filenames only differ in case\n  step 1: given file casediff.md\n  step 2: given an installed subplot\n  step 3: when I try to run subplot docgen casediff.md -o casediff.html\n  step 4: then command fails\n  step 5: then file casediff.html does not exist\n  cleanup 2: given an installed subplot\nscenario: Smoke test\n  step 1: given file simple.subplot\n  step 2: given file simple.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot docgen simple.subplot -o simple.html\n  step 7: then file simple.html exists\n  step 8: when I run subplot codegen --run simple.subplot -o test.py\n  step 9: then scenario \"Simple\" was run\n  step 10: then step \"given precondition foo\" was run\n  step 11: then step \"when I do bar\" was run\n  step 12: then step \"then bar was done\" was run\n  step 13: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Dot\n  step 1: given file dot.subplot\n  step 2: given file dot.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen dot.subplot -o dot.html\n  step 6: then file dot.html matches regex /src=\"data:image/svg\\\\+xml;base64,/\n  cleanup 4: given an installed subplot\nscenario: Temporary files in scenarios in Python\n  step 1: given file tmpdir.subplot\n  step 2: given file tmpdir.md\n  step 3: given file tmpdir.yaml\n  step 4: given file tmpdir.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run tmpdir.subplot -o test.py\n  step 7: then command is successful\n  step 8: then scenario \"TMPDIR\" was run\n  step 9: then step \"then TMPDIR is set\" was run\n  cleanup 5: given an installed subplot\nscenario: Extract embedded file, by default do not add a second newline\n  step 1: given file default-has-newline.txt\n  step 2: then default-has-newline.txt ends in one newline\nscenario: Examples are not files\n  step 1: given file examplesnotfiles.subplot\n  step 2: given file examplesnotfiles.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot codegen examplesnotfiles.subplot -t python -o examplesnotfiles.html\n  step 5: then command fails\n  step 6: then file examplesnotfiles.html does not exist\n  step 7: then stderr contains \"thisisanexample.txt\"\n  cleanup 3: given an installed subplot\nscenario: No scenarios means codegen fails\n  step 1: given file noscenarios.subplot\n  step 2: given file noscenarios.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot codegen noscenarios.subplot -o test.py\n  step 5: then command fails\n  step 6: then stderr contains \"no scenarios were found\"\n  cleanup 3: given an installed subplot\nscenario: CSS URLs\n  step 1: given file css-urls.subplot\n  step 2: given file css-urls.md\n  step 3: given file b.yaml\n  step 4: given an installed subplot\n  step 5: when I run subplot docgen css-urls.subplot -o foo.html\n  step 6: then file foo.html contains \"https://example.com/flushing.css\"\n  cleanup 4: given an installed subplot\nscenario: Subheadings don't start new scenario\n  step 1: given file subisnotnewscenario.subplot\n  step 2: given file subisnotnewscenario.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot codegen --run subisnotnewscenario.subplot -o test.py\n  step 7: then scenario \"heading 1.1a\" was run\n  step 8: then command is successful\n  cleanup 5: given an installed subplot\nscenario: Code generator gives an error if input document lacks title\n  step 1: given file notitle.subplot\n  step 2: given file notitle.md\n  step 3: given an installed subplot\n  step 4: when I try to run subplot codegen --run notitle.subplot -o test.py\n  step 5: then command fails\n  cleanup 3: given an installed subplot\nscenario: Extract embedded file, do not add missing newline\n  step 1: given file no-adding-without-newline.txt\n  step 2: then no-adding-without-newline.txt does not end in a newline\nscenario: Scenario titles\n  step 1: given file scenario-titles.subplot\n  step 2: given file scenario-titles.md\n  step 3: given file b.yaml\n  step 4: given file f.py\n  step 5: given an installed subplot\n  step 6: when I run subplot metadata scenario-titles.subplot\n  step 7: then stdout contains \"My fun scenario title\"\n  cleanup 5: given an installed subplot\nOK, all scenarios finished successfully\ncd examples/muck && /ci/src/inst/subplot --resources /ci/src/share codegen muck.subplot --run --output test.py\nsrcdir /ci/src/examples/muck\ndatadir /tmp/tmpzbx_5wsu\nscenario: Accessing someone else's data\n  step 1: given a fresh Muck server\n  step 2: given I am Tomjon\n  step 3: when I do POST /res with {\"foo\": \"bar\"}\n  step 4: then header Muck-Id is ID\n  step 5: then header Muck-Revision is REV1\n  step 6: when I do GET /res with Muck-Id: {ID}\n  step 7: then response code is 200\n  step 8: then header Muck-Revision matches {REV1}\n  step 9: then body matches {\"foo\": \"bar\"}\n  step 10: given I am Verence\n  step 11: when I do GET /res with Muck-Id: {ID}\n  step 12: then response code is 404\nscenario: Basic object handling\n  step 1: given a fresh Muck server\n  step 2: given I am Tomjon\n  step 3: when I do POST /res with {\"foo\": \"bar\"}\n  step 4: then response code is 201\n  step 5: then header Muck-Id is ID\n  step 6: then header Muck-Revision is REV1\n  step 7: when I do GET /res with Muck-Id: {ID}\n  step 8: then response code is 200\n  step 9: then header Muck-Revision matches {REV1}\n  step 10: then body matches {\"foo\": \"bar\"}\n  step 11: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {\"foo\":\"yo\"}\n  step 12: then response code is 200\n  step 13: then header Muck-Revision is {REV2}\n  step 14: then revisions {REV1} and {REV2} are different\n  step 15: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {\"foo\":\"yo\"}\n  step 16: then response code is 409\n  step 17: when I do GET /res with Muck-Id: {ID}\n  step 18: then response code is 200\n  step 19: then header Muck-Revision matches {REV2}\n  step 20: then body matches {\"foo\": \"yo\"}\n  step 21: when I do DELETE /res with Muck-Id: {ID}\n  step 22: then response code is 200\n  step 23: when I do GET /res with Muck-Id: {ID}\n  step 24: then response code is 404\nscenario: Updating someone else's data\n  step 1: given a fresh Muck server\n  step 2: given I am Tomjon\n  step 3: when I do POST /res with {\"foo\": \"bar\"}\n  step 4: then header Muck-Id is ID\n  step 5: then header Muck-Revision is REV1\n  step 6: given I am Verence\n  step 7: when I do PUT /res with Muck-Id: {ID}, Muck-Revision: {REV1}, and body {\"foo\":\"yo\"}\n  step 8: then response code is 404\nscenario: Restarting Muck\n  step 1: given a fresh Muck server\n  step 2: given I am Tomjon, with super capability\n  step 3: when I do POST /res with {\"foo\": \"bar\"}\n  step 4: then header Muck-Id is ID\n  step 5: then header Muck-Revision is REV1\n  step 6: when I restart Muck\n  step 7: when I do GET /res with Muck-Id: {ID}\n  step 8: then response code is 200\n  step 9: then header Muck-Revision matches {REV1}\n  step 10: then body matches {\"foo\": \"bar\"}\nscenario: Deleting someone else's data\n  step 1: given a fresh Muck server\n  step 2: given I am Tomjon\n  step 3: when I do POST /res with {\"foo\": \"bar\"}\n  step 4: then header Muck-Id is ID\n  step 5: then header Muck-Revision is REV1\n  step 6: given I am Verence\n  step 7: when I do DELETE /res with Muck-Id: {ID}\n  step 8: then response code is 404\nOK, all scenarios finished successfully\nif [ \"--offline\" = \"\" ] ; then \\\n\tcd examples/website && \\\n\t/ci/src/inst/subplot --resources /ci/src/share codegen website.subplot --run --output test.py; \\\nfi\ncd examples/seq && cargo test -- \n\nrunning 4 tests\ntest more_than_one_number ... ok\ntest no_arguments ... ok\ntest not_a_number ... ok\ntest one_number ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n/ci/src/inst/subplot --resources /ci/src/share docgen subplot.subplot -o subplot.html\n/ci/src/inst/subplot --resources /ci/src/share docgen tests/subplots/common/files.subplot -o tests/subplots/common/files.html\n/ci/src/inst/subplot --resources /ci/src/share docgen tests/subplots/common/runcmd.subplot -o tests/subplots/common/runcmd.html\ncd examples/muck && /ci/src/inst/subplot --resources /ci/src/share/subplot docgen muck.subplot -o muck.html\ncd examples/website && /ci/src/inst/subplot --resources /ci/src/share docgen website.subplot -o website.html\ncd examples/seq && /ci/src/inst/subplot --resources /ci/src/share docgen seq.subplot -o seq.html\n/ci/src/inst/subplot --resources /ci/src/share libdocgen lib/runcmd.yaml --output /ci/src/inst/runcmd.md\nif which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata \"title=lib/runcmd\"  --output /ci/src/inst/runcmd.html /ci/src/inst/runcmd.md; fi\n/ci/src/inst/subplot --resources /ci/src/share libdocgen lib/files.yaml --output /ci/src/inst/files.md\nif which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata \"title=lib/files\"  --output /ci/src/inst/files.html /ci/src/inst/files.md; fi\n/ci/src/inst/subplot --resources /ci/src/share libdocgen python/lib/daemon.yaml --output /ci/src/inst/daemon.md\nif which pandoc>/dev/null; then pandoc --toc --standalone --self-contained --metadata \"title=lib/daemon\"  --output /ci/src/inst/daemon.html /ci/src/inst/daemon.md; fi\n/ci/src/inst/subplot --resources /ci/src/share docgen book/user-guide.subplot --output book/user-guide.html\nmkdir -p doc/libdocs\nfor x in subplot.html tests/subplots/common/*.html examples/*/*.html book/*.html; do if [ -e \"$x\" ]; then mv \"$x\" doc; fi; done\nfor x in /ci/src/inst/*.html; do if [ -e \"$x\" ]; then mv \"$x\" doc/libdocs/; fi; done\nHEAD is now at 563ef85 Merge branch 'patch/ef39490'\nRemoving doc/\nRemoving examples/muck/test.py\nRemoving inst/\nRemoving share/python/template/__pycache__/\nRemoving test.log\nRemoving test.py\nHEAD detached at 563ef85\nnothing to commit, working tree clean\n","stderr":"+ make OFFLINE=--offline\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling subplotlib v0.14.0 (/ci/src/subplotlib)\n   Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)\n    Checking subplot-bin v0.14.0 (/ci/src/bin)\n    Checking subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)\n    Checking subplot-seq-example v0.1.0 (/ci/src/examples/seq)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.97s\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s\n  Installing subplot-bin v0.14.0 (/ci/src/bin)\n   Compiling proc-macro2 v1.0.103\n   Compiling quote v1.0.42\n   Compiling unicode-ident v1.0.22\n   Compiling cfg-if v1.0.4\n   Compiling memchr v2.7.6\n   Compiling zerocopy v0.8.31\n   Compiling syn v2.0.111\n   Compiling libc v0.2.178\n   Compiling once_cell v1.21.3\n   Compiling serde_core v1.0.228\n   Compiling aho-corasick v1.1.4\n   Compiling regex-syntax v0.8.8\n   Compiling version_check v0.9.5\n   Compiling ahash v0.8.12\n   Compiling regex-automata v0.4.13\n   Compiling itoa v1.0.15\n   Compiling anyhow v1.0.100\n   Compiling crossbeam-utils v0.8.21\n   Compiling serde v1.0.228\n   Compiling log v0.4.29\n   Compiling bitflags v2.10.0\n   Compiling serde_derive v1.0.228\n   Compiling encoding_rs v0.8.35\n   Compiling arraydeque v0.5.1\n   Compiling ucd-trie v0.1.7\n   Compiling doc-comment v0.3.4\n   Compiling pest v2.8.4\n   Compiling crossbeam-epoch v0.9.18\n   Compiling hashbrown v0.14.5\n   Compiling getrandom v0.2.16\n   Compiling bstr v1.12.1\n   Compiling foldhash v0.1.5\n   Compiling libm v0.2.15\n   Compiling shlex v1.3.0\n   Compiling utf8parse v0.2.2\n   Compiling time-core v0.1.6\n   Compiling getrandom v0.3.4\n   Compiling same-file v1.0.6\n   Compiling find-msvc-tools v0.1.5\n   Compiling unicode-width v0.2.2\n   Compiling num-conv v0.1.0\n   Compiling rustix v1.1.2\n   Compiling time-macros v0.2.24\n   Compiling cc v1.2.49\n   Compiling walkdir v2.5.0\n   Compiling anstyle-parse v0.2.7\n   Compiling globset v0.4.18\n   Compiling hashbrown v0.15.5\n   Compiling hashlink v0.9.1\n   Compiling rand_core v0.6.4\n   Compiling crossbeam-deque v0.8.6\n   Compiling pest_meta v2.8.4\n   Compiling serde_path_to_error v0.1.20\n   Compiling ppv-lite86 v0.2.21\n   Compiling tracing-core v0.1.36\n   Compiling colorchoice v1.0.4\n   Compiling lazy_static v1.5.0\n   Compiling anstyle v1.0.13\n   Compiling is_terminal_polyfill v1.70.2\n   Compiling anstyle-query v1.1.5\n   Compiling powerfmt v0.2.0\n   Compiling serde_json v1.0.145\n   Compiling thiserror v2.0.17\n   Compiling linux-raw-sys v0.11.0\n   Compiling deranged v0.5.5\n   Compiling anstream v0.6.21\n   Compiling rand_chacha v0.3.1\n   Compiling pest_generator v2.8.4\n   Compiling ignore v0.4.25\n   Compiling yaml-rust2 v0.9.0\n   Compiling hashlink v0.10.0\n   Compiling pikchr v0.1.4\n   Compiling thiserror-impl v2.0.17\n   Compiling tracing-attributes v0.1.31\n   Compiling deunicode v1.6.2\n   Compiling pulldown-cmark v0.13.0\n   Compiling smawk v0.3.2\n   Compiling unicode-linebreak v0.1.5\n   Compiling fastrand v2.3.0\n   Compiling heck v0.5.0\n   Compiling pin-project-lite v0.2.16\n   Compiling clap_lex v0.7.6\n   Compiling ryu v1.0.20\n   Compiling strsim v0.11.1\n   Compiling clap_builder v4.5.53\n   Compiling clap_derive v4.5.49\n   Compiling tracing v0.1.44\n   Compiling tempfile v3.23.0\n   Compiling textwrap v0.16.2\n   Compiling slug v0.1.6\n   Compiling time v0.3.44\n   Compiling humansize v2.1.3\n   Compiling yaml-rust2 v0.10.4\n   Compiling marked-yaml v0.7.2\n   Compiling globwalk v0.9.1\n   Compiling pest_derive v2.8.4\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling rand v0.8.5\n   Compiling getopts v0.2.24\n   Compiling regex v1.12.2\n   Compiling utf8-width v0.1.8\n   Compiling percent-encoding v2.3.2\n   Compiling pulldown-cmark-escape v0.11.0\n   Compiling unicase v2.8.1\n   Compiling unicode-segmentation v1.12.0\n   Compiling tera v1.20.1\n   Compiling git-testament-derive v0.2.1\n   Compiling html-escape v0.2.13\n   Compiling marked-yaml v0.8.0\n   Compiling roadmap v0.7.0\n   Compiling clap v4.5.53\n   Compiling sharded-slab v0.1.7\n   Compiling tracing-log v0.2.0\n   Compiling matchers v0.2.0\n   Compiling thread_local v1.1.9\n   Compiling line-col v0.2.1\n   Compiling base64 v0.22.1\n   Compiling smallvec v1.15.1\n   Compiling descape v3.0.0\n   Compiling nu-ansi-term v0.50.3\n   Compiling tracing-subscriber v0.3.22\n   Compiling git-testament v0.2.6\n   Compiling subplot-bin v0.14.0 (/ci/src/bin)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 59s\n  Installing /ci/src/inst/bin/subplot\n   Installed package `subplot-bin v0.14.0 (/ci/src/bin)` (executable `subplot`)\nwarning: be sure to add `/ci/src/inst/bin` to your PATH to be able to run the installed binaries\n............................\n----------------------------------------------------------------------\nRan 28 tests in 0.002s\n\nOK\n..\n----------------------------------------------------------------------\nRan 2 tests in 0.001s\n\nOK\n   Compiling syn v2.0.111\n   Compiling libc v0.2.178\n   Compiling cfg-if v1.0.4\n   Compiling zerocopy v0.8.31\n   Compiling once_cell v1.21.3\n   Compiling pest_generator v2.8.4\n   Compiling serde_core v1.0.228\n   Compiling serde_derive v1.0.228\n   Compiling thiserror-impl v2.0.17\n   Compiling tracing-attributes v0.1.31\n   Compiling pest_derive v2.8.4\n   Compiling crossbeam-utils v0.8.21\n   Compiling ahash v0.8.12\n   Compiling aho-corasick v1.1.4\n   Compiling bitflags v2.10.0\n   Compiling regex-syntax v0.8.8\n   Compiling regex-automata v0.4.13\n   Compiling encoding_rs v0.8.35\n   Compiling serde v1.0.228\n   Compiling arraydeque v0.5.1\n   Compiling crossbeam-epoch v0.9.18\n   Compiling hashbrown v0.14.5\n   Compiling getrandom v0.2.16\n   Compiling doc-comment v0.3.4\n   Compiling bstr v1.12.1\n   Compiling unicode-width v0.2.2\n   Compiling foldhash v0.1.5\n   Compiling globset v0.4.18\n   Compiling hashbrown v0.15.5\n   Compiling hashlink v0.9.1\n   Compiling getrandom v0.3.4\n   Compiling rand_core v0.6.4\n   Compiling crossbeam-deque v0.8.6\n   Compiling serde_path_to_error v0.1.20\n   Compiling ppv-lite86 v0.2.21\n   Compiling libm v0.2.15\n   Compiling rustix v1.1.2\n   Compiling linux-raw-sys v0.11.0\n   Compiling tempfile v3.23.0\n   Compiling rand_chacha v0.3.1\n   Compiling ignore v0.4.25\n   Compiling yaml-rust2 v0.9.0\n   Compiling hashlink v0.10.0\n   Compiling thiserror v2.0.17\n   Compiling serde_json v1.0.145\n   Compiling deunicode v1.6.2\n   Compiling ryu v1.0.20\n   Compiling smawk v0.3.2\n   Compiling unicode-linebreak v0.1.5\n   Compiling fastrand v2.3.0\n   Compiling time-macros v0.2.24\n   Compiling textwrap v0.16.2\n   Compiling slug v0.1.6\n   Compiling yaml-rust2 v0.10.4\n   Compiling globwalk v0.9.1\n   Compiling marked-yaml v0.7.2\n   Compiling humansize v2.1.3\n   Compiling rand v0.8.5\n   Compiling getopts v0.2.24\n   Compiling regex v1.12.2\n   Compiling culpa-macros v1.0.2\n   Compiling pulldown-cmark v0.13.0\n   Compiling tracing-core v0.1.36\n   Compiling pikchr v0.1.4\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling percent-encoding v2.3.2\n   Compiling cfg_aliases v0.2.1\n   Compiling pulldown-cmark-escape v0.11.0\n   Compiling lazy_static v1.5.0\n   Compiling utf8-width v0.1.8\n   Compiling pin-project-lite v0.2.16\n   Compiling unicode-segmentation v1.12.0\n   Compiling unicase v2.8.1\n   Compiling tera v1.20.1\n   Compiling tracing v0.1.44\n   Compiling html-escape v0.2.13\n   Compiling nix v0.29.0\n   Compiling roadmap v0.7.0\n   Compiling marked-yaml v0.8.0\n   Compiling descape v3.0.0\n   Compiling line-col v0.2.1\n   Compiling base64 v0.22.1\n   Compiling culpa v1.0.2\n   Compiling cvt v0.1.2\n   Compiling time v0.3.44\n   Compiling fs_at v0.2.1\n   Compiling normpath v1.5.0\n   Compiling subplotlib v0.14.0 (/ci/src/subplotlib)\n   Compiling remove_dir_all v1.0.0\n   Compiling filetime v0.2.26\n   Compiling fs2 v0.4.3\n   Compiling shell-words v1.1.1\n   Compiling state v0.6.0\n   Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)\n   Compiling clap_derive v4.5.49\n   Compiling subplotlib-steps v0.14.0 (/ci/src/subplotlib/steps)\n   Compiling clap v4.5.53\n   Compiling git-testament-derive v0.2.1\n   Compiling tracing-subscriber v0.3.22\n   Compiling git-testament v0.2.6\n   Compiling subplot-bin v0.14.0 (/ci/src/bin)\n   Compiling subplot-seq-example v0.1.0 (/ci/src/examples/seq)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 50s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot-0effe0c3a85ecf1c)\n     Running tests/bindings-ubm.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/bindings_ubm-9f16a7b8f3befb7f)\n     Running unittests src/subplot.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot-c53acdb963d94d83)\n     Running tests/seq.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/seq-d0c2fdd83135ef9f)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib-d4e279afcfe1b0c9)\n     Running tests/files.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/files-96f89ad2dc53daa7)\n     Running tests/runcmd.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/runcmd-6f155568733cd9ad)\n     Running tests/subplot-codegen.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_codegen-8b012dabfa87c991)\n     Running tests/subplot-diagrams.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_diagrams-7e1729b8179ddf28)\n     Running tests/subplot-docgen.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_docgen-fa42306d68ec867f)\n     Running tests/subplot-extract.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_extract-037546a34b282e78)\n     Running tests/subplot-metadata.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_metadata-5fe95ed26be1c8f5)\n     Running tests/subplot-others.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplot_others-24d7fda57780fc40)\n     Running tests/subplotlib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib-95841cb7bd4c2001)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/subplotlib_derive-0b66ffd6465368c7)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/x86_64-unknown-linux-musl/debug/deps/subplotlib_steps-045a352f1b7cb0ed)\n   Doc-tests subplot\n   Doc-tests subplotlib\n   Doc-tests subplotlib_derive\n   Doc-tests subplotlib_steps\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n   Compiling zerocopy v0.8.31\n   Compiling serde_core v1.0.228\n   Compiling crossbeam-utils v0.8.21\n   Compiling ahash v0.8.12\n   Compiling serde v1.0.228\n   Compiling regex-automata v0.4.13\n   Compiling libc v0.2.178\n   Compiling encoding_rs v0.8.35\n   Compiling anyhow v1.0.100\n   Compiling doc-comment v0.3.4\n   Compiling crossbeam-epoch v0.9.18\n   Compiling hashbrown v0.14.5\n   Compiling getrandom v0.2.16\n   Compiling globset v0.4.18\n   Compiling hashlink v0.9.1\n   Compiling libm v0.2.15\n   Compiling rustix v1.1.2\n   Compiling rand_core v0.6.4\n   Compiling crossbeam-deque v0.8.6\n   Compiling serde_path_to_error v0.1.20\n   Compiling ppv-lite86 v0.2.21\n   Compiling thiserror v2.0.17\n   Compiling serde_json v1.0.145\n   Compiling rand_chacha v0.3.1\n   Compiling ignore v0.4.25\n   Compiling yaml-rust2 v0.9.0\n   Compiling getrandom v0.3.4\n   Compiling pulldown-cmark v0.13.0\n   Compiling marked-yaml v0.7.2\n   Compiling tempfile v3.23.0\n   Compiling pikchr v0.1.4\n   Compiling humansize v2.1.3\n   Compiling globwalk v0.9.1\n   Compiling yaml-rust2 v0.10.4\n   Compiling rand v0.8.5\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling regex v1.12.2\n   Compiling memchr v2.7.6\n   Compiling aho-corasick v1.1.4\n   Compiling tera v1.20.1\n   Compiling nix v0.29.0\n   Compiling marked-yaml v0.8.0\n   Compiling roadmap v0.7.0\n   Compiling cvt v0.1.2\n   Compiling time-macros v0.2.24\n   Compiling fs_at v0.2.1\n   Compiling culpa v1.0.2\n   Compiling once_cell v1.21.3\n   Compiling subplotlib v0.14.0 (/ci/src/subplotlib)\n   Compiling normpath v1.5.0\n   Compiling remove_dir_all v1.0.0\n   Compiling subplotlib-derive v0.14.0 (/ci/src/subplotlib-derive)\n   Compiling time v0.3.44\n   Compiling filetime v0.2.26\n   Compiling fs2 v0.4.3\n   Compiling shell-words v1.1.1\n   Compiling state v0.6.0\n   Compiling subplot-seq-example v0.1.0 (/ci/src/examples/seq)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 33.73s\n     Running tests/seq.rs (/ci/cache/cargo-target/debug/deps/seq-9e53ab355acac37a)\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n INFO Starting Subplot\n INFO Subplot finished successfully\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n INFO Starting Subplot\n INFO Subplot finished successfully\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n INFO Starting Subplot\n INFO Subplot finished successfully\n[WARNING] Deprecated: --self-contained. use --embed-resources --standalone\n INFO Starting Subplot\n INFO Subplot finished successfully\n+ cp -a doc/files.html doc/libdocs doc/muck.html doc/runcmd.html doc/seq.html doc/subplot.html doc/user-guide.html doc/website.html /ci/artifacts/.\n+ git reset --hard\n+ git clean -fdx\n+ git status --ignored\n","timestamp":{"secs_since_epoch":1787047793,"nanos_since_epoch":288274957}}
{"type":"action_succeeded","action":"shell","shell":"make OFFLINE=\"--offline\"\ncp -a doc/* /ci/artifacts/.\n\n# Clean up after tests and documentation building.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n","timestamp":{"secs_since_epoch":1787047794,"nanos_since_epoch":751649576}}
{"type":"trace","title":"Execute action","msg":"Custom(\n    Custom {\n        name: \"dch\",\n        args: {\n            \"debemail\": String(\"liw@liw.fi\"),\n            \"debfullname\": String(\"Lars Wirzenius\"),\n        },\n    },\n)","timestamp":{"secs_since_epoch":1787047794,"nanos_since_epoch":751831814}}
{"type":"custom_action_starts","source":"/ci/src","custom":{"name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"}},"exe":".ambient/dch","exe_exists":false,"timestamp":{"secs_since_epoch":1787047794,"nanos_since_epoch":752098078}}
"HEAD is now at 563ef85 Merge branch 'patch/ef39490'\n"
{"type":"custom_action_output","stdout":[72,69,65,68,32,105,115,32,110,111,119,32,97,116,32,53,54,51,101,102,56,53,32,77,101,114,103,101,32,98,114,97,110,99,104,32,39,112,97,116,99,104,47,101,102,51,57,52,57,48,39,10],"stderr":[43,32,101,120,112,111,114,116,32,39,68,69,66,69,77,65,73,76,61,34,108,105,119,64,108,105,119,46,102,105,34,39,10,43,32,68,69,66,69,77,65,73,76,61,39,34,108,105,119,64,108,105,119,46,102,105,34,39,10,43,32,101,120,112,111,114,116,32,39,68,69,66,70,85,76,76,78,65,77,69,61,34,76,97,114,115,32,87,105,114,122,101,110,105,117,115,34,39,10,43,32,68,69,66,70,85,76,76,78,65,77,69,61,39,34,76,97,114,115,32,87,105,114,122,101,110,105,117,115,34,39,10,43,32,101,120,112,111,114,116,32,67,65,82,71,79,95,84,65,82,71,69,84,95,68,73,82,61,47,119,111,114,107,115,112,97,99,101,47,99,97,99,104,101,10,43,32,67,65,82,71,79,95,84,65,82,71,69,84,95,68,73,82,61,47,119,111,114,107,115,112,97,99,101,47,99,97,99,104,101,10,43,32,101,120,112,111,114,116,32,67,65,82,71,79,95,72,79,77,69,61,47,119,111,114,107,115,112,97,99,101,47,100,101,112,115,10,43,32,67,65,82,71,79,95,72,79,77,69,61,47,119,111,114,107,115,112,97,99,101,47,100,101,112,115,10,43,32,101,120,112,111,114,116,32,72,79,77,69,61,47,114,111,111,116,10,43,32,72,79,77,69,61,47,114,111,111,116,10,43,32,101,120,112,111,114,116,32,80,65,84,72,61,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,115,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,98,105,110,58,47,117,115,114,47,115,98,105,110,58,47,117,115,114,47,98,105,110,10,43,32,80,65,84,72,61,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,114,111,111,116,47,46,99,97,114,103,111,47,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,115,98,105,110,58,47,117,115,114,47,108,111,99,97,108,47,98,105,110,58,47,117,115,114,47,115,98,105,110,58,47,117,115,114,47,98,105,110,10,43,32,103,105,116,32,114,101,115,101,116,32,45,45,104,97,114,100,10,43,32,103,105,116,32,99,108,101,97,110,32,45,102,100,120,10,43,43,32,100,112,107,103,45,112,97,114,115,101,99,104,97,110,103,101,108,111,103,32,45,83,86,101,114,115,105,111,110,10,43,43,32,115,101,100,32,39,115,47,45,91,94,45,93,42,36,47,47,39,10,43,32,86,61,48,46,49,52,46,48,10,43,43,32,100,97,116,101,32,45,117,32,43,37,89,37,109,37,100,84,37,72,37,77,37,83,10,43,32,84,61,50,48,50,54,48,56,49,56,84,49,48,48,57,53,52,10,43,32,118,101,114,115,105,111,110,61,48,46,49,52,46,48,46,99,105,50,48,50,54,48,56,49,56,84,49,48,48,57,53,52,45,49,10,43,32,100,99,104,32,45,118,32,48,46,49,52,46,48,46,99,105,50,48,50,54,48,56,49,56,84,49,48,48,57,53,52,45,49,32,39,67,73,32,98,117,105,108,100,32,117,110,100,101,114,32,65,109,98,105,101,110,116,46,39,10,43,32,100,99,104,32,45,114,32,39,39,10],"timestamp":{"secs_since_epoch":1787047795,"nanos_since_epoch":141784263}}
{"type":"action_succeeded","action":"custom","name":"dch","args":{"debemail":"liw@liw.fi","debfullname":"Lars Wirzenius"},"timestamp":{"secs_since_epoch":1787047795,"nanos_since_epoch":142439073}}
{"type":"trace","title":"Execute action","msg":"Deb(\n    Deb {\n        packages: Some(\n            \".\",\n        ),\n    },\n)","timestamp":{"secs_since_epoch":1787047795,"nanos_since_epoch":142758392}}
{"type":"trace","title":"Start program /bin/bash","msg":"Command {\n    program: \"/bin/bash\",\n    args: [\n        \"/bin/bash\",\n        \"-c\",\n        \"#!/usr/bin/env bash\\nset -xeuo pipefail\\n\\necho \\\"PATH at start: $PATH\\\"\\nexport PATH=\\\"/root/.cargo/bin:$PATH\\\"\\nexport CARGO_HOME=/ci/deps\\nexport DEBEMAIL=liw@liw.fi\\nexport DEBFULLNAME=\\\"Lars Wirzenius\\\"\\n/bin/env\\n\\ncommand -v cargo\\ncommand -v rustc\\n\\ncargo --version\\nrustc --version\\n\\n# Get name and version of source package.\\nname=\\\"$(dpkg-parsechangelog -SSource)\\\"\\nversion=\\\"$(dpkg-parsechangelog -SVersion)\\\"\\n\\n# Get upstream version: everything before the last dash.\\nuv=\\\"$(echo \\\"$version\\\" | sed \\'s/-[^-]*$//\\')\\\"\\n\\n# Files that will be created.\\narch=\\\"$(dpkg --print-architecture)\\\"\\norig=\\\"../${name}_${uv}.orig.tar.xz\\\"\\ndeb=\\\"../${name}_${version}_${arch}.deb\\\"\\nchanges=\\\"../${name}_${version}_${arch}.changes\\\"\\n\\n# Create \\\"upstream tarball\\\".\\ngit archive HEAD | xz >\\\"$orig\\\"\\n\\n# Build package.\\ndpkg-buildpackage -us -uc\\n\\n# Dump some information to make it easier to visually verify\\n# everything looks OK. Also, test the package with the lintian tool.\\n\\nls -l ..\\nfor x in ../*.deb; do dpkg -c \\\"$x\\\"; done\\n# FIXME: disabled while this prevents radicle-native-ci deb from being built.\\n# lintian -i --allow-root --fail-on warning ../*.changes\\n\\n# Move files to artifacts directory.\\nmv ../*_* /ci/artifacts/.\\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":1787047795,"nanos_since_epoch":143210655}}
{"type":"program_succeeded","program_name":"/bin/bash","exit_code":0,"stdout":"PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nMEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=\nDEBFULLNAME=Lars Wirzenius\nCARGO_TARGET_DIR=/ci/cache/cargo-target\nPWD=/ci/src\nSYSTEMD_EXEC_PID=360\nHOME=/root\nLANG=C.UTF-8\nCARGO_HOME=/ci/deps\nMEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/ambient.service/memory.pressure\nDEBEMAIL=liw@liw.fi\nINVOCATION_ID=c667f1cfb0604d9e9241ffcf37f0fe1e\nUSER=root\nSHLVL=2\nJOURNAL_STREAM=9:3279\nPATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\nOLDPWD=/\n_=/bin/env\n/root/.cargo/bin/cargo\n/root/.cargo/bin/rustc\ncargo 1.97.1 (c980f4866 2026-06-30)\nrustc 1.97.1 (8bab26f4f 2026-07-14)\ndpkg-buildpackage: info: source package subplot\ndpkg-buildpackage: info: source version 0.14.0.ci20260818T100954-1\ndpkg-buildpackage: info: source distribution unstable\ndpkg-buildpackage: info: source changed by \"Lars Wirzenius\" <\"liw@liw.fi\">\ndpkg-buildpackage: info: host architecture amd64\ndh clean\n   dh_auto_clean\n   dh_clean\ndpkg-source: info: using source format '3.0 (quilt)'\ndpkg-source: info: building subplot using existing ./subplot_0.14.0.ci20260818T100954.orig.tar.xz\ndpkg-source: info: building subplot in subplot_0.14.0.ci20260818T100954-1.debian.tar.xz\ndpkg-source: info: building subplot in subplot_0.14.0.ci20260818T100954-1.dsc\ndh binary\n   dh_update_autotools_config\n   dh_autoreconf\n   dh_auto_configure\n   debian/rules override_dh_auto_build\nmake[1]: Entering directory '/ci/src'\ntrue\nmake[1]: Leaving directory '/ci/src'\n   debian/rules override_dh_auto_test\nmake[1]: Entering directory '/ci/src'\necho disabled\ndisabled\nmake[1]: Leaving directory '/ci/src'\n   create-stamp debian/debhelper-build-stamp\n   dh_prep\n   debian/rules override_dh_auto_install\nmake[1]: Entering directory '/ci/src'\ncargo install --path=bin --root=debian/subplot --offline --locked --target x86_64-unknown-linux-musl\nrm -f debian/subplot/.crates.toml\nrm -f debian/subplot/.crates2.json\ndh_lintian\nmake[1]: Leaving directory '/ci/src'\n   dh_install\n   dh_installdocs\n   dh_installchangelogs\n   dh_lintian\n   dh_perl\n   dh_link\n   dh_strip_nondeterminism\n   dh_compress\n   dh_fixperms\n   dh_missing\n   dh_strip\n   dh_makeshlibs\n   dh_shlibdeps\n   dh_installdeb\n   dh_gencontrol\n   dh_md5sums\n   dh_builddeb\ndpkg-deb: building package 'subplot-dbgsym' in '../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb'.\ndpkg-deb: building package 'subplot' in '../subplot_0.14.0.ci20260818T100954-1_amd64.deb'.\ndpkg-genchanges: info: including full source code in upload\ndpkg-buildpackage: info: full upload (original source is included)\ntotal 2272\ndrwxr-xr-x  5 root root    4096 Aug 18 10:09 artifacts\ndrwxr-xr-x  3 root root    4096 Aug 18 10:02 cache\ndrwxr-xr-x  3 root root    4096 Aug 18 10:09 deps\ndrwxr-xr-x  2 root root    4096 Aug 18 10:02 secrets\ndrwxr-xr-x 16 root root    4096 Aug 18 10:09 src\n-rw-r--r--  1 root root  208804 Aug 18 10:12 subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb\n-rw-r--r--  1 root root    2436 Aug 18 10:09 subplot_0.14.0.ci20260818T100954-1.debian.tar.xz\n-rw-r--r--  1 root root    1018 Aug 18 10:09 subplot_0.14.0.ci20260818T100954-1.dsc\n-rw-r--r--  1 root root    9473 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo\n-rw-r--r--  1 root root    2389 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.changes\n-rw-r--r--  1 root root 1908920 Aug 18 10:12 subplot_0.14.0.ci20260818T100954-1_amd64.deb\n-rw-r--r--  1 root root  156180 Aug 18 10:09 subplot_0.14.0.ci20260818T100954.orig.tar.xz\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/.build-id/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/lib/debug/.build-id/b1/\n-rw-r--r-- root/root   1781104 2026-08-18 10:09 ./usr/lib/debug/.build-id/b1/eb4d3395fa6cf05e793f295efcc4395fe81e2c.debug\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/\nlrwxrwxrwx root/root         0 2026-08-18 10:09 ./usr/share/doc/subplot-dbgsym -> subplot\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./bin/\n-rwxr-xr-x root/root   7106360 2026-08-18 10:09 ./bin/subplot\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/doc/subplot/\n-rw-r--r-- root/root      3623 2026-08-18 10:01 ./usr/share/doc/subplot/README.md\n-rw-r--r-- root/root       671 2026-08-18 10:09 ./usr/share/doc/subplot/changelog.Debian.gz\n-rw-r--r-- root/root      1394 2026-08-18 10:01 ./usr/share/doc/subplot/copyright\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/lintian/\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/lintian/overrides/\n-rw-r--r-- root/root       103 2026-08-18 10:01 ./usr/share/lintian/overrides/subplot\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/subplot/\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/common/\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/common/lib/\n-rw-r--r-- root/root     10532 2026-08-18 10:01 ./usr/share/subplot/common/lib/files.yaml\n-rw-r--r-- root/root      8784 2026-08-18 10:01 ./usr/share/subplot/common/lib/runcmd.yaml\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/python/\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/python/lib/\n-rw-r--r-- root/root     10415 2026-08-18 10:01 ./usr/share/subplot/python/lib/daemon.py\n-rw-r--r-- root/root      4434 2026-08-18 10:01 ./usr/share/subplot/python/lib/daemon.yaml\n-rw-r--r-- root/root      8048 2026-08-18 10:01 ./usr/share/subplot/python/lib/files.py\n-rw-r--r-- root/root      8657 2026-08-18 10:01 ./usr/share/subplot/python/lib/runcmd.py\ndrwxr-xr-x root/root         0 2026-08-18 10:09 ./usr/share/subplot/python/template/\n-rw-r--r-- root/root      1275 2026-08-18 10:01 ./usr/share/subplot/python/template/asserts.py\n-rw-r--r-- root/root      2457 2026-08-18 10:01 ./usr/share/subplot/python/template/context.py\n-rw-r--r-- root/root      4611 2026-08-18 10:01 ./usr/share/subplot/python/template/context_tests.py\n-rw-r--r-- root/root       201 2026-08-18 10:01 ./usr/share/subplot/python/template/encoding.py\n-rw-r--r-- root/root       474 2026-08-18 10:01 ./usr/share/subplot/python/template/encoding_tests.py\n-rw-r--r-- root/root       412 2026-08-18 10:01 ./usr/share/subplot/python/template/files.py\n-rw-r--r-- root/root      4821 2026-08-18 10:01 ./usr/share/subplot/python/template/main.py\n-rw-r--r-- root/root      2785 2026-08-18 10:01 ./usr/share/subplot/python/template/scenarios.py\n-rw-r--r-- root/root      2565 2026-08-18 10:01 ./usr/share/subplot/python/template/template.py.tera\n-rw-r--r-- root/root       137 2026-08-18 10:01 ./usr/share/subplot/python/template/template.yaml\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/lib/\n-rw-r--r-- root/root       788 2026-08-18 10:01 ./usr/share/subplot/rust/lib/datadir.yaml\ndrwxr-xr-x root/root         0 2026-08-18 10:01 ./usr/share/subplot/rust/template/\n-rw-r--r-- root/root      1449 2026-08-18 10:01 ./usr/share/subplot/rust/template/macros.rs.tera\n-rw-r--r-- root/root      1213 2026-08-18 10:01 ./usr/share/subplot/rust/template/template.rs.tera\n-rw-r--r-- root/root        71 2026-08-18 10:01 ./usr/share/subplot/rust/template/template.yaml\n-rw-r--r-- root/root      2103 2026-08-18 10:01 ./usr/share/subplot/subplot.css\n","stderr":"+ echo 'PATH at start: /root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ export CARGO_HOME=/ci/deps\n+ CARGO_HOME=/ci/deps\n+ export DEBEMAIL=liw@liw.fi\n+ DEBEMAIL=liw@liw.fi\n+ export 'DEBFULLNAME=Lars Wirzenius'\n+ DEBFULLNAME='Lars Wirzenius'\n+ /bin/env\n+ command -v cargo\n+ command -v rustc\n+ cargo --version\n+ rustc --version\n++ dpkg-parsechangelog -SSource\n+ name=subplot\n++ dpkg-parsechangelog -SVersion\n+ version=0.14.0.ci20260818T100954-1\n++ echo 0.14.0.ci20260818T100954-1\n++ sed 's/-[^-]*$//'\n+ uv=0.14.0.ci20260818T100954\n++ dpkg --print-architecture\n+ arch=amd64\n+ orig=../subplot_0.14.0.ci20260818T100954.orig.tar.xz\n+ deb=../subplot_0.14.0.ci20260818T100954-1_amd64.deb\n+ changes=../subplot_0.14.0.ci20260818T100954-1_amd64.changes\n+ git archive HEAD\n+ xz\n+ dpkg-buildpackage -us -uc\n dpkg-source --before-build .\n debian/rules clean\n dpkg-source -b .\n debian/rules binary\n  Installing subplot-bin v0.14.0 (/ci/src/bin)\n   Compiling proc-macro2 v1.0.103\n   Compiling unicode-ident v1.0.22\n   Compiling quote v1.0.42\n   Compiling cfg-if v1.0.4\n   Compiling memchr v2.7.6\n   Compiling syn v2.0.111\n   Compiling zerocopy v0.8.31\n   Compiling libc v0.2.178\n   Compiling once_cell v1.21.3\n   Compiling serde_core v1.0.228\n   Compiling aho-corasick v1.1.4\n   Compiling version_check v0.9.5\n   Compiling regex-syntax v0.8.8\n   Compiling regex-automata v0.4.13\n   Compiling ahash v0.8.12\n   Compiling crossbeam-utils v0.8.21\n   Compiling itoa v1.0.15\n   Compiling anyhow v1.0.100\n   Compiling bitflags v2.10.0\n   Compiling serde v1.0.228\n   Compiling log v0.4.29\n   Compiling serde_derive v1.0.228\n   Compiling encoding_rs v0.8.35\n   Compiling ucd-trie v0.1.7\n   Compiling arraydeque v0.5.1\n   Compiling doc-comment v0.3.4\n   Compiling pest v2.8.4\n   Compiling crossbeam-epoch v0.9.18\n   Compiling hashbrown v0.14.5\n   Compiling getrandom v0.2.16\n   Compiling bstr v1.12.1\n   Compiling same-file v1.0.6\n   Compiling time-core v0.1.6\n   Compiling find-msvc-tools v0.1.5\n   Compiling unicode-width v0.2.2\n   Compiling foldhash v0.1.5\n   Compiling libm v0.2.15\n   Compiling shlex v1.3.0\n   Compiling rustix v1.1.2\n   Compiling utf8parse v0.2.2\n   Compiling getrandom v0.3.4\n   Compiling num-conv v0.1.0\n   Compiling time-macros v0.2.24\n   Compiling anstyle-parse v0.2.7\n   Compiling cc v1.2.49\n   Compiling hashbrown v0.15.5\n   Compiling globset v0.4.18\n   Compiling walkdir v2.5.0\n   Compiling hashlink v0.9.1\n   Compiling rand_core v0.6.4\n   Compiling crossbeam-deque v0.8.6\n   Compiling pest_meta v2.8.4\n   Compiling serde_path_to_error v0.1.20\n   Compiling ppv-lite86 v0.2.21\n   Compiling tracing-core v0.1.36\n   Compiling anstyle v1.0.13\n   Compiling powerfmt v0.2.0\n   Compiling serde_json v1.0.145\n   Compiling thiserror v2.0.17\n   Compiling linux-raw-sys v0.11.0\n   Compiling anstyle-query v1.1.5\n   Compiling lazy_static v1.5.0\n   Compiling colorchoice v1.0.4\n   Compiling is_terminal_polyfill v1.70.2\n   Compiling anstream v0.6.21\n   Compiling deranged v0.5.5\n   Compiling rand_chacha v0.3.1\n   Compiling pest_generator v2.8.4\n   Compiling ignore v0.4.25\n   Compiling yaml-rust2 v0.9.0\n   Compiling hashlink v0.10.0\n   Compiling pikchr v0.1.4\n   Compiling tracing-attributes v0.1.31\n   Compiling thiserror-impl v2.0.17\n   Compiling clap_lex v0.7.6\n   Compiling deunicode v1.6.2\n   Compiling ryu v1.0.20\n   Compiling heck v0.5.0\n   Compiling unicode-linebreak v0.1.5\n   Compiling fastrand v2.3.0\n   Compiling smawk v0.3.2\n   Compiling pin-project-lite v0.2.16\n   Compiling strsim v0.11.1\n   Compiling pulldown-cmark v0.13.0\n   Compiling clap_builder v4.5.53\n   Compiling time v0.3.44\n   Compiling tracing v0.1.44\n   Compiling textwrap v0.16.2\n   Compiling tempfile v3.23.0\n   Compiling clap_derive v4.5.49\n   Compiling slug v0.1.6\n   Compiling humansize v2.1.3\n   Compiling yaml-rust2 v0.10.4\n   Compiling marked-yaml v0.7.2\n   Compiling globwalk v0.9.1\n   Compiling pest_derive v2.8.4\n   Compiling subplot v0.14.0 (/ci/src)\n   Compiling rand v0.8.5\n   Compiling getopts v0.2.24\n   Compiling regex v1.12.2\n   Compiling utf8-width v0.1.8\n   Compiling pulldown-cmark-escape v0.11.0\n   Compiling unicode-segmentation v1.12.0\n   Compiling unicase v2.8.1\n   Compiling percent-encoding v2.3.2\n   Compiling git-testament-derive v0.2.1\n   Compiling tera v1.20.1\n   Compiling html-escape v0.2.13\n   Compiling roadmap v0.7.0\n   Compiling marked-yaml v0.8.0\n   Compiling clap v4.5.53\n   Compiling sharded-slab v0.1.7\n   Compiling tracing-log v0.2.0\n   Compiling matchers v0.2.0\n   Compiling thread_local v1.1.9\n   Compiling base64 v0.22.1\n   Compiling smallvec v1.15.1\n   Compiling nu-ansi-term v0.50.3\n   Compiling line-col v0.2.1\n   Compiling descape v3.0.0\n   Compiling tracing-subscriber v0.3.22\n   Compiling git-testament v0.2.6\n   Compiling subplot-bin v0.14.0 (/ci/src/bin)\n    Finished `release` profile [optimized] target(s) in 2m 03s\n  Installing /ci/src/debian/subplot/bin/subplot\n   Installed package `subplot-bin v0.14.0 (/ci/src/bin)` (executable `subplot`)\nwarning: be sure to add `/ci/src/debian/subplot/bin` to your PATH to be able to run the installed binaries\ndh_installchangelogs: warning: Could not parse timestamp '15 April 2022 15:00:00 +0100'. debian/changelog will not be trimmed.\ndh_installchangelogs: warning: debian/changelog could not be trimmed. The full changelog will be installed.\ndpkg-shlibdeps: warning: couldn't parse dynamic symbol definition: no symbols\ndpkg-gencontrol: warning: Depends field of package subplot: substitution variable ${shlibs:Depends} used, but is not defined\ndpkg-gencontrol: warning: Built-Using field of package subplot: substitution variable ${cargo:Built-Using} used, but is not defined\ndpkg-gencontrol: warning: Depends field of package subplot: substitution variable ${shlibs:Depends} used, but is not defined\ndpkg-gencontrol: warning: Built-Using field of package subplot: substitution variable ${cargo:Built-Using} used, but is not defined\n dpkg-genbuildinfo -O../subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo\n dpkg-genchanges -O../subplot_0.14.0.ci20260818T100954-1_amd64.changes\n dpkg-source --after-build .\n+ ls -l ..\n+ for x in ../*.deb\n+ dpkg -c ../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb\n+ for x in ../*.deb\n+ dpkg -c ../subplot_0.14.0.ci20260818T100954-1_amd64.deb\n+ mv ../subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb ../subplot_0.14.0.ci20260818T100954-1.debian.tar.xz ../subplot_0.14.0.ci20260818T100954-1.dsc ../subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo ../subplot_0.14.0.ci20260818T100954-1_amd64.changes ../subplot_0.14.0.ci20260818T100954-1_amd64.deb ../subplot_0.14.0.ci20260818T100954.orig.tar.xz /ci/artifacts/.\n","timestamp":{"secs_since_epoch":1787047926,"nanos_since_epoch":956608222}}
{"type":"action_succeeded","action":"deb","packages":".","timestamp":{"secs_since_epoch":1787047927,"nanos_since_epoch":203391484}}
{"type":"trace","title":"Execute action","msg":"Shell(\n    Shell {\n        shell: \"find /ci/artifacts\\n\",\n    },\n)","timestamp":{"secs_since_epoch":1787047927,"nanos_since_epoch":205773792}}
{"type":"trace","title":"Start program bash","msg":"Command {\n    program: \"bash\",\n    args: [\n        \"bash\",\n        \"-c\",\n        \"set -xeuo pipefail\\nfind /ci/artifacts\\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":1787047927,"nanos_since_epoch":209011346}}
{"type":"program_succeeded","program_name":"bash","exit_code":0,"stdout":"/ci/artifacts\n/ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.changes\n/ci/artifacts/rsync\n/ci/artifacts/website.html\n/ci/artifacts/user-guide.html\n/ci/artifacts/subplot-dbgsym_0.14.0.ci20260818T100954-1_amd64.deb\n/ci/artifacts/debian\n/ci/artifacts/seq.html\n/ci/artifacts/subplot.html\n/ci/artifacts/subplot_0.14.0.ci20260818T100954.orig.tar.xz\n/ci/artifacts/subplot_0.14.0.ci20260818T100954-1.debian.tar.xz\n/ci/artifacts/subplot_0.14.0.ci20260818T100954-1.dsc\n/ci/artifacts/files.html\n/ci/artifacts/runcmd.html\n/ci/artifacts/muck.html\n/ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.deb\n/ci/artifacts/subplot_0.14.0.ci20260818T100954-1_amd64.buildinfo\n/ci/artifacts/libdocs\n/ci/artifacts/libdocs/daemon.html\n/ci/artifacts/libdocs/files.html\n/ci/artifacts/libdocs/runcmd.html\n","stderr":"+ find /ci/artifacts\n","timestamp":{"secs_since_epoch":1787047927,"nanos_since_epoch":226349554}}
{"type":"action_succeeded","action":"shell","shell":"find /ci/artifacts\n","timestamp":{"secs_since_epoch":1787047927,"nanos_since_epoch":243041442}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vde\",\n        directory: \"/ci/cache\",\n    },\n)","timestamp":{"secs_since_epoch":1787047927,"nanos_since_epoch":245552640}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vde","directory":"/ci/cache","timestamp":{"secs_since_epoch":1787047933,"nanos_since_epoch":149669861}}
{"type":"trace","title":"Execute action","msg":"TarCreate(\n    TarCreate {\n        archive: \"/dev/vdd\",\n        directory: \"/ci/artifacts\",\n    },\n)","timestamp":{"secs_since_epoch":1787047933,"nanos_since_epoch":149749464}}
{"type":"action_succeeded","action":"tar_create","archive":"/dev/vdd","directory":"/ci/artifacts","timestamp":{"secs_since_epoch":1787047933,"nanos_since_epoch":166232353}}
{"type":"plan_succeeded","timestamp":{"secs_since_epoch":1787047933,"nanos_since_epoch":166278885}}
{"type":"executor_ends_successfully","timestamp":{"secs_since_epoch":1787047933,"nanos_since_epoch":166546986}}
EXIT CODE: 0

Post-plan VM

No log