FEATURE: Force a rebuild when behind a specific discourse commit. (#145)

* FEATURE: Force a rebuild when behind a specific discourse version.

* Update app/controllers/docker_manager/admin_controller.rb

Co-authored-by: David Taylor <david@taylorhq.com>

* Update app/controllers/docker_manager/admin_controller.rb

Co-authored-by: Osama Sayegh <asooomaasoooma90@gmail.com>

Co-authored-by: David Taylor <david@taylorhq.com>
Co-authored-by: Osama Sayegh <asooomaasoooma90@gmail.com>
This commit is contained in:
Roman Rizzi 2022-07-27 16:29:05 -03:00 committed by GitHub
parent 7629559872
commit 2d9d1ea0b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 1 deletions

View File

@ -16,8 +16,14 @@ module DockerManager
expected_version = Gem::Version.new('2.0.20220128-1817')
ruby_version = Gem::Version.new(RUBY_VERSION)
expected_ruby_version = Gem::Version.new('2.7.6')
min_stable_version = Gem::Version.new('2.8.6')
min_beta_version = Gem::Version.new('2.9.0.beta7')
if (version < expected_version) || (ruby_version < expected_ruby_version)
upgrade_image = version < expected_version
upgrade_ruby = ruby_version < expected_ruby_version
upgrade_discourse = discourse_upgrade_required?(min_stable_version, min_beta_version)
if upgrade_image || upgrade_ruby || upgrade_discourse
render 'upgrade_required', layout: false
else
render
@ -174,5 +180,14 @@ module DockerManager
def concat_repos_versions(repos)
repos.map(&:latest_local_commit).join(", ")
end
def discourse_upgrade_required?(min_stable_version, min_beta_version)
tracking_stable = Discourse::VERSION::PRE.nil?
discourse_version = Gem::Version.new(Discourse::VERSION::STRING)
target_version = tracking_stable ? min_stable_version : min_beta_version
discourse_version < target_version
end
end
end