CI run for subplot-web

Radicle repository id rad:z2M6WnwXyFcdQNj6M5pav3BnyTBfz

Table of Contents

Run log

[2025-08-06T14:44:05Z INFO  ambient] ambient starts
[=3h[=3hBdsDxe: 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)
Welcome to GRUB!


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  2.8M  1 disk 
vdc    254:32   0  1.5M  1 disk 
vdd    254:48   0  9.3G  0 disk 
vde    254:64   0 46.6G  0 disk 
vdf    254:80   0   10K  1 disk 
INFO: Extracting tar archive from /dev/vdb
drwxr-xr-x _rad/_rad         0 2025-08-06 14:43 ./
-rw-r--r-- _rad/_rad      1153 2025-08-06 14:43 ./plan.yaml
-rwxr-xr-x _rad/_rad   2949784 2025-08-06 14:43 ./run-ci
INFO: Extracted files:
  4587530      4 drwxr-xr-x   2 1001     1001         4096 Aug  6 14:43 .
  4587526      4 -rw-r--r--   1 1001     1001         1153 Aug  6 14:43 ./plan.yaml
  4587527   2884 -rwxr-xr-x   1 1001     1001      2949784 Aug  6 14:43 ./run-ci
INFO: Running run-ci from /dev/vdb
================================ BEGIN ================================
[2025-08-06T14:44:02Z TRACE ambient_execute_plan] ambient-execute-plan starts
[2025-08-06T14:44:02Z DEBUG ambient_execute_plan] ambient-execute-plan starts
[2025-08-06T14:44:02Z INFO  ambient_execute_plan] ambient-execute-plan starts
[2025-08-06T14:44:02Z WARN  ambient_execute_plan] ambient-execute-plan starts
[2025-08-06T14:44:02Z ERROR ambient_execute_plan] ambient-execute-plan starts
RunnablePlan::from_file: filename=plan.yaml
steps:
- action: mkdir
  pathname: /workspace
- action: mkdir
  pathname: /workspace/artifacts
- action: tar_extract
  archive: /dev/vdc
  directory: /workspace/src
- action: tar_extract
  archive: /dev/vdf
  directory: /workspace/deps
- action: tar_extract
  archive: /dev/vde
  directory: /workspace/cache
- action: spawn
  argv:
  - find
  - /workspace
  - '-maxdepth'
  - '2'
  - '-ls'
- action: shell
  shell: |
    export HOME=/root

    sed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup
    sed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup

    rm -rf .ikiwiki
    dot -Tsvg arch.dot > arch.svg
    ikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose

    mv  .ikiwiki/* /workspace/cache/.
- action: tar_create
  archive: /dev/vde
  directory: /workspace/cache
- action: tar_create
  archive: /dev/vdd
  directory: /workspace/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /workspace
source_dir: /workspace/src
deps_dir: /workspace/deps
cache_dir: /workspace/cache
artifacts_dir: /workspace/artifacts


RUN: Action Mkdir {
    pathname: "/workspace",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Mkdir {
        pathname: "/workspace",
    }
RUN: Action finished OK
RUN: Action Mkdir {
    pathname: "/workspace/artifacts",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Mkdir {
        pathname: "/workspace/artifacts",
    }
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vdc",
    directory: "/workspace/src",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
        archive: "/dev/vdc",
        directory: "/workspace/src",
    }
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vdf",
    directory: "/workspace/deps",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
        archive: "/dev/vdf",
        directory: "/workspace/deps",
    }
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
RUN: Action finished OK
RUN: Action TarExtract {
    archive: "/dev/vde",
    directory: "/workspace/cache",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
        archive: "/dev/vde",
        directory: "/workspace/cache",
    }
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
[2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
RUN: Action finished OK
RUN: Action Spawn {
    argv: [
        "find",
        "/workspace",
        "-maxdepth",
        "2",
        "-ls",
    ],
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Spawn {
        argv: [
            "find",
            "/workspace",
            "-maxdepth",
            "2",
            "-ls",
        ],
    }
SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
       cwd=/workspace/src (exists? true)
       extra_env=[]
  2621441      4 drwxr-xr-x   6 root     root         4096 Aug  6 14:44 /workspace
  2622209      4 drwxr-xr-x   2 root     root         4096 Jun 10 07:14 /workspace/deps
  2621443      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src
  2621713      4 -rw-r--r--   1 root     root         1642 Aug  6 14:43 /workspace/src/index.mdwn
  2621453      4 -rw-r--r--   1 root     root          497 Aug  6 14:43 /workspace/src/ikiwiki.setup
  2621449      4 drwxr-xr-x   3 root     root         4096 Aug  6 14:43 /workspace/src/ikiwiki
  2622202      4 -rw-r--r--   1 root     root         2056 Aug  6 14:43 /workspace/src/local.css
  2621701      4 -rw-r--r--   1 root     root         2273 Aug  6 14:43 /workspace/src/style.css
  2621690      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/templates
  2622208      4 -rwxr-xr-x   1 root     root          304 Aug  6 14:43 /workspace/src/git-mtime.sh
  2621700      4 -rw-r--r--   1 root     root         1385 Aug  6 14:43 /workspace/src/license.mdwn
  2621444      8 -rw-r--r--   1 root     root         4658 Aug  6 14:43 /workspace/src/meetings.mdwn
  2621448      4 -rw-r--r--   1 root     root         1438 Aug  6 14:43 /workspace/src/contributing.mdwn
  2621716      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src/.git
  2621454      4 -rw-r--r--   1 root     root          544 Aug  6 14:43 /workspace/src/contact.mdwn
  2621712      8 -rw-r--r--   1 root     root         7874 Aug  6 14:43 /workspace/src/tutorial.mdwn
  2621703      4 -rw-r--r--   1 root     root         1231 Aug  6 14:43 /workspace/src/success.mdwn
  2621445      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/.radicle
  2621707     68 -rw-r--r--   1 root     root        66487 Aug  6 14:43 /workspace/src/kitten.jpg
  2622203      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/tag
  2621714      4 -rw-r--r--   1 root     root         3257 Aug  6 14:43 /workspace/src/conduct.mdwn
  2621447      4 -rw-r--r--   1 root     root          110 Aug  6 14:43 /workspace/src/admin.mdwn
  2621710      8 -rw-r--r--   1 root     root         6667 Aug  6 14:43 /workspace/src/subplot.svg
  2621708     24 -rw-r--r--   1 root     root        21658 Aug  6 14:43 /workspace/src/architecture.mdwn
  2621711      4 -rw-r--r--   1 root     root           18 Aug  6 14:43 /workspace/src/.gitignore
  2621702      4 -rw-r--r--   1 root     root         1230 Aug  6 14:43 /workspace/src/shortcuts.mdwn
  2622206      4 -rwxr-xr-x   1 root     root          693 Aug  6 14:43 /workspace/src/build.sh
  2621455      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src/blog
  2622207      4 -rw-r--r--   1 root     root          693 Aug  6 14:43 /workspace/src/arch.dot
  2621704      4 -rw-r--r--   1 root     root          323 Aug  6 14:43 /workspace/src/governance.mdwn
  2621709      4 -rw-r--r--   1 root     root          292 Aug  6 14:43 /workspace/src/blog.mdwn
  2621705      4 -rw-r--r--   1 root     root         2372 Aug  6 14:43 /workspace/src/download.mdwn
  2621706      4 -rw-r--r--   1 root     root          292 Aug  6 14:43 /workspace/src/docs.mdwn
  2621715      4 -rw-r--r--   1 root     root         1580 Aug  6 14:43 /workspace/src/faq.mdwn
  2621442      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:44 /workspace/artifacts
  2622210      4 drwxr-xr-x   2 root     root         4096 Aug  5 13:16 /workspace/cache
  2622212     68 -rw-r--r--   1 root     root        68805 Aug  5 13:16 /workspace/cache/indexdb
  2622211      0 -rw-r--r--   1 root     root            0 Aug  5 13:15 /workspace/cache/lockfile
RUN: Action finished OK
RUN: Action Shell {
    shell: "export HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n",
}
[2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Shell {
        shell: "export HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n",
    }
SPAWN: argv=["/bin/bash", "-c", "set -xeuo pipefail\nexport HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n\n"]
       cwd=/workspace/src (exists? true)
       extra_env=[]
+ export HOME=/root
+ HOME=/root
+ sed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup
+ sed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup
+ rm -rf .ikiwiki
+ dot -Tsvg arch.dot
+ ikiwiki --setup ikiwiki.setup --libdir /root/.ikiwiki --rebuild --verbose
rebuilding wiki..
scanning index.mdwn
scanning ikiwiki.setup
scanning local.css
scanning style.css
scanning git-mtime.sh
scanning license.mdwn
scanning meetings.mdwn
scanning contributing.mdwn
scanning contact.mdwn
scanning tutorial.mdwn
scanning success.mdwn
scanning kitten.jpg
scanning conduct.mdwn
scanning admin.mdwn
scanning subplot.svg
scanning architecture.mdwn
scanning shortcuts.mdwn
scanning build.sh
scanning arch.dot
scanning governance.mdwn
scanning blog.mdwn
scanning download.mdwn
scanning docs.mdwn
scanning faq.mdwn
scanning arch.svg
scanning ikiwiki/IkiWiki/Plugin/pandoc.pm
scanning templates/rsspage.tmpl
scanning templates/archivepage.tmpl
scanning templates/page.tmpl
scanning templates/rssitem.tmpl
scanning templates/inlinepage.tmpl
scanning templates/titlepage.tmpl
scanning templates/atompage.tmpl
scanning templates/feedlink.tmpl
scanning templates/atomitem.tmpl
scanning tag/news.mdwn
scanning tag/planning.mdwn
scanning blog/2019/12/08/iteration_planning_notes_december_7.mdwn
scanning blog/2019/10/22/iteration_planning_notes.mdwn
scanning blog/2019/11/30/typesetting_scenario_steps_based_on_matched_bindings.mdwn
scanning blog/2019/09/08/reboot.mdwn
scanning blog/2019/09/22/subplot_and_requirement_tracking.mdwn
scanning blog/2023/0.9.0.mdwn
scanning blog/2023/03/11/planning.mdwn
scanning blog/2023/10/07/planning.mdwn
scanning blog/2023/01/28/meeting.mdwn
scanning blog/2023/01/14/planning.md
scanning blog/2023/07/planning.mdwn
scanning blog/2023/11/18/plannaing.mdwn
scanning blog/2023/04/22/planning.mdwn
scanning blog/2023/08/planning-2023-08-12.mdwn
scanning blog/2023/08/30/planning.mdwn
scanning blog/2023/05/20/planning.mdwn
scanning blog/2023/02/24/planning.mdwn
scanning blog/2023/02/11/planning.mdwn
scanning blog/2023/06/03/planning.mdwn
scanning blog/2021/12/04/planning.mdwn
scanning blog/2021/03/27/iteration.mdwn
scanning blog/2021/10/23/meeting.mdwn
scanning blog/2021/10/09/meeting.mdwn
scanning blog/2021/01/31/iteration_planning_january_31sh.mdwn
scanning blog/2021/01/02/_iteration_planning_meeting_january_2nd.mdwn
scanning blog/2021/01/16/iteration_planning_meeting_january_16th.mdwn
scanning blog/2021/07/03/meeting.mdwn
scanning blog/2021/07/11/announcement.mdwn
scanning blog/2021/07/17/meeting.mdwn
scanning blog/2021/07/30/meeting.mdwn
scanning blog/2021/11/20/planning.mdwn
scanning blog/2021/11/06/planning.mdwn
scanning blog/2021/04/10/meeting.mdwn
scanning blog/2021/04/24/meeting.mdwn
scanning blog/2021/08/07/0.2.2.mdwn
scanning blog/2021/08/14/meeting.mdwn
scanning blog/2021/09/11/meeting.mdwn
scanning blog/2021/09/25/meeting.mdwn
scanning blog/2021/05/08/meeting.mdwn
scanning blog/2021/05/22/meeting.mdwn
scanning blog/2021/02/27/iteration.mdwn
scanning blog/2021/02/13/iteration_planning_february_13th.mdwn
scanning blog/2021/06/05/meeting.mdwn
scanning blog/2021/06/19/meeting.md
scanning blog/2022/12/03/planning.mdwn
scanning blog/2022/03/12/planning.mdwn
scanning blog/2022/03/26/planning.mdwn
scanning blog/2022/10/27/iteration.mdwn
scanning blog/2022/10/22/iteration.mdwn
scanning blog/2022/01/01/planning.mdwn
scanning blog/2022/01/15/planning.mdwn
scanning blog/2022/07/31/planning.mdwn
scanning blog/2022/07/16/planning.mdwn
scanning blog/2022/11/05/iteration.mdwn
scanning blog/2022/11/19/planning.mdwn
scanning blog/2022/04/23/planning.mdwn
scanning blog/2022/04/11/planning.mdwn
scanning blog/2022/08/12/iteration.mdwn
scanning blog/2022/08/27/iteration.mdwn
scanning blog/2022/09/10/planning.mdwn
scanning blog/2022/05/07/planning.mdwn
scanning blog/2022/02/12/planning.mdwn
scanning blog/2022/02/28/news.mdwn
scanning blog/2022/02/26/planning.mdwn
scanning blog/2022/06/18/planning.mdwn
scanning blog/2024/0.12.0.mdwn
scanning blog/2024/0.11.0.mdwn
scanning blog/2024/0.10.0.mdwn
scanning blog/2020/12/05/iteration.mdwn
scanning blog/2020/03/13/simple_subplot_stress_testing.mdwn
scanning blog/2020/03/29/iteration_planing_notes_march_29.mdwn
scanning blog/2020/03/14/iteration_planning_notes_march_14.mdwn
scanning blog/2020/10/24/iteration_planning_note_october_24.mdwn
scanning blog/2020/01/18/iteration_planning_notes_january_18.mdwn
scanning blog/2020/01/04/iteration_planning_notes_january_4.mdwn
scanning blog/2020/01/05/data_files_for_tests.mdwn
scanning blog/2020/07/18/iteration_planning_note_july_18.mdwn
scanning blog/2020/11/21/iteration.mdwn
scanning blog/2020/11/07/iteration_planning_meeting_november_7th.mdwn
scanning blog/2020/04/11/iteration_planning_note_april_11.mdwn
scanning blog/2020/04/25/iteration_planning_note_april_25.mdwn
scanning blog/2020/08/01/iteration_planning_note_august_1.mdwn
scanning blog/2020/08/30/iteration_planning_note_august_29.mdwn
scanning blog/2020/09/12/iteration_planning_note_september_12.mdwn
scanning blog/2020/09/26/iteration_planning_note_september_26.mdwn
scanning blog/2020/05/23/iteration_planning_note_may_23.mdwn
scanning blog/2020/05/09/iteration_planning_note_may_9.mdwn
scanning blog/2020/02/08/iteration_planning_notes_february_8.mdwn
scanning blog/2020/02/29/iteration_planning_notes_february_29.mdwn
scanning blog/2020/02/15/iteration_planning_notes_february_15.mdwn
scanning blog/2020/06/20/iteration_planning_note_june_20.mdwn
scanning blog/2020/06/06/iteration_planning_note_june_6.mdwn
scanning ikiwiki/jquery.min.js
scanning ikiwiki/login-selector/login-selector.js
scanning sandbox.mdwn
scanning ikiwiki.mdwn
scanning recentchanges.mdwn
scanning templates.mdwn
scanning ikiwiki/pagespec.mdwn
scanning ikiwiki/subpage.mdwn
scanning ikiwiki/wikilink.mdwn
scanning ikiwiki/markdown.mdwn
scanning ikiwiki/openid.mdwn
scanning ikiwiki/searching.mdwn
scanning ikiwiki/directive.mdwn
scanning ikiwiki/formatting.mdwn
scanning ikiwiki/subpage/linkingrules.mdwn
scanning ikiwiki/pagespec/sorting.mdwn
scanning ikiwiki/pagespec/attachment.mdwn
scanning ikiwiki/pagespec/po.mdwn
scanning templates/note.mdwn
scanning templates/popup.mdwn
scanning wikiicons/openidlogin-bg.gif
scanning wikiicons/diff.png
scanning wikiicons/revert.png
scanning wikiicons/search-bg.gif
scanning wikiicons/email.png
creating tag page tag/announcement
scanning tag/announcement.mdwn
creating tag page tag/pondering
scanning tag/pondering.mdwn
creating tag page tag/meeting
scanning tag/meeting.mdwn
building index.mdwn
building ikiwiki.setup
building local.css
building style.css
building git-mtime.sh
building license.mdwn
building meetings.mdwn
building contributing.mdwn
building contact.mdwn
building tutorial.mdwn
building success.mdwn
building kitten.jpg
building conduct.mdwn
building admin.mdwn
building subplot.svg
building architecture.mdwn
building shortcuts.mdwn
building build.sh
building arch.dot
building governance.mdwn
building blog.mdwn
building download.mdwn
building docs.mdwn
building faq.mdwn
building arch.svg
building ikiwiki/IkiWiki/Plugin/pandoc.pm
building templates/rsspage.tmpl
building templates/archivepage.tmpl
building templates/page.tmpl
building templates/rssitem.tmpl
building templates/inlinepage.tmpl
building templates/titlepage.tmpl
building templates/atompage.tmpl
building templates/feedlink.tmpl
building templates/atomitem.tmpl
building tag/news.mdwn
building tag/planning.mdwn
building blog/2019/12/08/iteration_planning_notes_december_7.mdwn
building blog/2019/10/22/iteration_planning_notes.mdwn
building blog/2019/11/30/typesetting_scenario_steps_based_on_matched_bindings.mdwn
building blog/2019/09/08/reboot.mdwn
building blog/2019/09/22/subplot_and_requirement_tracking.mdwn
building blog/2023/0.9.0.mdwn
building blog/2023/03/11/planning.mdwn
building blog/2023/10/07/planning.mdwn
building blog/2023/01/28/meeting.mdwn
building blog/2023/01/14/planning.md
building blog/2023/07/planning.mdwn
building blog/2023/11/18/plannaing.mdwn
building blog/2023/04/22/planning.mdwn
building blog/2023/08/planning-2023-08-12.mdwn
building blog/2023/08/30/planning.mdwn
building blog/2023/05/20/planning.mdwn
building blog/2023/02/24/planning.mdwn
building blog/2023/02/11/planning.mdwn
building blog/2023/06/03/planning.mdwn
building blog/2021/12/04/planning.mdwn
building blog/2021/03/27/iteration.mdwn
building blog/2021/10/23/meeting.mdwn
building blog/2021/10/09/meeting.mdwn
building blog/2021/01/31/iteration_planning_january_31sh.mdwn
building blog/2021/01/02/_iteration_planning_meeting_january_2nd.mdwn
building blog/2021/01/16/iteration_planning_meeting_january_16th.mdwn
building blog/2021/07/03/meeting.mdwn
building blog/2021/07/11/announcement.mdwn
building blog/2021/07/17/meeting.mdwn
building blog/2021/07/30/meeting.mdwn
building blog/2021/11/20/planning.mdwn
building blog/2021/11/06/planning.mdwn
building blog/2021/04/10/meeting.mdwn
building blog/2021/04/24/meeting.mdwn
building blog/2021/08/07/0.2.2.mdwn
building blog/2021/08/14/meeting.mdwn
building blog/2021/09/11/meeting.mdwn
building blog/2021/09/25/meeting.mdwn
building blog/2021/05/08/meeting.mdwn
building blog/2021/05/22/meeting.mdwn
building blog/2021/02/27/iteration.mdwn
building blog/2021/02/13/iteration_planning_february_13th.mdwn
building blog/2021/06/05/meeting.mdwn
building blog/2021/06/19/meeting.md
building blog/2022/12/03/planning.mdwn
building blog/2022/03/12/planning.mdwn
building blog/2022/03/26/planning.mdwn
building blog/2022/10/27/iteration.mdwn
building blog/2022/10/22/iteration.mdwn
building blog/2022/01/01/planning.mdwn
building blog/2022/01/15/planning.mdwn
building blog/2022/07/31/planning.mdwn
building blog/2022/07/16/planning.mdwn
building blog/2022/11/05/iteration.mdwn
building blog/2022/11/19/planning.mdwn
building blog/2022/04/23/planning.mdwn
building blog/2022/04/11/planning.mdwn
building blog/2022/08/12/iteration.mdwn
building blog/2022/08/27/iteration.mdwn
building blog/2022/09/10/planning.mdwn
building blog/2022/05/07/planning.mdwn
building blog/2022/02/12/planning.mdwn
building blog/2022/02/28/news.mdwn
building blog/2022/02/26/planning.mdwn
building blog/2022/06/18/planning.mdwn
building blog/2024/0.12.0.mdwn
building blog/2024/0.11.0.mdwn
building blog/2024/0.10.0.mdwn
building blog/2020/12/05/iteration.mdwn
building blog/2020/03/13/simple_subplot_stress_testing.mdwn
building blog/2020/03/29/iteration_planing_notes_march_29.mdwn
building blog/2020/03/14/iteration_planning_notes_march_14.mdwn
building blog/2020/10/24/iteration_planning_note_october_24.mdwn
building blog/2020/01/18/iteration_planning_notes_january_18.mdwn
building blog/2020/01/04/iteration_planning_notes_january_4.mdwn
building blog/2020/01/05/data_files_for_tests.mdwn
building blog/2020/07/18/iteration_planning_note_july_18.mdwn
building blog/2020/11/21/iteration.mdwn
building blog/2020/11/07/iteration_planning_meeting_november_7th.mdwn
building blog/2020/04/11/iteration_planning_note_april_11.mdwn
building blog/2020/04/25/iteration_planning_note_april_25.mdwn
building blog/2020/08/01/iteration_planning_note_august_1.mdwn
building blog/2020/08/30/iteration_planning_note_august_29.mdwn
building blog/2020/09/12/iteration_planning_note_september_12.mdwn
building blog/2020/09/26/iteration_planning_note_september_26.mdwn
building blog/2020/05/23/iteration_planning_note_may_23.mdwn
building blog/2020/05/09/iteration_planning_note_may_9.mdwn
building blog/2020/02/08/iteration_planning_notes_february_8.mdwn
building blog/2020/02/29/iteration_planning_notes_february_29.mdwn
building blog/2020/02/15/iteration_planning_notes_february_15.mdwn
building blog/2020/06/20/iteration_planning_note_june_20.mdwn
building blog/2020/06/06/iteration_planning_note_june_6.mdwn
building ikiwiki/jquery.min.js
building ikiwiki/login-selector/login-selector.js
building sandbox.mdwn
building ikiwiki.mdwn
building recentchanges.mdwn
building templates.mdwn
building ikiwiki/pagespec.mdwn
building ikiwiki/subpage.mdwn
building ikiwiki/wikilink.mdwn
building ikiwiki/markdown.mdwn
building ikiwiki/openid.mdwn
building ikiwiki/searching.mdwn
building ikiwiki/directive.mdwn
building ikiwiki/formatting.mdwn
building ikiwiki/subpage/linkingrules.mdwn
building ikiwiki/pagespec/sorting.mdwn
building ikiwiki/pagespec/attachment.mdwn
building ikiwiki/pagespec/po.mdwn
building templates/note.mdwn
building templates/popup.mdwn
building wikiicons/openidlogin-bg.gif
building wikiicons/diff.png
building wikiicons/revert.png
building wikiicons/search-bg.gif
building wikiicons/email.png
building tag/announcement.mdwn
building tag/pondering.mdwn
building tag/meeting.mdwn
done
+ mv .ikiwiki/indexdb .ikiwiki/lockfile /workspace/cache/.
RUN: Action finished OK
RUN: Action TarCreate {
    archive: "/dev/vde",
    directory: "/workspace/cache",
}
[2025-08-06T14:44:04Z DEBUG ambient_ci::action] Plan::execute: TarCreate {
        archive: "/dev/vde",
        directory: "/workspace/cache",
    }
[2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] creating virtual drive (tar archive): VirtualDriveBuilder {
        filename: Some(
            "/dev/vde",
        ),
        root: Some(
            "/workspace/cache",
        ),
        size: None,
    }
[2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] tar archive to be created: /dev/vde; exists? true
[2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] create archive file /dev/vde
[2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] directory /workspace/cache exists? true
[2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] add contents of /workspace/cache as .
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] created virtual drive /dev/vde
RUN: Action finished OK
RUN: Action TarCreate {
    archive: "/dev/vdd",
    directory: "/workspace/artifacts",
}
[2025-08-06T14:44:05Z DEBUG ambient_ci::action] Plan::execute: TarCreate {
        archive: "/dev/vdd",
        directory: "/workspace/artifacts",
    }
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] creating virtual drive (tar archive): VirtualDriveBuilder {
        filename: Some(
            "/dev/vdd",
        ),
        root: Some(
            "/workspace/artifacts",
        ),
        size: None,
    }
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] tar archive to be created: /dev/vdd; exists? true
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] create archive file /dev/vdd
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] directory /workspace/artifacts exists? true
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] add contents of /workspace/artifacts as .
[2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] created virtual drive /dev/vdd
RUN: Action finished OK
ambient-execute-plan ends
EXIT CODE: 0
[2025-08-06T14:44:05Z INFO  ambient] ambient ends successfully

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:z2M6WnwXyFcdQNj6M5pav3BnyTBfz",
    "name": "subplot-web",
    "description": "Website for Subplot",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV"
    ]
  },
  "pusher": {
    "id": "did:key:z6MkkYez6QAFWvmdudjrfMXySu1NTpSrraJotCJFwGgkmgx8",
    "alias": "ci0"
  },
  "before": "6c853694df278e73378ba602b305c9ae2a8c191d",
  "after": "6c853694df278e73378ba602b305c9ae2a8c191d",
  "branch": "main",
  "commits": [
    "6c853694df278e73378ba602b305c9ae2a8c191d"
  ]
}

Ambient stdout

[2025-08-06T14:43:48Z INFO  ambient] ambient starts
[2025-08-06T14:43:48Z DEBUG ambient] load default configuration file /home/_rad/.config/ambient/config.yaml if it exists
[2025-08-06T14:43:48Z DEBUG ambient] load files named with --config: /tmp/.tmpdohd1B/ambient_extra_values.yaml
[2025-08-06T14:43:48Z DEBUG ambient] complete configuration: Config {
        tmpdir: "/srv/tmp",
        image_store: "/home/_rad/.local/state/ambient-ci/images",
        projects: "/home/_rad/ambient-projects.yaml",
        state: "/srv/ambient-state",
        rsync_target: None,
        rsync_target_base: Some(
            "ci@http.liw.fi:/srv/http",
        ),
        rsync_target_map: None,
        dput_target: Some(
            "apt.liw.fi",
        ),
        executor: Some(
            "/usr/bin/ambient-execute-plan",
        ),
        artifacts_max_size: Byte(
            10000000000,
        ),
        cache_max_size: Byte(
            50000000000,
        ),
        qemu: QemuConfig {
            cpus: 4,
            memory: Byte(
                8000000000,
            ),
            kvm_binary: "/usr/bin/kvm",
            ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
            ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
        },
    }
[2025-08-06T14:43:48Z DEBUG ambient] configuration: Config {
        tmpdir: "/srv/tmp",
        image_store: "/home/_rad/.local/state/ambient-ci/images",
        projects: "/home/_rad/ambient-projects.yaml",
        state: "/srv/ambient-state",
        rsync_target: None,
        rsync_target_base: Some(
            "ci@http.liw.fi:/srv/http",
        ),
        rsync_target_map: None,
        dput_target: Some(
            "apt.liw.fi",
        ),
        executor: Some(
            "/usr/bin/ambient-execute-plan",
        ),
        artifacts_max_size: Byte(
            10000000000,
        ),
        cache_max_size: Byte(
            50000000000,
        ),
        qemu: QemuConfig {
            cpus: 4,
            memory: Byte(
                8000000000,
            ),
            kvm_binary: "/usr/bin/kvm",
            ovmf_vars_file: "/usr/share/ovmf/OVMF.fd",
            ovmf_code_file: "/usr/share/ovmf/OVMF.fd",
        },
    }
[2025-08-06T14:43:48Z DEBUG ambient_ci::project] load project state from /srv/ambient-state/subplot-web/meta.yaml
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] latest commit: "6c853694df278e73378ba602b305c9ae2a8c191d"
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] is a git repository
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] git repository is clean
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] current (HEAD) commit: 6c853694df278e73378ba602b305c9ae2a8c191d
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] no dry run requested
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] forced run requested
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] run? true
[2025-08-06T14:43:48Z INFO  ambient_ci::run] project subplot-web: running CI
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] Executing pre-plan steps
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] create virtual drive /srv/tmp/.tmpLH9RSe/src.tar
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] create virtual drive /srv/tmp/.tmpLH9RSe/deps.tar
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] create_executor_vdrive: executor="/usr/bin/ambient-execute-plan"
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] create_executor_vdrive: plan=RunnablePlan {
        steps: [
            Mkdir {
                pathname: "/workspace",
            },
            Mkdir {
                pathname: "/workspace/artifacts",
            },
            TarExtract {
                archive: "/dev/vdc",
                directory: "/workspace/src",
            },
            TarExtract {
                archive: "/dev/vdf",
                directory: "/workspace/deps",
            },
            TarExtract {
                archive: "/dev/vde",
                directory: "/workspace/cache",
            },
            Spawn {
                argv: [
                    "find",
                    "/workspace",
                    "-maxdepth",
                    "2",
                    "-ls",
                ],
            },
            Shell {
                shell: "export HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n",
            },
            TarCreate {
                archive: "/dev/vde",
                directory: "/workspace/cache",
            },
            TarCreate {
                archive: "/dev/vdd",
                directory: "/workspace/artifacts",
            },
        ],
        executor_drive: Some(
            "/dev/vdb",
        ),
        source_drive: Some(
            "/dev/vdc",
        ),
        artifact_drive: Some(
            "/dev/vdd",
        ),
        cache_drive: Some(
            "/dev/vde",
        ),
        deps_drive: Some(
            "/dev/vdf",
        ),
        workspace_dir: Some(
            "/workspace",
        ),
        source_dir: Some(
            "/workspace/src",
        ),
        deps_dir: Some(
            "/workspace/deps",
        ),
        cache_dir: Some(
            "/workspace/cache",
        ),
        artifacts_dir: Some(
            "/workspace/artifacts",
        ),
    }
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] executor bin /usr/bin/ambient-execute-plan
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] copying /usr/bin/ambient-execute-plan to /srv/tmp/.tmpLH9RSe/ambient-execute-plan/run-ci
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] copy OK: true
[2025-08-06T14:43:48Z DEBUG ambient_ci::run] create virtual drive /srv/tmp/.tmpLH9RSe/executor.tar
[2025-08-06T14:43:48Z DEBUG ambient_ci::project] removing run log file /srv/ambient-state/subplot-web/run.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::project] statedir is /srv/ambient-state/subplot-web, exists? true
[2025-08-06T14:43:48Z DEBUG ambient_ci::project] creating run log file /srv/ambient-state/subplot-web/run.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::project] created run log file /srv/ambient-state/subplot-web/run.log OK
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] with_hostname called: "ambient"
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] with_runcmd called: "echo xyzzy > /dev/ttyS1"
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] with_runcmd called: "\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n        echo \"EXIT CODE: 0\"\nelse\n        echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n"
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] with_runcmd called: "poweroff"
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] LocalDataStoreBuilder: LocalDataStoreBuilder {
        hostname: Some(
            "ambient",
        ),
        network: false,
        bootcmd: [],
        runcmd: [
            "echo xyzzy > /dev/ttyS1",
            "\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n        echo \"EXIT CODE: 0\"\nelse\n        echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
            "poweroff",
        ],
    }
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] run QEMU
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] create copy-on-write image and UEFI vars file
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu_utils] qemu-img create /srv/tmp/.tmpwbQkH4/.tmpdPDmwg/vm.qcow2 backing on /home/_rad/ambient.qcow2
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] create cloud-init ISO file
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] LocalDataStore: LocalDataStore {
        hostname: "ambient",
        network: false,
        bootcmd: [],
        runcmd: [
            "echo xyzzy > /dev/ttyS1",
            "\n(set -xeu\nenv\ndir=\"$(mktemp -d)\"\ncd \"$dir\"\ntar -xvf /dev/vdb\nfind -ls || true\nldd ./run-ci || true\necho ================================ BEGIN ================================\nexport RUST_BACKTRACE=1\nif ./run-ci; then\n        echo \"EXIT CODE: 0\"\nelse\n        echo \"EXIT CODE: $?\"\nfi) > /dev/ttyS1 2>&1\n",
            "poweroff",
        ],
    }
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] write /tmp/.tmpivBqNx/meta-data
[2025-08-06T14:43:48Z DEBUG ambient_ci::cloud_init] write /tmp/.tmpivBqNx/user-data
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] set console log file to /srv/tmp/.tmpwbQkH4/.tmpdPDmwg/console.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::util] create file /srv/tmp/.tmpwbQkH4/.tmpdPDmwg/console.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] set run file to /srv/ambient-state/subplot-web/run.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::util] create file /srv/ambient-state/subplot-web/run.log
[2025-08-06T14:43:48Z DEBUG ambient_ci::qemu] run QEMU: QemuArgs {
        args: [
            "-m",
            "7629",
            "-smp",
            "cpus=4",
            "-cpu",
            "kvm64",
            "-machine",
            "type=q35,accel=kvm,usb=off",
            "-uuid",
            "a85c9de7-edc0-4e54-bead-112e5733582c",
            "-boot",
            "strict=on",
            "-name",
            "ambient-ci-vm",
            "-rtc",
            "base=utc,driftfix=slew",
            "-display",
            "none",
            "-device",
            "virtio-rng-pci",
            "-serial",
            "file:/srv/tmp/.tmpwbQkH4/.tmpdPDmwg/console.log",
            "-serial",
            "file:/srv/ambient-state/subplot-web/run.log",
            "-drive",
            "if=pflash,format=raw,unit=0,file=/usr/share/ovmf/OVMF.fd,readonly=on",
            "-drive",
            "if=pflash,format=raw,unit=1,file=/srv/tmp/.tmpwbQkH4/.tmpdPDmwg/vars.fd",
            "-drive",
            "format=qcow2,if=virtio,file=/srv/tmp/.tmpwbQkH4/.tmpdPDmwg/vm.qcow2",
            "-drive",
            "format=raw,if=virtio,file=/srv/tmp/.tmpLH9RSe/executor.tar,readonly=on",
            "-cdrom",
            "/srv/tmp/.tmpwbQkH4/.tmpdPDmwg/cloud_init.iso",
            "-drive",
            "format=raw,if=virtio,file=/srv/tmp/.tmpLH9RSe/src.tar,readonly=on",
            "-drive",
            "format=raw,if=virtio,file=/srv/tmp/.tmpLH9RSe/artifacts.tar",
            "-drive",
            "format=raw,if=virtio,file=/srv/tmp/.tmpLH9RSe/cache.tar",
            "-drive",
            "format=raw,if=virtio,file=/srv/tmp/.tmpLH9RSe/deps.tar,readonly=on",
            "-nodefaults",
            "-no-user-config",
        ],
    }
[2025-08-06T14:44:05Z DEBUG ambient_ci::qemu] QEMU finished OK
[2025-08-06T14:44:05Z DEBUG ambient_ci::qemu] run log:
    --------------------==========
    [2025-08-06T14:44:02Z TRACE ambient_execute_plan] ambient-execute-plan starts
    [2025-08-06T14:44:02Z DEBUG ambient_execute_plan] ambient-execute-plan starts
    [2025-08-06T14:44:02Z INFO  ambient_execute_plan] ambient-execute-plan starts
    [2025-08-06T14:44:02Z WARN  ambient_execute_plan] ambient-execute-plan starts
    [2025-08-06T14:44:02Z ERROR ambient_execute_plan] ambient-execute-plan starts
    RunnablePlan::from_file: filename=plan.yaml
    steps:
    - action: mkdir
      pathname: /workspace
    - action: mkdir
      pathname: /workspace/artifacts
    - action: tar_extract
      archive: /dev/vdc
      directory: /workspace/src
    - action: tar_extract
      archive: /dev/vdf
      directory: /workspace/deps
    - action: tar_extract
      archive: /dev/vde
      directory: /workspace/cache
    - action: spawn
      argv:
      - find
      - /workspace
      - '-maxdepth'
      - '2'
      - '-ls'
    - action: shell
      shell: |
        export HOME=/root
    
        sed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup
        sed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup
    
        rm -rf .ikiwiki
        dot -Tsvg arch.dot > arch.svg
        ikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose
    
        mv  .ikiwiki/* /workspace/cache/.
    - action: tar_create
      archive: /dev/vde
      directory: /workspace/cache
    - action: tar_create
      archive: /dev/vdd
      directory: /workspace/artifacts
    executor_drive: /dev/vdb
    source_drive: /dev/vdc
    artifact_drive: /dev/vdd
    cache_drive: /dev/vde
    deps_drive: /dev/vdf
    workspace_dir: /workspace
    source_dir: /workspace/src
    deps_dir: /workspace/deps
    cache_dir: /workspace/cache
    artifacts_dir: /workspace/artifacts
    
    
    RUN: Action Mkdir {
        pathname: "/workspace",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Mkdir {
            pathname: "/workspace",
        }
    RUN: Action finished OK
    RUN: Action Mkdir {
        pathname: "/workspace/artifacts",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Mkdir {
            pathname: "/workspace/artifacts",
        }
    RUN: Action finished OK
    RUN: Action TarExtract {
        archive: "/dev/vdc",
        directory: "/workspace/src",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
            archive: "/dev/vdc",
            directory: "/workspace/src",
        }
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vdc to /workspace/src
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
    RUN: Action finished OK
    RUN: Action TarExtract {
        archive: "/dev/vdf",
        directory: "/workspace/deps",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
            archive: "/dev/vdf",
            directory: "/workspace/deps",
        }
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vdf to /workspace/deps
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
    RUN: Action finished OK
    RUN: Action TarExtract {
        archive: "/dev/vde",
        directory: "/workspace/cache",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: TarExtract {
            archive: "/dev/vde",
            directory: "/workspace/cache",
        }
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extracting /dev/vde to /workspace/cache
    [2025-08-06T14:44:02Z TRACE ambient_ci::vdrive] extraction OK
    RUN: Action finished OK
    RUN: Action Spawn {
        argv: [
            "find",
            "/workspace",
            "-maxdepth",
            "2",
            "-ls",
        ],
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Spawn {
            argv: [
                "find",
                "/workspace",
                "-maxdepth",
                "2",
                "-ls",
            ],
        }
    SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"]
           cwd=/workspace/src (exists? true)
           extra_env=[]
      2621441      4 drwxr-xr-x   6 root     root         4096 Aug  6 14:44 /workspace
      2622209      4 drwxr-xr-x   2 root     root         4096 Jun 10 07:14 /workspace/deps
      2621443      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src
      2621713      4 -rw-r--r--   1 root     root         1642 Aug  6 14:43 /workspace/src/index.mdwn
      2621453      4 -rw-r--r--   1 root     root          497 Aug  6 14:43 /workspace/src/ikiwiki.setup
      2621449      4 drwxr-xr-x   3 root     root         4096 Aug  6 14:43 /workspace/src/ikiwiki
      2622202      4 -rw-r--r--   1 root     root         2056 Aug  6 14:43 /workspace/src/local.css
      2621701      4 -rw-r--r--   1 root     root         2273 Aug  6 14:43 /workspace/src/style.css
      2621690      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/templates
      2622208      4 -rwxr-xr-x   1 root     root          304 Aug  6 14:43 /workspace/src/git-mtime.sh
      2621700      4 -rw-r--r--   1 root     root         1385 Aug  6 14:43 /workspace/src/license.mdwn
      2621444      8 -rw-r--r--   1 root     root         4658 Aug  6 14:43 /workspace/src/meetings.mdwn
      2621448      4 -rw-r--r--   1 root     root         1438 Aug  6 14:43 /workspace/src/contributing.mdwn
      2621716      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src/.git
      2621454      4 -rw-r--r--   1 root     root          544 Aug  6 14:43 /workspace/src/contact.mdwn
      2621712      8 -rw-r--r--   1 root     root         7874 Aug  6 14:43 /workspace/src/tutorial.mdwn
      2621703      4 -rw-r--r--   1 root     root         1231 Aug  6 14:43 /workspace/src/success.mdwn
      2621445      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/.radicle
      2621707     68 -rw-r--r--   1 root     root        66487 Aug  6 14:43 /workspace/src/kitten.jpg
      2622203      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:43 /workspace/src/tag
      2621714      4 -rw-r--r--   1 root     root         3257 Aug  6 14:43 /workspace/src/conduct.mdwn
      2621447      4 -rw-r--r--   1 root     root          110 Aug  6 14:43 /workspace/src/admin.mdwn
      2621710      8 -rw-r--r--   1 root     root         6667 Aug  6 14:43 /workspace/src/subplot.svg
      2621708     24 -rw-r--r--   1 root     root        21658 Aug  6 14:43 /workspace/src/architecture.mdwn
      2621711      4 -rw-r--r--   1 root     root           18 Aug  6 14:43 /workspace/src/.gitignore
      2621702      4 -rw-r--r--   1 root     root         1230 Aug  6 14:43 /workspace/src/shortcuts.mdwn
      2622206      4 -rwxr-xr-x   1 root     root          693 Aug  6 14:43 /workspace/src/build.sh
      2621455      4 drwxr-xr-x   8 root     root         4096 Aug  6 14:43 /workspace/src/blog
      2622207      4 -rw-r--r--   1 root     root          693 Aug  6 14:43 /workspace/src/arch.dot
      2621704      4 -rw-r--r--   1 root     root          323 Aug  6 14:43 /workspace/src/governance.mdwn
      2621709      4 -rw-r--r--   1 root     root          292 Aug  6 14:43 /workspace/src/blog.mdwn
      2621705      4 -rw-r--r--   1 root     root         2372 Aug  6 14:43 /workspace/src/download.mdwn
      2621706      4 -rw-r--r--   1 root     root          292 Aug  6 14:43 /workspace/src/docs.mdwn
      2621715      4 -rw-r--r--   1 root     root         1580 Aug  6 14:43 /workspace/src/faq.mdwn
      2621442      4 drwxr-xr-x   2 root     root         4096 Aug  6 14:44 /workspace/artifacts
      2622210      4 drwxr-xr-x   2 root     root         4096 Aug  5 13:16 /workspace/cache
      2622212     68 -rw-r--r--   1 root     root        68805 Aug  5 13:16 /workspace/cache/indexdb
      2622211      0 -rw-r--r--   1 root     root            0 Aug  5 13:15 /workspace/cache/lockfile
    RUN: Action finished OK
    RUN: Action Shell {
        shell: "export HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n",
    }
    [2025-08-06T14:44:02Z DEBUG ambient_ci::action] Plan::execute: Shell {
            shell: "export HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n",
        }
    SPAWN: argv=["/bin/bash", "-c", "set -xeuo pipefail\nexport HOME=/root\n\nsed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup\nsed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup\n\nrm -rf .ikiwiki\ndot -Tsvg arch.dot > arch.svg\nikiwiki --setup ikiwiki.setup --libdir $HOME/.ikiwiki --rebuild --verbose\n\nmv  .ikiwiki/* /workspace/cache/.\n\n"]
           cwd=/workspace/src (exists? true)
           extra_env=[]
    + export HOME=/root
    + HOME=/root
    + sed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup
    + sed -i 's#^destdir:.*#destdir: /workspace/artifacts#' ikiwiki.setup
    + rm -rf .ikiwiki
    + dot -Tsvg arch.dot
    + ikiwiki --setup ikiwiki.setup --libdir /root/.ikiwiki --rebuild --verbose
    rebuilding wiki..
    scanning index.mdwn
    scanning ikiwiki.setup
    scanning local.css
    scanning style.css
    scanning git-mtime.sh
    scanning license.mdwn
    scanning meetings.mdwn
    scanning contributing.mdwn
    scanning contact.mdwn
    scanning tutorial.mdwn
    scanning success.mdwn
    scanning kitten.jpg
    scanning conduct.mdwn
    scanning admin.mdwn
    scanning subplot.svg
    scanning architecture.mdwn
    scanning shortcuts.mdwn
    scanning build.sh
    scanning arch.dot
    scanning governance.mdwn
    scanning blog.mdwn
    scanning download.mdwn
    scanning docs.mdwn
    scanning faq.mdwn
    scanning arch.svg
    scanning ikiwiki/IkiWiki/Plugin/pandoc.pm
    scanning templates/rsspage.tmpl
    scanning templates/archivepage.tmpl
    scanning templates/page.tmpl
    scanning templates/rssitem.tmpl
    scanning templates/inlinepage.tmpl
    scanning templates/titlepage.tmpl
    scanning templates/atompage.tmpl
    scanning templates/feedlink.tmpl
    scanning templates/atomitem.tmpl
    scanning tag/news.mdwn
    scanning tag/planning.mdwn
    scanning blog/2019/12/08/iteration_planning_notes_december_7.mdwn
    scanning blog/2019/10/22/iteration_planning_notes.mdwn
    scanning blog/2019/11/30/typesetting_scenario_steps_based_on_matched_bindings.mdwn
    scanning blog/2019/09/08/reboot.mdwn
    scanning blog/2019/09/22/subplot_and_requirement_tracking.mdwn
    scanning blog/2023/0.9.0.mdwn
    scanning blog/2023/03/11/planning.mdwn
    scanning blog/2023/10/07/planning.mdwn
    scanning blog/2023/01/28/meeting.mdwn
    scanning blog/2023/01/14/planning.md
    scanning blog/2023/07/planning.mdwn
    scanning blog/2023/11/18/plannaing.mdwn
    scanning blog/2023/04/22/planning.mdwn
    scanning blog/2023/08/planning-2023-08-12.mdwn
    scanning blog/2023/08/30/planning.mdwn
    scanning blog/2023/05/20/planning.mdwn
    scanning blog/2023/02/24/planning.mdwn
    scanning blog/2023/02/11/planning.mdwn
    scanning blog/2023/06/03/planning.mdwn
    scanning blog/2021/12/04/planning.mdwn
    scanning blog/2021/03/27/iteration.mdwn
    scanning blog/2021/10/23/meeting.mdwn
    scanning blog/2021/10/09/meeting.mdwn
    scanning blog/2021/01/31/iteration_planning_january_31sh.mdwn
    scanning blog/2021/01/02/_iteration_planning_meeting_january_2nd.mdwn
    scanning blog/2021/01/16/iteration_planning_meeting_january_16th.mdwn
    scanning blog/2021/07/03/meeting.mdwn
    scanning blog/2021/07/11/announcement.mdwn
    scanning blog/2021/07/17/meeting.mdwn
    scanning blog/2021/07/30/meeting.mdwn
    scanning blog/2021/11/20/planning.mdwn
    scanning blog/2021/11/06/planning.mdwn
    scanning blog/2021/04/10/meeting.mdwn
    scanning blog/2021/04/24/meeting.mdwn
    scanning blog/2021/08/07/0.2.2.mdwn
    scanning blog/2021/08/14/meeting.mdwn
    scanning blog/2021/09/11/meeting.mdwn
    scanning blog/2021/09/25/meeting.mdwn
    scanning blog/2021/05/08/meeting.mdwn
    scanning blog/2021/05/22/meeting.mdwn
    scanning blog/2021/02/27/iteration.mdwn
    scanning blog/2021/02/13/iteration_planning_february_13th.mdwn
    scanning blog/2021/06/05/meeting.mdwn
    scanning blog/2021/06/19/meeting.md
    scanning blog/2022/12/03/planning.mdwn
    scanning blog/2022/03/12/planning.mdwn
    scanning blog/2022/03/26/planning.mdwn
    scanning blog/2022/10/27/iteration.mdwn
    scanning blog/2022/10/22/iteration.mdwn
    scanning blog/2022/01/01/planning.mdwn
    scanning blog/2022/01/15/planning.mdwn
    scanning blog/2022/07/31/planning.mdwn
    scanning blog/2022/07/16/planning.mdwn
    scanning blog/2022/11/05/iteration.mdwn
    scanning blog/2022/11/19/planning.mdwn
    scanning blog/2022/04/23/planning.mdwn
    scanning blog/2022/04/11/planning.mdwn
    scanning blog/2022/08/12/iteration.mdwn
    scanning blog/2022/08/27/iteration.mdwn
    scanning blog/2022/09/10/planning.mdwn
    scanning blog/2022/05/07/planning.mdwn
    scanning blog/2022/02/12/planning.mdwn
    scanning blog/2022/02/28/news.mdwn
    scanning blog/2022/02/26/planning.mdwn
    scanning blog/2022/06/18/planning.mdwn
    scanning blog/2024/0.12.0.mdwn
    scanning blog/2024/0.11.0.mdwn
    scanning blog/2024/0.10.0.mdwn
    scanning blog/2020/12/05/iteration.mdwn
    scanning blog/2020/03/13/simple_subplot_stress_testing.mdwn
    scanning blog/2020/03/29/iteration_planing_notes_march_29.mdwn
    scanning blog/2020/03/14/iteration_planning_notes_march_14.mdwn
    scanning blog/2020/10/24/iteration_planning_note_october_24.mdwn
    scanning blog/2020/01/18/iteration_planning_notes_january_18.mdwn
    scanning blog/2020/01/04/iteration_planning_notes_january_4.mdwn
    scanning blog/2020/01/05/data_files_for_tests.mdwn
    scanning blog/2020/07/18/iteration_planning_note_july_18.mdwn
    scanning blog/2020/11/21/iteration.mdwn
    scanning blog/2020/11/07/iteration_planning_meeting_november_7th.mdwn
    scanning blog/2020/04/11/iteration_planning_note_april_11.mdwn
    scanning blog/2020/04/25/iteration_planning_note_april_25.mdwn
    scanning blog/2020/08/01/iteration_planning_note_august_1.mdwn
    scanning blog/2020/08/30/iteration_planning_note_august_29.mdwn
    scanning blog/2020/09/12/iteration_planning_note_september_12.mdwn
    scanning blog/2020/09/26/iteration_planning_note_september_26.mdwn
    scanning blog/2020/05/23/iteration_planning_note_may_23.mdwn
    scanning blog/2020/05/09/iteration_planning_note_may_9.mdwn
    scanning blog/2020/02/08/iteration_planning_notes_february_8.mdwn
    scanning blog/2020/02/29/iteration_planning_notes_february_29.mdwn
    scanning blog/2020/02/15/iteration_planning_notes_february_15.mdwn
    scanning blog/2020/06/20/iteration_planning_note_june_20.mdwn
    scanning blog/2020/06/06/iteration_planning_note_june_6.mdwn
    scanning ikiwiki/jquery.min.js
    scanning ikiwiki/login-selector/login-selector.js
    scanning sandbox.mdwn
    scanning ikiwiki.mdwn
    scanning recentchanges.mdwn
    scanning templates.mdwn
    scanning ikiwiki/pagespec.mdwn
    scanning ikiwiki/subpage.mdwn
    scanning ikiwiki/wikilink.mdwn
    scanning ikiwiki/markdown.mdwn
    scanning ikiwiki/openid.mdwn
    scanning ikiwiki/searching.mdwn
    scanning ikiwiki/directive.mdwn
    scanning ikiwiki/formatting.mdwn
    scanning ikiwiki/subpage/linkingrules.mdwn
    scanning ikiwiki/pagespec/sorting.mdwn
    scanning ikiwiki/pagespec/attachment.mdwn
    scanning ikiwiki/pagespec/po.mdwn
    scanning templates/note.mdwn
    scanning templates/popup.mdwn
    scanning wikiicons/openidlogin-bg.gif
    scanning wikiicons/diff.png
    scanning wikiicons/revert.png
    scanning wikiicons/search-bg.gif
    scanning wikiicons/email.png
    creating tag page tag/announcement
    scanning tag/announcement.mdwn
    creating tag page tag/pondering
    scanning tag/pondering.mdwn
    creating tag page tag/meeting
    scanning tag/meeting.mdwn
    building index.mdwn
    building ikiwiki.setup
    building local.css
    building style.css
    building git-mtime.sh
    building license.mdwn
    building meetings.mdwn
    building contributing.mdwn
    building contact.mdwn
    building tutorial.mdwn
    building success.mdwn
    building kitten.jpg
    building conduct.mdwn
    building admin.mdwn
    building subplot.svg
    building architecture.mdwn
    building shortcuts.mdwn
    building build.sh
    building arch.dot
    building governance.mdwn
    building blog.mdwn
    building download.mdwn
    building docs.mdwn
    building faq.mdwn
    building arch.svg
    building ikiwiki/IkiWiki/Plugin/pandoc.pm
    building templates/rsspage.tmpl
    building templates/archivepage.tmpl
    building templates/page.tmpl
    building templates/rssitem.tmpl
    building templates/inlinepage.tmpl
    building templates/titlepage.tmpl
    building templates/atompage.tmpl
    building templates/feedlink.tmpl
    building templates/atomitem.tmpl
    building tag/news.mdwn
    building tag/planning.mdwn
    building blog/2019/12/08/iteration_planning_notes_december_7.mdwn
    building blog/2019/10/22/iteration_planning_notes.mdwn
    building blog/2019/11/30/typesetting_scenario_steps_based_on_matched_bindings.mdwn
    building blog/2019/09/08/reboot.mdwn
    building blog/2019/09/22/subplot_and_requirement_tracking.mdwn
    building blog/2023/0.9.0.mdwn
    building blog/2023/03/11/planning.mdwn
    building blog/2023/10/07/planning.mdwn
    building blog/2023/01/28/meeting.mdwn
    building blog/2023/01/14/planning.md
    building blog/2023/07/planning.mdwn
    building blog/2023/11/18/plannaing.mdwn
    building blog/2023/04/22/planning.mdwn
    building blog/2023/08/planning-2023-08-12.mdwn
    building blog/2023/08/30/planning.mdwn
    building blog/2023/05/20/planning.mdwn
    building blog/2023/02/24/planning.mdwn
    building blog/2023/02/11/planning.mdwn
    building blog/2023/06/03/planning.mdwn
    building blog/2021/12/04/planning.mdwn
    building blog/2021/03/27/iteration.mdwn
    building blog/2021/10/23/meeting.mdwn
    building blog/2021/10/09/meeting.mdwn
    building blog/2021/01/31/iteration_planning_january_31sh.mdwn
    building blog/2021/01/02/_iteration_planning_meeting_january_2nd.mdwn
    building blog/2021/01/16/iteration_planning_meeting_january_16th.mdwn
    building blog/2021/07/03/meeting.mdwn
    building blog/2021/07/11/announcement.mdwn
    building blog/2021/07/17/meeting.mdwn
    building blog/2021/07/30/meeting.mdwn
    building blog/2021/11/20/planning.mdwn
    building blog/2021/11/06/planning.mdwn
    building blog/2021/04/10/meeting.mdwn
    building blog/2021/04/24/meeting.mdwn
    building blog/2021/08/07/0.2.2.mdwn
    building blog/2021/08/14/meeting.mdwn
    building blog/2021/09/11/meeting.mdwn
    building blog/2021/09/25/meeting.mdwn
    building blog/2021/05/08/meeting.mdwn
    building blog/2021/05/22/meeting.mdwn
    building blog/2021/02/27/iteration.mdwn
    building blog/2021/02/13/iteration_planning_february_13th.mdwn
    building blog/2021/06/05/meeting.mdwn
    building blog/2021/06/19/meeting.md
    building blog/2022/12/03/planning.mdwn
    building blog/2022/03/12/planning.mdwn
    building blog/2022/03/26/planning.mdwn
    building blog/2022/10/27/iteration.mdwn
    building blog/2022/10/22/iteration.mdwn
    building blog/2022/01/01/planning.mdwn
    building blog/2022/01/15/planning.mdwn
    building blog/2022/07/31/planning.mdwn
    building blog/2022/07/16/planning.mdwn
    building blog/2022/11/05/iteration.mdwn
    building blog/2022/11/19/planning.mdwn
    building blog/2022/04/23/planning.mdwn
    building blog/2022/04/11/planning.mdwn
    building blog/2022/08/12/iteration.mdwn
    building blog/2022/08/27/iteration.mdwn
    building blog/2022/09/10/planning.mdwn
    building blog/2022/05/07/planning.mdwn
    building blog/2022/02/12/planning.mdwn
    building blog/2022/02/28/news.mdwn
    building blog/2022/02/26/planning.mdwn
    building blog/2022/06/18/planning.mdwn
    building blog/2024/0.12.0.mdwn
    building blog/2024/0.11.0.mdwn
    building blog/2024/0.10.0.mdwn
    building blog/2020/12/05/iteration.mdwn
    building blog/2020/03/13/simple_subplot_stress_testing.mdwn
    building blog/2020/03/29/iteration_planing_notes_march_29.mdwn
    building blog/2020/03/14/iteration_planning_notes_march_14.mdwn
    building blog/2020/10/24/iteration_planning_note_october_24.mdwn
    building blog/2020/01/18/iteration_planning_notes_january_18.mdwn
    building blog/2020/01/04/iteration_planning_notes_january_4.mdwn
    building blog/2020/01/05/data_files_for_tests.mdwn
    building blog/2020/07/18/iteration_planning_note_july_18.mdwn
    building blog/2020/11/21/iteration.mdwn
    building blog/2020/11/07/iteration_planning_meeting_november_7th.mdwn
    building blog/2020/04/11/iteration_planning_note_april_11.mdwn
    building blog/2020/04/25/iteration_planning_note_april_25.mdwn
    building blog/2020/08/01/iteration_planning_note_august_1.mdwn
    building blog/2020/08/30/iteration_planning_note_august_29.mdwn
    building blog/2020/09/12/iteration_planning_note_september_12.mdwn
    building blog/2020/09/26/iteration_planning_note_september_26.mdwn
    building blog/2020/05/23/iteration_planning_note_may_23.mdwn
    building blog/2020/05/09/iteration_planning_note_may_9.mdwn
    building blog/2020/02/08/iteration_planning_notes_february_8.mdwn
    building blog/2020/02/29/iteration_planning_notes_february_29.mdwn
    building blog/2020/02/15/iteration_planning_notes_february_15.mdwn
    building blog/2020/06/20/iteration_planning_note_june_20.mdwn
    building blog/2020/06/06/iteration_planning_note_june_6.mdwn
    building ikiwiki/jquery.min.js
    building ikiwiki/login-selector/login-selector.js
    building sandbox.mdwn
    building ikiwiki.mdwn
    building recentchanges.mdwn
    building templates.mdwn
    building ikiwiki/pagespec.mdwn
    building ikiwiki/subpage.mdwn
    building ikiwiki/wikilink.mdwn
    building ikiwiki/markdown.mdwn
    building ikiwiki/openid.mdwn
    building ikiwiki/searching.mdwn
    building ikiwiki/directive.mdwn
    building ikiwiki/formatting.mdwn
    building ikiwiki/subpage/linkingrules.mdwn
    building ikiwiki/pagespec/sorting.mdwn
    building ikiwiki/pagespec/attachment.mdwn
    building ikiwiki/pagespec/po.mdwn
    building templates/note.mdwn
    building templates/popup.mdwn
    building wikiicons/openidlogin-bg.gif
    building wikiicons/diff.png
    building wikiicons/revert.png
    building wikiicons/search-bg.gif
    building wikiicons/email.png
    building tag/announcement.mdwn
    building tag/pondering.mdwn
    building tag/meeting.mdwn
    done
    + mv .ikiwiki/indexdb .ikiwiki/lockfile /workspace/cache/.
    RUN: Action finished OK
    RUN: Action TarCreate {
        archive: "/dev/vde",
        directory: "/workspace/cache",
    }
    [2025-08-06T14:44:04Z DEBUG ambient_ci::action] Plan::execute: TarCreate {
            archive: "/dev/vde",
            directory: "/workspace/cache",
        }
    [2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] creating virtual drive (tar archive): VirtualDriveBuilder {
            filename: Some(
                "/dev/vde",
            ),
            root: Some(
                "/workspace/cache",
            ),
            size: None,
        }
    [2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] tar archive to be created: /dev/vde; exists? true
    [2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] create archive file /dev/vde
    [2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] directory /workspace/cache exists? true
    [2025-08-06T14:44:04Z TRACE ambient_ci::vdrive] add contents of /workspace/cache as .
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] created virtual drive /dev/vde
    RUN: Action finished OK
    RUN: Action TarCreate {
        archive: "/dev/vdd",
        directory: "/workspace/artifacts",
    }
    [2025-08-06T14:44:05Z DEBUG ambient_ci::action] Plan::execute: TarCreate {
            archive: "/dev/vdd",
            directory: "/workspace/artifacts",
        }
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] creating virtual drive (tar archive): VirtualDriveBuilder {
            filename: Some(
                "/dev/vdd",
            ),
            root: Some(
                "/workspace/artifacts",
            ),
            size: None,
        }
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] tar archive to be created: /dev/vdd; exists? true
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] create archive file /dev/vdd
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] directory /workspace/artifacts exists? true
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] add contents of /workspace/artifacts as .
    [2025-08-06T14:44:05Z TRACE ambient_ci::vdrive] created virtual drive /dev/vdd
    RUN: Action finished OK
    ambient-execute-plan ends
    EXIT CODE: 0
    
    ====================
[2025-08-06T14:44:05Z DEBUG ambient_ci::qemu] QEMU exit code 0
[2025-08-06T14:44:05Z DEBUG ambient_ci::run] remove old cache
[2025-08-06T14:44:05Z DEBUG ambient_ci::run] extract cache
[2025-08-06T14:44:05Z DEBUG ambient_ci::run] Executing post-plan steps
[2025-08-06T14:44:05Z DEBUG ambient_ci::action] Plan::execute: Rsync {
        artifactsdir: "/srv/ambient-state/subplot-web/artifacts",
        rsync_target: Some(
            "ci@http.liw.fi:/srv/http/subplot-web",
        ),
    }
[2025-08-06T14:44:05Z INFO  ambient_ci::util] rsync /srv/ambient-state/subplot-web/artifacts/. -> ci@http.liw.fi:/srv/http/subplot-web/.
ERROR: rsync failed to synchronize /srv/ambient-state/subplot-web/artifacts/. to ci@http.liw.fi:/srv/http/subplot-web/.:
rsync: [Receiver] mkdir "/srv/http/subplot-web/." failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(791) [Receiver=3.2.7]

Ambient stderr

<empty log>