* Check for the current version of foreman when deciding to install 0.87.1 was current when this was added, but `gem install foreman` now installs 0.87.2, so this check always fails (I do not have the older version present). I'm suspecting we either don't want to version pin this test (assume whatever version of foreman installed is fine) or we need to use something like the Gemfile to have dependabot keep this version info in sync with the upstream. All I do here is update the current release version to test against. * Remove foreman version constraint If any version of (very stable) foreman is installed, assume it's recent enough to run the (also very stable) Procfile Only install foreman gem if it's not installed. Updates are on the user.
41 lines
1.3 KiB
Ruby
Executable file
41 lines
1.3 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
require "fileutils"
|
|
|
|
# path to your application root.
|
|
APP_ROOT = File.expand_path("..", __dir__)
|
|
|
|
def system!(*args)
|
|
system(*args) || abort("\n== Command #{args} failed ==")
|
|
end
|
|
|
|
FileUtils.chdir APP_ROOT do
|
|
# This script is a way to set up or update your development environment automatically.
|
|
# This script is idempotent, so that you can run it at anytime and get an expectable outcome.
|
|
# Add necessary setup steps to this file.
|
|
|
|
puts "== Installing dependencies =="
|
|
system! "gem install bundler --conservative"
|
|
system! "bundle config --local cache_all true"
|
|
system! "bundle config --local cache_all_platforms true"
|
|
system! "bundle config --local ignore_messages.rpush true"
|
|
system("bundle check") || system!("bundle install")
|
|
|
|
system! "gem list \"^foreman$\" -i --silent || gem install foreman"
|
|
|
|
# Install JavaScript dependencies if using Yarn
|
|
system("bin/yarn")
|
|
|
|
puts "\n== Copying sample files =="
|
|
unless File.exist?("config/database.yml")
|
|
FileUtils.cp "config/database.yml.sample", "config/database.yml"
|
|
end
|
|
|
|
puts "\n== Initializing the application =="
|
|
system! "bin/rails app_initializer:setup forem:setup"
|
|
|
|
puts "\n== Removing old logs and tempfiles =="
|
|
system! "bin/rails log:clear tmp:clear"
|
|
|
|
puts "\n== Restarting application server =="
|
|
system! "bin/rails restart"
|
|
end
|