identity-vault/config/initializers/git_version.rb
2025-09-02 13:53:47 -04:00

22 lines
811 B
Ruby

# Get the first 6 characters of the current git commit hash
git_hash = ENV["SOURCE_COMMIT"] || `git rev-parse HEAD` rescue "unknown"
commit_link = git_hash != "unknown" ? "https://github.com/hackclub/identity-vault/commit/#{git_hash}" : nil
short_hash = git_hash[0..7]
commit_count = `git rev-list --count HEAD`.strip rescue 0
# Check if there are any uncommitted changes
is_dirty = `git status --porcelain`.strip.length > 0 rescue false
# Append "-dirty" if there are uncommitted changes
version = is_dirty ? "#{short_hash}-dirty" : short_hash
# Store server start time
Rails.application.config.server_start_time = Time.current
# Store the version
Rails.application.config.git_version = version
Rails.application.config.git_commit_count = commit_count
Rails.application.config.commit_link = commit_link