diff --git a/ghostflow-cli/Cargo.toml b/ghostflow-cli/Cargo.toml index 68bc409bd7ea035796cc499ff5cd2587c29d9d8b..e1c038424f9b74c0fddb591dd3bfc660a96af2bf 100644 --- a/ghostflow-cli/Cargo.toml +++ b/ghostflow-cli/Cargo.toml @@ -15,20 +15,20 @@ edition.workspace = true [dependencies] clap = { version = "^4", features = ["cargo"] } -env_logger = "~0.10" -erased-serde = "~0.3" +env_logger = "~0.11" +erased-serde = "~0.4" ghostflow = { path = "../ghostflow" } ghostflow-github = { path = "../ghostflow-github" } -git-checks-config = "^0.2.1" +git-checks-config = "^0.3" git-checks-core = "^1.2.2" git-checks = { version = "^4.2", features = ["config"] } git-workarea = "^4.2" -itertools = "~0.12" +itertools = "~0.14" log = "~0.4.4" rayon = "^1.0" serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" -serde_yaml = "~0.9" +serde_yml = "~0.0.12" termcolor = "^1.0" -thiserror = "^1.0" -yaml-merge-keys = { version = "~0.7", features = ["serde_yaml"] } +thiserror = "^2" +yaml-merge-keys = { version = "~0.8.1", features = ["serde_yml"] } diff --git a/ghostflow-cli/src/checks/config_parse.rs b/ghostflow-cli/src/checks/config_parse.rs index 5d5ab9c4557696b8a403ee721729d6539be91004..5312ad8818e4f3e69653b841d7838a3b9a16e444 100644 --- a/ghostflow-cli/src/checks/config_parse.rs +++ b/ghostflow-cli/src/checks/config_parse.rs @@ -47,7 +47,7 @@ impl ContentCheck for ValidGhostflowConfig { .output() .map_err(|err| GitError::subcommand("cat-file blob", err))?; - let _: std::result::Result = serde_yaml::from_slice(&cat_file.stdout) + let _: std::result::Result = serde_yml::from_slice(&cat_file.stdout) .map_err(|err| { let msg = format!( "{}the {} configuration file is not valid YAML: `{}`", @@ -58,7 +58,7 @@ impl ContentCheck for ValidGhostflowConfig { result.add_error(msg); }) .and_then(|doc| { - yaml_merge_keys::merge_keys_serde(doc).map_err(|err| { + yaml_merge_keys::merge_keys_serde_yml(doc).map_err(|err| { let msg = format!( "{}the {} configuration file has invalid merge keys: `{}`", commit_prefix_str(content, "is not allowed because"), @@ -69,7 +69,7 @@ impl ContentCheck for ValidGhostflowConfig { }) }) .and_then(|doc| { - serde_yaml::from_value(doc).map_err(|err| { + serde_yml::from_value(doc).map_err(|err| { let msg = format!( "{}the {} configuration file structure is not valid: `{}`", commit_prefix_str(content, "is not allowed because"), diff --git a/ghostflow-cli/src/config.rs b/ghostflow-cli/src/config.rs index c5af99660653f46c32e0f29328431fabe3d3869e..5d05db85978417f07d5668f49fcde656fd06832f 100644 --- a/ghostflow-cli/src/config.rs +++ b/ghostflow-cli/src/config.rs @@ -26,7 +26,7 @@ pub enum ReadError { #[error("failed to parse YAML document: {}", source)] YamlParse { #[from] - source: serde_yaml::Error, + source: serde_yml::Error, }, #[error("failed to perform YAML merge keys: {}", source)] YamlMergeKeys { @@ -39,10 +39,10 @@ type ReadResult = Result; impl Read { fn from_bytes_impl(data: &[u8]) -> ReadResult { - serde_yaml::from_slice(data) + serde_yml::from_slice(data) .map_err(ReadError::from) - .and_then(|doc| yaml_merge_keys::merge_keys_serde(doc).map_err(ReadError::from)) - .and_then(|doc| serde_yaml::from_value(doc).map_err(ReadError::from)) + .and_then(|doc| yaml_merge_keys::merge_keys_serde_yml(doc).map_err(ReadError::from)) + .and_then(|doc| serde_yml::from_value(doc).map_err(ReadError::from)) } pub fn from_bytes(data: D) -> ReadResult diff --git a/ghostflow-github/Cargo.toml b/ghostflow-github/Cargo.toml index 1409fa49f2b052f2e99b7592fda92dd54c3187c3..3ac0aa3bd3657cc7c6a67dab1d2898a15b928bf4 100644 --- a/ghostflow-github/Cargo.toml +++ b/ghostflow-github/Cargo.toml @@ -16,12 +16,12 @@ edition.workspace = true [dependencies] chrono = { version = "~0.4.16", default-features = false, features = ["serde"] } graphql_client = "~0.14" -itertools = "~0.12" +itertools = "~0.14" jsonwebtoken = "^9.0" log = "~0.4.4" reqwest = { version = "~0.12", features = ["blocking", "json"] } serde_json = "^1.0" -thiserror = "^1.0.2" +thiserror = "^2" ttl_cache = "~0.5" url = "^2.0" diff --git a/ghostflow-gitlab/Cargo.toml b/ghostflow-gitlab/Cargo.toml index e9deac171001f32c87e8c0c10e78c835a57c9ae1..4280e06875a70cda0890889adb9aac141af55b7d 100644 --- a/ghostflow-gitlab/Cargo.toml +++ b/ghostflow-gitlab/Cargo.toml @@ -16,12 +16,12 @@ edition.workspace = true [dependencies] chrono = { version = "~0.4.16", default-features = false } http = "^1" -itertools = "~0.12" +itertools = "~0.14" regex = "^1.0" serde = { version = "~1.0", features = ["derive"] } -thiserror = "^1.0.2" +thiserror = "^2" url = "^2.3" ghostflow = { version = "~0.1", path = "../ghostflow" } git-workarea = "^4.0" -gitlab = "=0.1708.2" +gitlab = "=0.1709.2" diff --git a/ghostflow/Cargo.toml b/ghostflow/Cargo.toml index 82f867466a1f80f015ef3dfe6618ba046079bef6..9380a86993164c31e49cbed86afcbc12d0f6703d 100644 --- a/ghostflow/Cargo.toml +++ b/ghostflow/Cargo.toml @@ -22,18 +22,18 @@ git-checks = "^4.2" libc = "~0.2" [dependencies] -derive_builder = "~0.12" +derive_builder = "~0.20" digest = "~0.10" either = "^1.0" -itertools = "~0.12" +itertools = "~0.14" log = "~0.4.4" md-5 = "~0.10" -rand = "~0.8" +rand = "~0.9" rayon = "^1.0" rustversion = "^1.0" sha2 = "~0.10" tempfile = "^3.2.0" -thiserror = "^1.0.4" +thiserror = "^2" topological-sort = "~0.2.0" wait-timeout = "~0.2" diff --git a/ghostflow/src/actions/reformat.rs b/ghostflow/src/actions/reformat.rs index 4f90f82ef5c4620af745daf61392b10f29549dce..3c9cb880d2ae101ff771291f9235501789918fd8 100644 --- a/ghostflow/src/actions/reformat.rs +++ b/ghostflow/src/actions/reformat.rs @@ -903,7 +903,7 @@ impl Reformat { let mut set_count: usize = 0; let mut running_size = 0; - let groups = paths.group_by(|path| { + let groups = paths.chunk_by(|path| { let len = path.as_bytes().len(); if running_size + len >= SAFE_PATH_SIZE { running_size = len; diff --git a/ghostflow/src/actions/test/jobs.rs b/ghostflow/src/actions/test/jobs.rs index c376ae72a7a7e9ddd398769e00c5085bf3bf0bab..518e66e86ab8ddf791a69c1719ba0b611910a280 100644 --- a/ghostflow/src/actions/test/jobs.rs +++ b/ghostflow/src/actions/test/jobs.rs @@ -146,8 +146,8 @@ impl TestJobs { /// Queue a job into the target directory. fn queue_job(&self, data: Value) -> TestJobsResult<()> { - let rndpart = rand::thread_rng() - .sample_iter(&rand::distributions::Alphanumeric) + let rndpart = rand::rng() + .sample_iter(&rand::distr::Alphanumeric) .map(char::from) .take(12) .collect::();