Radicle repository id rad:z3248z9KmBQ6Tf4mwXih1zKPtuSw5
{ "request": "trigger", "version": 1, "event_type": "patch", "repository": { "id": "rad:z3248z9KmBQ6Tf4mwXih1zKPtuSw5", "name": "clingwrap", "description": "Utilities for making command line apps in Rust", "private": false, "default_branch": "main", "delegates": [ "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV" ] }, "action": "Created", "patch": { "id": "8fea2c849eb521cc06fa2c2af197f888020d13f8", "author": { "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV", "alias": "liw" }, "title": "feat! simplify loading and validating configuration files", "state": { "status": "open", "conflicts": [] }, "before": "209b98bd14faf834ad8d512c5356f647a0b62d94", "after": "a7d1dacea9bbb9fba0e24a50437d59df19f65a78", "commits": [ "a7d1dacea9bbb9fba0e24a50437d59df19f65a78" ], "target": "209b98bd14faf834ad8d512c5356f647a0b62d94", "labels": [], "assignees": [], "revisions": [ { "id": "8fea2c849eb521cc06fa2c2af197f888020d13f8", "author": { "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV", "alias": "liw" }, "description": "Load, parse, merge, and validate configuration files in one type. Drop\nunnecessary type that only existed to parse, merge, and validate the\nfiles.\n\nWe had types ConfigLoader and ConfigMerger. The first type would read\nthe specified files, without parsing them, and then return a\nConfigMerger value. That value would parse each file, and merge all\nthe files into one, and validate that. This meant that the caller\nwould have to do two steps: first load, then validate.\n\nWe can now do this in one step, which is hopefully simpler. The\n`ConfigLoader::load` method now also parses each file (as JSON or\nYAML), merges the parsed files, and validates the result. This is\nconceptually simpler and less code to the caller.\n\nTo make sure life times of file data and parsed values are correct, we\nkeep the file data in memory until we've validated the merged files.\nThis should not be a significant cost, unless your configuration files\nare very, very large.\n\nFor life time reasons, the `ConfigFile::merge` method has also changed\nso that ownership of the other file is passed, not just a reference.\nThis is unlikely to be a burden, either.\n\nThis is a breaking change, because the API to the config module has\nchanged in backwards incompatible ways.\n\nSigned-off-by: Lars Wirzenius <liw@liw.fi>\nSponsored-by: author", "base": "209b98bd14faf834ad8d512c5356f647a0b62d94", "oid": "a7d1dacea9bbb9fba0e24a50437d59df19f65a78", "timestamp": 1752408823 } ] } }
[2025-07-13T12:14:05Z INFO ambient] ambient starts [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: 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) [0m[30m[47mWelcome to GRUB! [0m[37m[40m[0m[30m[40m[2J[01;01H[0m[37m[40mINFO: 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 950K 1 disk vdc 254:32 0 360K 1 disk vdd 254:48 0 9.3G 0 disk vde 254:64 0 46.6G 0 disk vdf 254:80 0 198.5M 1 disk INFO: Extracting tar archive from /dev/vdb drwxr-xr-x _rad/_rad 0 2025-07-13 12:13 ./ -rw-r--r-- _rad/_rad 881 2025-07-13 12:13 ./plan.yaml -rwxr-xr-x _rad/_rad 963160 2025-07-13 12:13 ./run-ci INFO: Extracted files: 3670026 4 drwxr-xr-x 2 1001 1001 4096 Jul 13 12:13 . 3670023 944 -rwxr-xr-x 1 1001 1001 963160 Jul 13 12:13 ./run-ci 3670022 4 -rw-r--r-- 1 1001 1001 881 Jul 13 12:13 ./plan.yaml INFO: Running run-ci from /dev/vdb ================================ BEGIN ================================ ambient-execute-plan starts RunnablePlan::from_file: filename=plan.yaml steps: - action: mkdir pathname: /workspace - action: mkdir pathname: /workspace/artifacts - action: tar_extract archive: /dev/vdc directory: /workspace/src - action: tar_extract archive: /dev/vdf directory: /workspace/deps - action: tar_extract archive: /dev/vde directory: /workspace/cache - action: spawn argv: - find - /workspace - '-maxdepth' - '2' - '-ls' - action: cargo_fmt - action: cargo_clippy - action: cargo_build - action: cargo_test - action: tar_create archive: /dev/vde directory: /workspace/cache - action: tar_create archive: /dev/vdd directory: /workspace/artifacts executor_drive: /dev/vdb source_drive: /dev/vdc artifact_drive: /dev/vdd cache_drive: /dev/vde deps_drive: /dev/vdf workspace_dir: /workspace source_dir: /workspace/src deps_dir: /workspace/deps cache_dir: /workspace/cache artifacts_dir: /workspace/artifacts RUN: Action Mkdir { pathname: "/workspace", } RUN: Action finished OK RUN: Action Mkdir { pathname: "/workspace/artifacts", } RUN: Action finished OK RUN: Action TarExtract { archive: "/dev/vdc", directory: "/workspace/src", } RUN: Action finished OK RUN: Action TarExtract { archive: "/dev/vdf", directory: "/workspace/deps", } RUN: Action finished OK RUN: Action TarExtract { archive: "/dev/vde", directory: "/workspace/cache", } RUN: Action finished OK RUN: Action Spawn { argv: [ "find", "/workspace", "-maxdepth", "2", "-ls", ], } SPAWN: argv=["find", "/workspace", "-maxdepth", "2", "-ls"] cwd=/workspace/src (exists? true) extra_env=[] 786433 4 drwxr-xr-x 6 root root 4096 Jul 13 12:13 /workspace 786580 4 drwxr-xr-x 3 root root 4096 Jul 13 12:13 /workspace/deps 786584 4 drwxr-xr-x 5 root root 4096 Jul 7 05:07 /workspace/deps/registry 786582 56 -rw-r--r-- 1 root root 57344 Jul 13 12:13 /workspace/deps/.global-cache 786583 0 -rw-r--r-- 1 root root 0 Jul 7 05:07 /workspace/deps/.package-cache 786581 0 -rw-r--r-- 1 root root 0 Jul 7 05:07 /workspace/deps/.package-cache-mutate 790545 4 drwxr-xr-x 3 root root 4096 Jul 7 05:11 /workspace/cache 790546 4 drwxr-xr-x 7 root root 4096 Jul 8 07:24 /workspace/cache/debug 791320 4 -rw-r--r-- 1 root root 1034 Jul 8 07:24 /workspace/cache/.rustc_info.json 786435 4 drwxr-xr-x 6 root root 4096 Jul 13 12:13 /workspace/src 786448 4 drwxr-xr-x 8 root root 4096 Jul 13 12:13 /workspace/src/.git 786579 12 -rw-r--r-- 1 root root 12044 Jul 13 12:13 /workspace/src/Cargo.lock 786446 4 drwxr-xr-x 2 root root 4096 Jul 13 12:13 /workspace/src/examples 786445 4 -rw-r--r-- 1 root root 425 Jul 13 12:13 /workspace/src/Cargo.toml 786578 4 -rw-r--r-- 1 root root 138 Jul 13 12:13 /workspace/src/Makefile 786436 4 drwxr-xr-x 2 root root 4096 Jul 13 12:13 /workspace/src/.radicle 786438 4 drwxr-xr-x 2 root root 4096 Jul 13 12:13 /workspace/src/src 786443 4 -rw-r--r-- 1 root root 1484 Jul 13 12:13 /workspace/src/README.md 786444 4 -rw-r--r-- 1 root root 8 Jul 13 12:13 /workspace/src/.gitignore 786434 4 drwxr-xr-x 2 root root 4096 Jul 13 12:13 /workspace/artifacts RUN: Action finished OK RUN: Action CargoFmt SPAWN: argv=["cargo", "fmt", "--check"] cwd=/workspace/src (exists? true) extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")] RUN: Action finished OK RUN: Action CargoClippy SPAWN: argv=["cargo", "clippy", "--offline", "--locked", "--workspace", "--all-targets", "--no-deps", "--", "--deny", "warnings"] cwd=/workspace/src (exists? true) extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")] Checking clingwrap v0.1.0 (/workspace/src) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.65s RUN: Action finished OK RUN: Action CargoBuild SPAWN: argv=["cargo", "build", "--offline", "--locked", "--workspace", "--all-targets"] cwd=/workspace/src (exists? true) extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")] Compiling clingwrap v0.1.0 (/workspace/src) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.85s RUN: Action finished OK RUN: Action CargoTest SPAWN: argv=["cargo", "test", "--offline", "--locked", "--workspace"] cwd=/workspace/src (exists? true) extra_env=[("CARGO_TARGET_DIR", "/workspace/cache"), ("CARGO_HOME", "/workspace/deps"), ("PATH", "/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s Running unittests src/lib.rs (/workspace/cache/debug/deps/clingwrap-51b6662a25549e4e) running 12 tests test config::test::merge_simple ... ok test config::test::overrides ... ok test config::test::parse_json ... ok test config::test::load_configs ... ok test config::test::parse_yaml ... ok test tildepathbuf::test::deser ... ok test tildepathbuf::test::just_tilde ... ok test tildepathbuf::test::no_tilde ... ok test tildepathbuf::test::tilde_slash ... ok test tildepathbuf::test::tilde_slash_with_home_from_var ... ok test tildepathbuf::test::tilde_username ... ok test config::test::builtin_defaults ... ok test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s Doc-tests clingwrap running 3 tests test src/config.rs - config (line 75) ... ok test src/runner.rs - runner (line 8) ... ok test src/tildepathbuf.rs - tildepathbuf (line 9) ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s RUN: Action finished OK RUN: Action TarCreate { archive: "/dev/vde", directory: "/workspace/cache", } RUN: Action finished OK RUN: Action TarCreate { archive: "/dev/vdd", directory: "/workspace/artifacts", } RUN: Action finished OK ambient-execute-plan ends EXIT CODE: 0 [2025-07-13T12:14:05Z INFO ambient] ambient ends successfully