diff --git a/Cargo.lock b/Cargo.lock index 873cefb..14b071e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,6 +43,18 @@ dependencies = [ "subtle", ] +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.3" @@ -61,6 +73,12 @@ dependencies = [ "as-slice", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "amplify" version = "4.8.0" @@ -160,6 +178,18 @@ version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "arraydeque" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" + [[package]] name = "as-slice" version = "0.2.1" @@ -199,18 +229,18 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa" -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -357,6 +387,7 @@ dependencies = [ "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] @@ -478,6 +509,26 @@ dependencies = [ "cipher", ] +[[package]] +name = "culpa" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ae0bfe9317b1cb4ff5a56d766ee4b157b3e1f47f11979253570e88d10fd1fd3" +dependencies = [ + "culpa-macros", +] + +[[package]] +name = "culpa-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1234e1717066d3c71dcf89b75e7b586299e41204d361db56ec51e6ded5014279" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "cvt" version = "0.1.2" @@ -594,6 +645,12 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + [[package]] name = "ec25519" version = "0.1.0" @@ -648,16 +705,35 @@ dependencies = [ ] [[package]] -name = "env_logger" -version = "0.10.2" +name = "encoding_rs" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" dependencies = [ - "humantime", - "is-terminal", "log", "regex", - "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", ] [[package]] @@ -682,26 +758,6 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" -[[package]] -name = "fehler" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5729fe49ba028cd550747b6e62cd3d841beccab5390aa398538c31a2d983635" -dependencies = [ - "fehler-macros", -] - -[[package]] -name = "fehler-macros" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb5acb1045ebbfa222e2c50679e392a71dd77030b78fb0189f2d9c5974400f9" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ff" version = "0.13.0" @@ -883,9 +939,9 @@ dependencies = [ [[package]] name = "git2" -version = "0.18.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" dependencies = [ "bitflags", "libc", @@ -937,9 +993,13 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] [[package]] name = "hashbrown" @@ -947,18 +1007,30 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hmac" version = "0.12.1" @@ -986,6 +1058,15 @@ dependencies = [ "html-escape", ] +[[package]] +name = "html-page" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95596434766801b2f72a7b1013cc5d8278fad8b4bafee094a22131176b1657df" +dependencies = [ + "html-escape", +] + [[package]] name = "humansize" version = "2.1.3" @@ -1156,16 +1237,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.6.0" @@ -1186,17 +1257,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1244,9 +1304,9 @@ checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libgit2-sys" -version = "0.16.2+1.7.2" +version = "0.17.0+1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" dependencies = [ "cc", "libc", @@ -1271,6 +1331,12 @@ dependencies = [ "redox_syscall", ] +[[package]] +name = "libyml" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64804cc6a5042d4f05379909ba25b503ec04e2c082151d62122d5dcaa274b961" + [[package]] name = "libz-sys" version = "1.1.20" @@ -1289,12 +1355,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e69cdf6b85b5c8dce514f694089a2cf8b1a702f6cd28607bcb3cf296c9778db" -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -1337,6 +1397,19 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "marked-yaml" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a90dc806da572b03203f1783ab213445cd497a44e147db7b6dc2857d4d9572" +dependencies = [ + "doc-comment", + "hashlink 0.9.1", + "serde", + "serde_path_to_error", + "yaml-rust2", +] + [[package]] name = "matchers" version = "0.1.0" @@ -1384,12 +1457,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nonempty" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7ac1e5ea23db6d61ad103e91864675049644bf47c35912336352fa4e9c109" - [[package]] name = "nonempty" version = "0.9.0" @@ -1677,16 +1744,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "pretty_env_logger" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c" -dependencies = [ - "env_logger", - "log", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -1731,16 +1788,23 @@ dependencies = [ [[package]] name = "pulldown-cmark" -version = "0.9.6" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14" dependencies = [ "bitflags", "getopts", "memchr", + "pulldown-cmark-escape", "unicase", ] +[[package]] +name = "pulldown-cmark-escape" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" + [[package]] name = "qcheck" version = "1.0.0" @@ -1761,9 +1825,9 @@ dependencies = [ [[package]] name = "radicle" -version = "0.11.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd518b6fdbfb4355e261f91fa3acb9ab5f83c842714ea5e7a3f66762f17b816" +checksum = "4a818569c11f1bac56f38b002d778ce8ec92e312024b9aebcd68bad5dee6a465" dependencies = [ "amplify", "base64 0.21.7", @@ -1775,11 +1839,11 @@ dependencies = [ "localtime", "log", "multibase", - "nonempty 0.9.0", + "nonempty", "once_cell", "qcheck", "radicle-cob", - "radicle-crypto 0.10.0", + "radicle-crypto", "radicle-git-ext", "radicle-ssh", "serde", @@ -1793,23 +1857,25 @@ dependencies = [ [[package]] name = "radicle-ci-broker" -version = "0.2.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c30fa8ffaf52bb221c5224f8d3b43b81948fd339bbfab9f997f4ddd401522ead" +checksum = "7e6cf5cc7f9d7355b7445425de5b8ba732299238911c2d04d3550c666ed852dd" dependencies = [ "anyhow", "clap", - "html-page", - "log", - "pretty_env_logger", + "html-page 0.4.0", "radicle", "radicle-git-ext", "radicle-surf", "regex", "serde", "serde_json", - "serde_yaml 0.9.34+deprecated", + "serde_yml", + "slog", + "slog-json", + "slog-scope", "sqlite", + "sqlite3-sys", "subplot-build", "subplotlib", "thiserror", @@ -1819,16 +1885,16 @@ dependencies = [ [[package]] name = "radicle-cob" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36d8268661b22cec768bdf687aa9d98db2dcd9c8f974e8208f8658244074b539" +checksum = "d4fac94999d8ffb6e88674bee487b080b69bbc9fb1b439ebfa51481ede1a17b3" dependencies = [ "fastrand", "git2", "log", - "nonempty 0.9.0", + "nonempty", "once_cell", - "radicle-crypto 0.11.0", + "radicle-crypto", "radicle-dag", "radicle-git-ext", "serde", @@ -1838,9 +1904,9 @@ dependencies = [ [[package]] name = "radicle-crypto" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb86116dc5d9daa0d0b8e07fb71c9887d537b3fecebffc0cde6624b07176c711" +checksum = "d1d6a67969719841ad06049597006368eb4238ca63a02d20207654dfd1d2d6ad" dependencies = [ "amplify", "cyphernet", @@ -1857,22 +1923,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "radicle-crypto" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d6a67969719841ad06049597006368eb4238ca63a02d20207654dfd1d2d6ad" -dependencies = [ - "amplify", - "ec25519", - "multibase", - "radicle-ssh", - "serde", - "ssh-key", - "thiserror", - "zeroize", -] - [[package]] name = "radicle-dag" version = "0.9.0" @@ -1884,9 +1934,9 @@ dependencies = [ [[package]] name = "radicle-git-ext" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba40f0288f73b9464c0f52c09261593777ed6f195ef3be6a12d8f8e920d7885" +checksum = "4b78c26e67d1712ad5a0c602ae3b236609461372ac04e200bda359fe4a1c6650" dependencies = [ "git-ref-format", "git2", @@ -1900,13 +1950,13 @@ dependencies = [ name = "radicle-native-ci" version = "0.2.0" dependencies = [ - "html-page", + "html-page 0.2.1", "radicle", "radicle-ci-broker", "radicle-git-ext", "serde", "serde_json", - "serde_yaml 0.9.34+deprecated", + "serde_yaml", "tempfile", "thiserror", "time", @@ -1934,21 +1984,22 @@ checksum = "db20136bbc9ae63f3fec8e5a6c369f4902fac2244501b5dfc6d668e43475aaa4" [[package]] name = "radicle-surf" -version = "0.18.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403736ddf2be5e7de42928f94a5f68ef0785916171d009809d19b4202b58d83" +checksum = "0bf6aff57520e8e7200bf7826ddc5ccf8d4612dd880497a4f256c3d272eeb805" dependencies = [ "anyhow", - "base64 0.13.1", + "base64 0.21.7", "flate2", "git2", "log", - "nonempty 0.5.0", + "nonempty", "radicle-git-ext", "radicle-std-ext", "serde", "tar", "thiserror", + "url", ] [[package]] @@ -2060,13 +2111,15 @@ dependencies = [ [[package]] name = "roadmap" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a129e44a647b309ed394a092e21eabcb58537802c6912920ef4ea76239421234" +checksum = "a84fec6085f0f4c56624c11864696961c96c47924f5c142cdc5fb2d11b2ca3e2" dependencies = [ "anyhow", + "clap", + "marked-yaml", "serde", - "serde_yaml 0.8.26", + "tempfile", "textwrap", "thiserror", ] @@ -2155,16 +2208,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-aux" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2e8bfba469d06512e11e3311d4d051a4a387a5b42d010404fecf3200321c95" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "serde_derive" version = "1.0.214" @@ -2182,7 +2225,7 @@ version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ - "indexmap 2.6.0", + "indexmap", "itoa", "memchr", "ryu", @@ -2190,15 +2233,13 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.8.26" +name = "serde_path_to_error" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ - "indexmap 1.9.3", - "ryu", + "itoa", "serde", - "yaml-rust", ] [[package]] @@ -2207,13 +2248,30 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.6.0", + "indexmap", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "serde_yml" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e76bab63c3fd98d27c17f9cbce177f64a91f5e69ac04cafe04e1bb25d1dc3c" +dependencies = [ + "indexmap", + "itoa", + "libyml", + "log", + "memchr", + "ryu", + "serde", + "serde_json", + "tempfile", +] + [[package]] name = "sha2" version = "0.10.8" @@ -2278,6 +2336,35 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +[[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" + +[[package]] +name = "slog-json" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e1e53f61af1e3c8b852eef0a9dee29008f55d6dd63794f3f12cef786cf0f219" +dependencies = [ + "serde", + "serde_json", + "slog", + "time", +] + +[[package]] +name = "slog-scope" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786" +dependencies = [ + "arc-swap", + "lazy_static", + "slog", +] + [[package]] name = "slug" version = "0.1.6" @@ -2428,28 +2515,29 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subplot" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c5723f41235a3deefab3cfd6164a5b780802f596fa97eb40dfcf3c39c36b21" +checksum = "f583157e3dae0c79c3c1f0567095eba8aca539caa1f63f159f17563cbb2f3da8" dependencies = [ "anyhow", - "base64 0.21.7", + "base64 0.22.1", "clap", "env_logger", "file_diff", + "getopts", "git-testament", "html-escape", "lazy_static", "line-col", "log", + "marked-yaml", "pikchr", "pulldown-cmark", "regex", "roadmap", "serde", - "serde-aux", "serde_json", - "serde_yaml 0.9.34+deprecated", + "slug", "tempfile", "tempfile-fast", "tera", @@ -2460,9 +2548,9 @@ dependencies = [ [[package]] name = "subplot-build" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd58ff7123e83e5a5ed5bcdcd9f6f23226eea5b08bc310e129cad5d24b18fabe" +checksum = "b10a835ca0e75d3a61205c7006d62702f92a6d6930c6e5263d6c848fe48711f0" dependencies = [ "subplot", "tempfile", @@ -2471,12 +2559,12 @@ dependencies = [ [[package]] name = "subplotlib" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc3c17998cc92ec00493a7d1c0d0256f8977c7baed553777ba347dd6d1c3ccf" +checksum = "41db916465aee14e3dd0a19fd5779fb78549ef4a16d9e519e63eb14529224789" dependencies = [ - "base64 0.21.7", - "fehler", + "base64 0.22.1", + "culpa", "filetime", "fs2", "glob", @@ -2494,11 +2582,11 @@ dependencies = [ [[package]] name = "subplotlib-derive" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0234a041a912954e3cc81230b9f64f6a471c4297e65053e6ad733bb3e473bc60" +checksum = "feaf4fcb9fdf075a7361f1a912ea54e80310c760721f20bd53058082b2144fab" dependencies = [ - "fehler", + "culpa", "proc-macro2", "quote", "syn 2.0.87", @@ -2599,19 +2687,20 @@ dependencies = [ ] [[package]] -name = "termcolor" -version = "1.4.1" +name = "terminal_size" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" dependencies = [ - "winapi-util", + "rustix", + "windows-sys 0.59.0", ] [[package]] name = "textwrap" -version = "0.15.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" dependencies = [ "smawk", "unicode-linebreak", @@ -2891,6 +2980,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -3218,12 +3308,14 @@ dependencies = [ ] [[package]] -name = "yaml-rust" -version = "0.4.5" +name = "yaml-rust2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +checksum = "8902160c4e6f2fb145dbe9d6760a75e3c9522d8bf796ed7047c85919ac7115f8" dependencies = [ - "linked-hash-map", + "arraydeque", + "encoding_rs", + "hashlink 0.8.4", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 5738f6f..4205052 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,9 +13,9 @@ categories = ["development-tools::build-utils"] [dependencies] html-page = "0.2.0" -radicle = "0.11.0" -radicle-ci-broker = "0.2.0" -radicle-git-ext = "0.7.0" +radicle = "0.13.0" +radicle-ci-broker = "0.7.0" +radicle-git-ext = "0.8.1" serde = { version = "1.0.193", features = ["derive"] } serde_json = "1.0.114" serde_yaml = "0.9.27" diff --git a/src/engine.rs b/src/engine.rs index a1e4ca9..07b7b7e 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -80,7 +80,7 @@ impl Engine { .. } => { let repo = req.repo(); - let commit = req.commit(); + let commit = req.commit().map_err(EngineError::BrokerMessage)?; match self.run_helper(repo, name, req.clone(), commit, Some(branch), None) { Ok(true) => success = true, @@ -109,7 +109,7 @@ impl Engine { .. } => { let repo = req.repo(); - let commit = req.commit(); + let commit = req.commit().map_err(EngineError::BrokerMessage)?; self.adminlog .writeln(&format!("run CI for {repo} commit {commit}"))?; @@ -287,6 +287,9 @@ pub enum EngineError { #[error(transparent)] Log(#[from] LogError), + #[error(transparent)] + BrokerMessage(#[from] radicle_ci_broker::msg::MessageError), + #[error(transparent)] Message(#[from] NativeMessageError), diff --git a/src/msg.rs b/src/msg.rs index db63750..e9ba9bb 100644 --- a/src/msg.rs +++ b/src/msg.rs @@ -13,7 +13,7 @@ pub fn read_request() -> Result { // Write response to stdout. fn write_response(resp: &Response) -> Result<(), NativeMessageError> { resp.to_writer(std::io::stdout()) - .map_err(|e| NativeMessageError::WriteResponse(resp.clone(), e))?; + .map_err(|e| NativeMessageError::WriteResponse(resp.clone(), Box::new(e)))?; Ok(()) } @@ -50,7 +50,7 @@ pub enum NativeMessageError { ReadRequest(#[source] MessageError), #[error("failed to write response to stdout: {0:?}")] - WriteResponse(Response, #[source] MessageError), + WriteResponse(Response, #[source] Box), #[error("failed to create per-run parent directory {0}")] CreateState(PathBuf, #[source] std::io::Error),