From dcaa69a2dcd755f39bdffeb2fdc613528af21f6e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 14 Mar 2024 09:49:12 +0000 Subject: [PATCH 1/2] Add GitHub Actions warning/error annotations for deprecations/disables. This should make these messages, particular warnings, more obvious to GitHub Actions users. There's an argument perhaps we should do this more broadly for all warning/error messages but: this feels like a good start. --- Library/Homebrew/cask/installer.rb | 9 +++++++-- Library/Homebrew/extend/kernel.rb | 2 ++ Library/Homebrew/formula_installer.rb | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index daa877b493..7c8a199fc1 100644 --- a/Library/Homebrew/cask/installer.rb +++ b/Library/Homebrew/cask/installer.rb @@ -130,11 +130,16 @@ on_request: true) deprecate_disable_type = DeprecateDisable.type(@cask) return if deprecate_disable_type.nil? + message = DeprecateDisable.message(@cask) + message_full = "#{@cask.token} has been #{message}" + case deprecate_disable_type when :deprecated - opoo "#{@cask.token} has been #{DeprecateDisable.message(@cask)}" + puts "::warning #{message_full}" if ENV["GITHUB_ACTIONS"] + opoo message_full when :disabled - raise CaskCannotBeInstalledError.new(@cask, DeprecateDisable.message(@cask)) + puts "::error #{message_full}" if ENV["GITHUB_ACTIONS"] + raise CaskCannotBeInstalledError.new(@cask, message) end end diff --git a/Library/Homebrew/extend/kernel.rb b/Library/Homebrew/extend/kernel.rb index 9ae77e37ad..685d0b5f73 100644 --- a/Library/Homebrew/extend/kernel.rb +++ b/Library/Homebrew/extend/kernel.rb @@ -147,10 +147,12 @@ module Kernel disable = true if disable_for_developers && Homebrew::EnvConfig.developer? if disable || Homebrew.raise_deprecation_exceptions? + puts "::error #{message}" if ENV["GITHUB_ACTIONS"] exception = MethodDeprecatedError.new(message) exception.set_backtrace(backtrace) raise exception elsif !Homebrew.auditing? + puts "::warning #{message}" if ENV["GITHUB_ACTIONS"] opoo message end end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 2d71abc8bb..da145b98b3 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -206,8 +206,10 @@ class FormulaInstaller case deprecate_disable_type when :deprecated + puts "::warning #{message}" if ENV["GITHUB_ACTIONS"] opoo message when :disabled + puts "::error #{message}" if ENV["GITHUB_ACTIONS"] raise CannotInstallFormulaError, message end end From f08613804305b1377859503d21d305f5267afe4a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 14 Mar 2024 14:09:11 +0000 Subject: [PATCH 2/2] Fix GitHub Actions annotation format. Co-authored-by: Bo Anderson --- Library/Homebrew/cask/installer.rb | 4 ++-- Library/Homebrew/extend/kernel.rb | 4 ++-- Library/Homebrew/formula_installer.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index 7c8a199fc1..dc6b454d27 100644 --- a/Library/Homebrew/cask/installer.rb +++ b/Library/Homebrew/cask/installer.rb @@ -135,10 +135,10 @@ on_request: true) case deprecate_disable_type when :deprecated - puts "::warning #{message_full}" if ENV["GITHUB_ACTIONS"] + puts "::warning::#{message_full}" if ENV["GITHUB_ACTIONS"] opoo message_full when :disabled - puts "::error #{message_full}" if ENV["GITHUB_ACTIONS"] + puts "::error::#{message_full}" if ENV["GITHUB_ACTIONS"] raise CaskCannotBeInstalledError.new(@cask, message) end end diff --git a/Library/Homebrew/extend/kernel.rb b/Library/Homebrew/extend/kernel.rb index 685d0b5f73..c30dc24d7b 100644 --- a/Library/Homebrew/extend/kernel.rb +++ b/Library/Homebrew/extend/kernel.rb @@ -147,12 +147,12 @@ module Kernel disable = true if disable_for_developers && Homebrew::EnvConfig.developer? if disable || Homebrew.raise_deprecation_exceptions? - puts "::error #{message}" if ENV["GITHUB_ACTIONS"] + puts "::error::#{message}" if ENV["GITHUB_ACTIONS"] exception = MethodDeprecatedError.new(message) exception.set_backtrace(backtrace) raise exception elsif !Homebrew.auditing? - puts "::warning #{message}" if ENV["GITHUB_ACTIONS"] + puts "::warning::#{message}" if ENV["GITHUB_ACTIONS"] opoo message end end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index da145b98b3..116a6e28ac 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -206,10 +206,10 @@ class FormulaInstaller case deprecate_disable_type when :deprecated - puts "::warning #{message}" if ENV["GITHUB_ACTIONS"] + puts "::warning::#{message}" if ENV["GITHUB_ACTIONS"] opoo message when :disabled - puts "::error #{message}" if ENV["GITHUB_ACTIONS"] + puts "::error::#{message}" if ENV["GITHUB_ACTIONS"] raise CannotInstallFormulaError, message end end