From 5036b28e452c8074c76207d755f1bad25d25c0e6 Mon Sep 17 00:00:00 2001 From: Vishnu Narayanan Date: Mon, 12 Feb 2024 14:33:15 +0530 Subject: [PATCH] chore: fix git_sha in instance health (#8893) - Fix git-hash in super admin instance health page for Heroku installations - Fix git boundary not set error for docker/heroku deployments which remove .git directory --- app/controllers/super_admin/instance_statuses_controller.rb | 3 +-- config/initializers/git_sha.rb | 2 +- .../super_admin/instance_statuses_controller_spec.rb | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/controllers/super_admin/instance_statuses_controller.rb b/app/controllers/super_admin/instance_statuses_controller.rb index a1dc458ae..b0e97b95d 100644 --- a/app/controllers/super_admin/instance_statuses_controller.rb +++ b/app/controllers/super_admin/instance_statuses_controller.rb @@ -28,8 +28,7 @@ class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController end def sha - sha = `git rev-parse HEAD` - @metrics['Git SHA'] = sha.presence || 'n/a' + @metrics['Git SHA'] = GIT_HASH end def postgres_status diff --git a/config/initializers/git_sha.rb b/config/initializers/git_sha.rb index a11e38215..ff4cc7d71 100644 --- a/config/initializers/git_sha.rb +++ b/config/initializers/git_sha.rb @@ -1,6 +1,6 @@ # Define a method to fetch the git commit hash def fetch_git_sha - sha = `git rev-parse HEAD` + sha = `git rev-parse HEAD` if File.directory?('.git') if sha.present? sha.strip elsif File.exist?('.git_sha') diff --git a/spec/controllers/super_admin/instance_statuses_controller_spec.rb b/spec/controllers/super_admin/instance_statuses_controller_spec.rb index c00ea5984..d1714be1e 100644 --- a/spec/controllers/super_admin/instance_statuses_controller_spec.rb +++ b/spec/controllers/super_admin/instance_statuses_controller_spec.rb @@ -17,8 +17,7 @@ RSpec.describe 'Super Admin Instance status', type: :request do get '/super_admin/instance_status' expect(response).to have_http_status(:success) expect(response.body).to include('Chatwoot version') - sha = `git rev-parse HEAD` - expect(response.body).to include(sha) + expect(response.body).to include(GIT_HASH) end end end