diff --git a/src/config.rs b/src/config.rs index 712d9918..21dbcb1d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -89,6 +89,7 @@ pub enum Step { Fossil, Gcloud, Gem, + GithubCliExtensions, GitRepos, Go, Haxelib, diff --git a/src/main.rs b/src/main.rs index b89199e6..d5d8a78f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -327,6 +327,9 @@ fn run() -> Result<()> { runner.execute(Step::Micro, "micro", || generic::run_micro(run_type))?; runner.execute(Step::Raco, "raco", || generic::run_raco_update(run_type))?; runner.execute(Step::Spicetify, "spicetify", || generic::spicetify_upgrade(&ctx))?; + runner.execute(Step::GithubCliExtensions, "Github CLI Extensions", || { + generic::run_ghcli_extensions_upgrade(&ctx) + })?; #[cfg(target_os = "linux")] { diff --git a/src/steps/generic.rs b/src/steps/generic.rs index 0a526911..1d5cbd67 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -475,3 +475,13 @@ pub fn spicetify_upgrade(ctx: &ExecutionContext) -> Result<()> { print_separator("Spicetify"); ctx.run_type().execute(&spicetify).arg("upgrade").check_run() } + +pub fn run_ghcli_extensions_upgrade(ctx: &ExecutionContext) -> Result<()> { + let gh = utils::require("gh")?; + + print_separator("GitHub CLI Extensions"); + ctx.run_type() + .execute(&gh) + .args(&["extension", "upgrade", "--all"]) + .check_run() +}