Radish alpha
r
rad:z3qg5TKmN83afz2fj9z3fQjU8vaYE
Radicle CI adapter for native CI
Radicle
Git
feat: depend on radicle-ci-broker via crates.io, plus fixes
Lars Wirzenius committed 2 years ago
commit eaeb89b3bf7777735993c4da9d172ec562e48daf
parent 8fd5e71
5 files changed +68 -79
modified Cargo.lock
@@ -45,9 +45,9 @@ dependencies = [

[[package]]
name = "aho-corasick"
-
version = "1.1.2"
+
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
 "memchr",
]
@@ -110,9 +110,9 @@ checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"

[[package]]
name = "autocfg"
-
version = "1.1.0"
+
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"

[[package]]
name = "base-x"
@@ -169,9 +169,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"

[[package]]
name = "bitflags"
-
version = "2.4.2"
+
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"

[[package]]
name = "block-buffer"
@@ -396,9 +396,9 @@ dependencies = [

[[package]]
name = "der"
-
version = "0.7.8"
+
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+
checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
dependencies = [
 "const-oid",
 "zeroize",
@@ -509,9 +509,9 @@ dependencies = [

[[package]]
name = "fastrand"
-
version = "2.0.1"
+
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"

[[package]]
name = "ff"
@@ -620,11 +620,11 @@ dependencies = [

[[package]]
name = "git2"
-
version = "0.18.2"
+
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
+
checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70"
dependencies = [
-
 "bitflags 2.4.2",
+
 "bitflags 2.5.0",
 "libc",
 "libgit2-sys",
 "log",
@@ -700,9 +700,9 @@ dependencies = [

[[package]]
name = "indexmap"
-
version = "2.2.5"
+
version = "2.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
+
checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
dependencies = [
 "equivalent",
 "hashbrown",
@@ -731,9 +731,9 @@ dependencies = [

[[package]]
name = "itoa"
-
version = "1.0.10"
+
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"

[[package]]
name = "jobserver"
@@ -788,9 +788,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"

[[package]]
name = "libz-sys"
-
version = "1.1.15"
+
version = "1.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+
checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
dependencies = [
 "cc",
 "libc",
@@ -827,9 +827,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"

[[package]]
name = "memchr"
-
version = "2.7.1"
+
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"

[[package]]
name = "miniz_oxide"
@@ -1127,8 +1127,9 @@ dependencies = [

[[package]]
name = "radicle"
-
version = "0.2.0"
-
source = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git?branch=master#54aacc96197a48b79fcc260f94312d824f5e0a34"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "030f82578c59d0f1d4c5ceaede44d5f8b9c8193628e55d28025d7b540057c50d"
dependencies = [
 "amplify",
 "base64 0.21.7",
@@ -1159,7 +1160,8 @@ dependencies = [
[[package]]
name = "radicle-ci-broker"
version = "0.1.0"
-
source = "git+https://radicle.liw.fi/zwTxygwuz5LDGBq255RA2CbNGrz8.git?branch=main#4c504912e312e80cc5d67ef22f84d6c8912bbe8f"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "cde6587c2d47da67deaed0faf1d4bcbefdce320ef0af25ad5aba516fddf53721"
dependencies = [
 "html-page",
 "log",
@@ -1178,8 +1180,9 @@ dependencies = [

[[package]]
name = "radicle-cob"
-
version = "0.2.0"
-
source = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git?branch=master#54aacc96197a48b79fcc260f94312d824f5e0a34"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "dd166e24c3fbda9fe524ff49337e34112f3cb9899ad1ef4f2d258bc02105a278"
dependencies = [
 "fastrand",
 "git2",
@@ -1196,8 +1199,9 @@ dependencies = [

[[package]]
name = "radicle-crypto"
-
version = "0.2.0"
-
source = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git?branch=master#54aacc96197a48b79fcc260f94312d824f5e0a34"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "f446b5e3e6fc476f04c914c87a3c2a2449430dfb246d2d1877cff7691efa6232"
dependencies = [
 "amplify",
 "cyphernet",
@@ -1216,8 +1220,9 @@ dependencies = [

[[package]]
name = "radicle-dag"
-
version = "0.2.0"
-
source = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git?branch=master#54aacc96197a48b79fcc260f94312d824f5e0a34"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "c2a678c3049a88ae6a34dd9f52ea9a5f9f066a0af63466b75cf8c48840303067"
dependencies = [
 "fastrand",
]
@@ -1256,8 +1261,9 @@ dependencies = [

[[package]]
name = "radicle-ssh"
-
version = "0.2.0"
-
source = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git?branch=master#54aacc96197a48b79fcc260f94312d824f5e0a34"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fbee758010fb64482be4b18591fbeb3cbc15b16450d143edf4edb5484c7366c6"
dependencies = [
 "byteorder",
 "log",
@@ -1330,9 +1336,9 @@ dependencies = [

[[package]]
name = "regex"
-
version = "1.10.3"
+
version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+
checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
 "aho-corasick",
 "memchr",
@@ -1353,9 +1359,9 @@ dependencies = [

[[package]]
name = "regex-syntax"
-
version = "0.8.2"
+
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"

[[package]]
name = "rfc6979"
@@ -1390,11 +1396,11 @@ dependencies = [

[[package]]
name = "rustix"
-
version = "0.38.31"
+
version = "0.38.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+
checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
dependencies = [
-
 "bitflags 2.4.2",
+
 "bitflags 2.5.0",
 "errno",
 "libc",
 "linux-raw-sys",
@@ -1447,14 +1453,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
 "proc-macro2",
 "quote",
-
 "syn 2.0.52",
+
 "syn 2.0.58",
]

[[package]]
name = "serde_json"
-
version = "1.0.114"
+
version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [
 "indexmap",
 "itoa",
@@ -1464,9 +1470,9 @@ dependencies = [

[[package]]
name = "serde_yaml"
-
version = "0.9.32"
+
version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f"
+
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
 "indexmap",
 "itoa",
@@ -1514,15 +1520,15 @@ dependencies = [

[[package]]
name = "siphasher"
-
version = "1.0.0"
+
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
+
checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"

[[package]]
name = "smallvec"
-
version = "1.13.1"
+
version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"

[[package]]
name = "socks5-client"
@@ -1648,9 +1654,9 @@ dependencies = [

[[package]]
name = "syn"
-
version = "2.0.52"
+
version = "2.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
+
checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
dependencies = [
 "proc-macro2",
 "quote",
@@ -1706,7 +1712,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
 "proc-macro2",
 "quote",
-
 "syn 2.0.52",
+
 "syn 2.0.58",
]

[[package]]
@@ -1794,9 +1800,9 @@ dependencies = [

[[package]]
name = "unsafe-libyaml"
-
version = "0.2.10"
+
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"

[[package]]
name = "url"
@@ -1817,9 +1823,9 @@ checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"

[[package]]
name = "uuid"
-
version = "1.7.0"
+
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+
checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
dependencies = [
 "getrandom",
]
@@ -1873,7 +1879,7 @@ dependencies = [
 "once_cell",
 "proc-macro2",
 "quote",
-
 "syn 2.0.52",
+
 "syn 2.0.58",
 "wasm-bindgen-shared",
]

@@ -1895,7 +1901,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
 "proc-macro2",
 "quote",
-
 "syn 2.0.52",
+
 "syn 2.0.58",
 "wasm-bindgen-backend",
 "wasm-bindgen-shared",
]
modified Cargo.toml
@@ -7,6 +7,8 @@ rust-version = "1.77.1"

[dependencies]
html-page = "0.1.0"
+
radicle = "0.9.0"
+
radicle-ci-broker = "0.1.0"
radicle-git-ext = "0.7.0"
serde = { version = "1.0.193", features = ["derive"] }
serde_json = "1.0.114"
@@ -16,11 +18,3 @@ thiserror = "1.0.50"
time = { version = "0.3.31", features = ["formatting", "macros"] }
uuid = { version = "1.6.1", features = ["v4"] }
walkdir = "2.4.0"
-

-
[dependencies.radicle]
-
git = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git"
-
branch = "master"
-

-
[dependencies.radicle-ci-broker]
-
git = "https://radicle.liw.fi/zwTxygwuz5LDGBq255RA2CbNGrz8.git"
-
branch = "main"
modified src/engine.rs
@@ -11,10 +11,7 @@ use radicle_ci_broker::msg::{
use crate::{
    config::{Config, ConfigError},
    logfile::{AdminLog, LogError},
-
    msg::{
-
        read_request, write_errored, write_failed, write_succeeded, write_triggered,
-
        NativeMessageError,
-
    },
+
    msg::{read_request, write_failed, write_succeeded, write_triggered, NativeMessageError},
    run::{Run, RunError},
    runlog::RunLogError,
    runspec::RunSpecError,
@@ -161,8 +158,7 @@ impl Engine {
        match &self.result {
            Some(RunResult::Success) => write_succeeded()?,
            Some(RunResult::Failure) => write_failed()?,
-
            Some(RunResult::Error(s)) => write_errored(s)?,
-
            _ => write_errored(&format!("unknown result {:?}", self.result))?,
+
            _ => panic!("do not know how to handle {:#?}", self.result),
        }

        // Log that we've reached the end successfully.
modified src/msg.rs
@@ -33,14 +33,6 @@ pub fn write_failed() -> Result<(), NativeMessageError> {
    Ok(())
}

-
/// Write a message indicating error to stdout.
-
pub fn write_errored(s: &str) -> Result<(), NativeMessageError> {
-
    write_response(&Response::Finished {
-
        result: RunResult::Error(s.into()),
-
    })?;
-
    Ok(())
-
}
-

/// Write a message indicating success to stdout.
pub fn write_succeeded() -> Result<(), NativeMessageError> {
    write_response(&Response::Finished {
modified tests/integration.rs
@@ -488,6 +488,7 @@ impl Rad {
fn trigger(repo_id: RepoId, commit: Oid) -> Request {
    Request::Trigger {
        common: EventCommonFields {
+
            version: 1,
            event_type: EventType::Push,
            repository: Repository {
                id: repo_id,