From 7c56517c7c2f3e284b912f7519682c3612d3af81 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 14 Jan 2025 09:32:29 -0500 Subject: [PATCH] Move mastodon version config to `config_for` yml (#33577) --- config/mastodon.yml | 4 ++++ lib/mastodon/version.rb | 16 ++++++++++++---- spec/presenters/instance_presenter_spec.rb | 6 ++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/config/mastodon.yml b/config/mastodon.yml index e20ba0ab05..a4442e873c 100644 --- a/config/mastodon.yml +++ b/config/mastodon.yml @@ -2,6 +2,10 @@ shared: self_destruct_value: <%= ENV.fetch('SELF_DESTRUCT', nil) %> software_update_url: <%= ENV.fetch('UPDATE_CHECK_URL', 'https://api.joinmastodon.org/update-check') %> + source: + base_url: <%= ENV.fetch('SOURCE_BASE_URL', nil) %> + repository: <%= ENV.fetch('GITHUB_REPOSITORY', 'mastodon/mastodon') %> + tag: <%= ENV.fetch('SOURCE_TAG', nil) %> version: metadata: <%= ENV.fetch('MASTODON_VERSION_METADATA', nil) %> prerelease: <%= ENV.fetch('MASTODON_VERSION_PRERELEASE', nil) %> diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index ddde4a993d..19779eb609 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -50,16 +50,16 @@ module Mastodon end def repository - ENV.fetch('GITHUB_REPOSITORY', 'mastodon/mastodon') + source_configuration[:repository] end def source_base_url - ENV.fetch('SOURCE_BASE_URL', "https://github.com/#{repository}") + source_configuration[:base_url] || "https://github.com/#{repository}" end # specify git tag or commit hash here def source_tag - ENV.fetch('SOURCE_TAG', nil) + source_configuration[:tag] end def source_url @@ -79,7 +79,15 @@ module Mastodon end def version_configuration - Rails.configuration.x.mastodon.version + mastodon_configuration.version + end + + def source_configuration + mastodon_configuration.source + end + + def mastodon_configuration + Rails.configuration.x.mastodon end end end diff --git a/spec/presenters/instance_presenter_spec.rb b/spec/presenters/instance_presenter_spec.rb index 42f5200f3a..cc6e0533bb 100644 --- a/spec/presenters/instance_presenter_spec.rb +++ b/spec/presenters/instance_presenter_spec.rb @@ -68,6 +68,7 @@ RSpec.describe InstancePresenter do context 'with the GITHUB_REPOSITORY env variable set' do around do |example| ClimateControl.modify GITHUB_REPOSITORY: 'other/repo' do + reload_configuration example.run end end @@ -80,6 +81,7 @@ RSpec.describe InstancePresenter do context 'without the GITHUB_REPOSITORY env variable set' do around do |example| ClimateControl.modify GITHUB_REPOSITORY: nil do + reload_configuration example.run end end @@ -88,6 +90,10 @@ RSpec.describe InstancePresenter do expect(instance_presenter.source_url).to eq('https://github.com/mastodon/mastodon') end end + + def reload_configuration + Rails.configuration.x.mastodon = Rails.application.config_for(:mastodon) + end end describe '#thumbnail' do