From bf2143549d95f9193f1a89e8ad8e81d4032d924a Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 5 Aug 2020 21:20:07 +0100 Subject: [PATCH] Run yarn:install task as part of rails deployment --- cookbooks/db/recipes/base.rb | 1 + cookbooks/web/resources/rails_port.rb | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/cookbooks/db/recipes/base.rb b/cookbooks/db/recipes/base.rb index d63a37811..84aac376c 100644 --- a/cookbooks/db/recipes/base.rb +++ b/cookbooks/db/recipes/base.rb @@ -47,6 +47,7 @@ rails_port "www.openstreetmap.org" do group "rails" repository "https://git.openstreetmap.org/public/rails.git" revision "live" + build_assets false database_host "localhost" database_name "openstreetmap" database_username "openstreetmap" diff --git a/cookbooks/web/resources/rails_port.rb b/cookbooks/web/resources/rails_port.rb index 31cf233a0..6d39b937b 100644 --- a/cookbooks/web/resources/rails_port.rb +++ b/cookbooks/web/resources/rails_port.rb @@ -32,6 +32,7 @@ property :group, String property :repository, String, :default => "https://git.openstreetmap.org/public/rails.git" property :revision, String, :default => "live" property :run_migrations, [true, false], :default => false +property :build_assets, [true, false], :default => true property :email_from, String, :default => "OpenStreetMap " property :status, String, :default => "online" property :database_host, String @@ -397,6 +398,21 @@ action :create do only_if { new_resource.run_migrations } end + package "yarnpkg" do + only_if { new_resource.build_assets } + end + + execute "#{rails_directory}/package.json" do + action :nothing + command "bundle#{new_resource.ruby} exec rake yarn:install" + environment "RAILS_ENV" => "production" + cwd rails_directory + user new_resource.user + group new_resource.group + subscribes :run, "git[#{rails_directory}]" + only_if { new_resource.build_assets } + end + execute "#{rails_directory}/app/assets/javascripts/i18n" do action :nothing command "bundle#{new_resource.ruby} exec rake i18n:js:export" @@ -405,6 +421,7 @@ action :create do user new_resource.user group new_resource.group subscribes :run, "git[#{rails_directory}]" + only_if { new_resource.build_assets } end execute "#{rails_directory}/public/assets" do @@ -419,8 +436,10 @@ action :create do subscribes :run, "file[#{rails_directory}/config/settings.local.yml]" subscribes :run, "file[#{rails_directory}/config/storage.yml]" subscribes :run, "file[#{rails_directory}/config/piwik.yml]" + subscribes :run, "execute[#{rails_directory}/package.json]" subscribes :run, "execute[#{rails_directory}/app/assets/javascripts/i18n]" notifies :restart, "passenger_application[#{rails_directory}]" + only_if { new_resource.build_assets } end file "#{rails_directory}/public/export/embed.html" do -- 2.43.2