diff --git a/src/config.rs b/src/config.rs index 8718ef08..528ba34c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -67,6 +67,7 @@ pub enum Step { Gem, Node, Composer, + Krew, Sdkman, Remotes, Rustup, diff --git a/src/main.rs b/src/main.rs index 8fa219e1..c56f0628 100644 --- a/src/main.rs +++ b/src/main.rs @@ -332,6 +332,10 @@ fn run() -> Result<()> { runner.execute("composer", || generic::run_composer_update(&ctx))?; } + if config.should_run(Step::Krew) { + runner.execute("krew", || generic::run_krew_upgrade(run_type))?; + } + #[cfg(not(any( target_os = "freebsd", target_os = "openbsd", diff --git a/src/steps/generic.rs b/src/steps/generic.rs index cf1a8024..7f05c020 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -79,6 +79,14 @@ pub fn run_rustup(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> { run_type.execute(&rustup).arg("update").check_run() } +pub fn run_krew_upgrade(run_type: RunType) -> Result<()> { + let krew = utils::require("kubectl-krew")?; + + print_separator("Krew"); + + run_type.execute(&krew).args(&["upgrade"]).check_run() +} + pub fn run_jetpack(run_type: RunType) -> Result<()> { let jetpack = utils::require("jetpack")?;