From daea0e2f629c6f268d400ba92e3a157794d5847a Mon Sep 17 00:00:00 2001 From: eelco Date: Wed, 24 Jun 2026 18:32:01 +0200 Subject: [PATCH] Support for Beam Up's erb-processed config files --- lib/perron/install.rb | 2 +- .../install/{deploy.yml => deploy.yml.erb} | 9 ++++---- lib/perron/tasks/deploy.rake | 23 ++++++++++++------- 3 files changed, 20 insertions(+), 14 deletions(-) rename lib/perron/install/{deploy.yml => deploy.yml.erb} (62%) diff --git a/lib/perron/install.rb b/lib/perron/install.rb index b47e71d..84ba7c9 100644 --- a/lib/perron/install.rb +++ b/lib/perron/install.rb @@ -7,7 +7,7 @@ copy_file "#{__dir__}/install/README.md", "app/content/data/README.md" say "Create deploy configuration" -copy_file "#{__dir__}/install/deploy.yml", "config/deploy.yml" +copy_file "#{__dir__}/install/deploy.yml.erb", "config/deploy.yml.erb" say "Add Markdown gem options to Gemfile" append_to_file "Gemfile", <<~RUBY diff --git a/lib/perron/install/deploy.yml b/lib/perron/install/deploy.yml.erb similarity index 62% rename from lib/perron/install/deploy.yml rename to lib/perron/install/deploy.yml.erb index 65aba94..26e3e3c 100644 --- a/lib/perron/install/deploy.yml +++ b/lib/perron/install/deploy.yml.erb @@ -1,13 +1,12 @@ # Deploy configuration for Perron # Requires Beam Up (`bundle add beam_up`) -# See also: https://perron.railsdesigner.com/docs/deploy/ +# See also: https://perron.railsdesigner.com/docs/deploy/#deploy-task # Uncomment and configure your provider: -# provider: netlify +# provider: seal_static -# netlify: -# api_token: your_token_here -# site_id: your_site_id +# seal_static: +# api_key: your_key_here before_actions: - RAILS_ENV=production bundle exec rails perron:build diff --git a/lib/perron/tasks/deploy.rake b/lib/perron/tasks/deploy.rake index dbe0462..cd75ccd 100644 --- a/lib/perron/tasks/deploy.rake +++ b/lib/perron/tasks/deploy.rake @@ -14,19 +14,19 @@ namespace :perron do MSG end - config = Rails.root.join("config/deploy.yml") + config_file = "config/deploy.yml" if Rails.root.join("config/deploy.yml").exist? + config_file = "config/deploy.yml.erb" if Rails.root.join("config/deploy.yml.erb").exist? - unless config.exist? - template = File.expand_path("../install/deploy.yml", __dir__) - FileUtils.cp(template, config) - - puts "Created config/deploy.yml" + if config_file.nil? + FileUtils.cp(File.expand_path("../install/deploy.yml.erb", __dir__), Rails.root.join("config/deploy.yml.erb")) + config_file = "config/deploy.yml.erb" + puts "Created config/deploy.yml.erb" end beamed = BeamUp.with_progress do BeamUp.deploy!( Perron.configuration.output, - config_file: "config/deploy.yml" + config_file: config_file ) end @@ -50,7 +50,14 @@ namespace :perron do MSG end - path = BeamUp.init!(arguments[:provider], config_file: "config/deploy.yml") + config_file = "config/deploy.yml" if Rails.root.join("config/deploy.yml").exist? + config_file = "config/deploy.yml.erb" if Rails.root.join("config/deploy.yml.erb").exist? + + if config_file.nil? + config_file = "config/deploy.yml.erb" + end + + path = BeamUp.init!(arguments[:provider], config_file: config_file) puts "Configured Beam Up in #{path}" end