Merge pull request #41 from basecamp/bash-setup

Use bash for bin/setup
This commit is contained in:
Jeffrey Hardy
2024-08-14 14:52:19 -04:00
committed by GitHub
+27 -21
View File
@@ -1,28 +1,34 @@
#!/usr/bin/env ruby
require "fileutils"
#!/usr/bin/env bash
set -eo pipefail
APP_ROOT = File.expand_path("..", __dir__)
APP_NAME = "splat"
app_root="$( cd "$(dirname "$0")/.."; pwd )"
app_name="splat"
def system!(*args)
system(*args, exception: true)
end
# Use application binstubs
export PATH="$app_root/bin:$PATH"
FileUtils.chdir APP_ROOT do
puts "== Installing dependencies =="
system! "gem install bundler --conservative"
system!("bundle install")
announce() {
echo
echo "--- $@"
}
puts "\n== Preparing database =="
system! "bin/rails db:prepare"
announce "Installing dependencies"
gem install bundler --conservative
bundle check || bundle install
puts "\n== Removing old logs and tempfiles =="
system! "bin/rails log:clear tmp:clear"
announce "Preparing database"
rails db:prepare
puts "\n== Restarting application server =="
system! "bin/rails restart"
announce "Removing old logs and tempfiles"
rails log:clear tmp:clear
puts "\n== Configuring puma-dev =="
system "ln -nfs #{APP_ROOT} ~/.puma-dev/#{APP_NAME}"
system "curl -Is https://#{APP_NAME}.test/up | head -n 1"
end
announce "Restarting services"
rails restart
if [ -d "$HOME/.puma-dev" ]; then
announce "Configuring puma-dev"
ln -nfs "$app_root" "$HOME/.puma-dev/$app_name"
announce "Checking https://$app_name.test/up: "
curl -Is "https://$app_name.test/up" | head -n 1
fi