diff --git a/Dockerfile b/Dockerfile index 25fd0747..4b66484c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,10 +43,10 @@ COPY ./docker/wait-for.sh /docker-entrypoint.sh COPY --chown=postal . . # Export the version -ARG VERSION=null -ARG BRANCH=null -RUN echo $VERSION > VERSION \ - && echo $BRANCH > BRANCH +ARG VERSION +ARG BRANCH +RUN if [ "$VERSION" != "" ]; then echo $VERSION > VERSION; fi \ + && if [ "$BRANCH" != "" ]; then echo $BRANCH > BRANCH; fi # Set paths for when running in a container ENV POSTAL_CONFIG_FILE_PATH=/config/postal.yml diff --git a/lib/postal/config.rb b/lib/postal/config.rb index dd0eebfa..96dd27ac 100644 --- a/lib/postal/config.rb +++ b/lib/postal/config.rb @@ -13,7 +13,6 @@ require "klogger" require_relative "error" -require_relative "version" require_relative "config_schema" require_relative "legacy_config_source" require_relative "signer" @@ -131,7 +130,7 @@ def graylog_logging_destination notifier.notify!(short_message: short_message, **{ facility: Config.gelf.facility, _environment: Config.rails.environment, - _version: Postal::VERSION.to_s, + _version: Postal.version.to_s, _group_ids: group_ids.join(" ") }.merge(payload.transform_keys { |k| "_#{k}".to_sym }.transform_values(&:to_s))) end @@ -159,10 +158,26 @@ def change_database_connection_pool_size(new_size) def branch return @branch if instance_variable_defined?("@branch") - @branch = begin - path = Rails.root.join("BRANCH") - File.read(path).strip if File.exist?(path) - end + @branch ||= read_version_file("BRANCH") + end + + # Return the branch name which created this release + # + # @return [String, nil] + def version + return @version if instance_variable_defined?("@version") + + @version ||= read_version_file("VERSION") || "0.0.0" + end + + private + + def read_version_file(file) + path = Rails.root.join(file) + return unless File.exist?(path) + + value = File.read(path).strip + value.empty? ? nil : value end end diff --git a/lib/postal/version.rb b/lib/postal/version.rb deleted file mode 100644 index 1e0c1ac4..00000000 --- a/lib/postal/version.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -module Postal - - VERSION_PATH = File.expand_path("../../VERSION", __dir__) - if File.file?(VERSION_PATH) - VERSION = File.read(VERSION_PATH).strip.delete_prefix("v") - else - VERSION = "0.0.0-dev" - end - - def self.version - VERSION - end - - Version = VERSION - -end