diff --git a/lib/shipit.rb b/lib/shipit.rb index a5387e2ed..499a04e2e 100644 --- a/lib/shipit.rb +++ b/lib/shipit.rb @@ -71,7 +71,8 @@ module Shipit :internal_hook_receivers, :preferred_org_emails, :task_execution_strategy, - :task_logger + :task_logger, + :use_git_askpass ) def task_execution_strategy @@ -297,6 +298,10 @@ def task_logger @task_logger ||= Logger.new(nil) end + def use_git_askpass? + @use_git_askpass.nil? ? true : @use_git_askpass + end + protected def revision_file diff --git a/lib/shipit/commands.rb b/lib/shipit/commands.rb index da1405d8a..c2fe3ae09 100644 --- a/lib/shipit/commands.rb +++ b/lib/shipit/commands.rb @@ -41,7 +41,7 @@ def base_env 'GITHUB_TOKEN' => github.token ) - unless Rails.env.development? || Rails.env.test? + if Shipit.use_git_askpass? env['GIT_ASKPASS'] = Shipit::Engine.root.join('lib', 'snippets', 'git-askpass').realpath.to_s end diff --git a/test/dummy/config/environments/development.rb b/test/dummy/config/environments/development.rb index 79bb66e13..16100fe79 100644 --- a/test/dummy/config/environments/development.rb +++ b/test/dummy/config/environments/development.rb @@ -48,6 +48,9 @@ # Raises helpful error messages. config.assets.raise_runtime_errors = true + # Disable git askpass in development + Shipit.use_git_askpass = false + # Raises error for missing translations # config.action_view.raise_on_missing_translations = true if Rails.application.config_for(:database)&.dig('adapter') == 'sqlite3' diff --git a/test/dummy/config/environments/production.rb b/test/dummy/config/environments/production.rb index 5c1b32e48..646fb048e 100644 --- a/test/dummy/config/environments/production.rb +++ b/test/dummy/config/environments/production.rb @@ -76,4 +76,7 @@ # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false + + # Make sure git askpass is enabled in production + Shipit.use_git_askpass = true end diff --git a/test/dummy/config/environments/test.rb b/test/dummy/config/environments/test.rb index bbdcd2c9d..7837d8bc2 100644 --- a/test/dummy/config/environments/test.rb +++ b/test/dummy/config/environments/test.rb @@ -32,6 +32,9 @@ # Print deprecation notices to the stderr. config.active_support.deprecation = :stderr + # Disable git askpass in test + Shipit.use_git_askpass = false + # Raises error for missing translations # config.action_view.raise_on_missing_translations = true