From 0d094d56a357faba9ff7fefdf89ead584d278f13 Mon Sep 17 00:00:00 2001 From: Reece Dunham Date: Wed, 25 Jun 2025 11:14:16 -0400 Subject: [PATCH 1/3] Run seeding before assets:precompile Apparently the bookmarklet needs it in order to determine the latest version. So, we'll just do it a bit earlier than normal. --- lib/language_pack/ruby.rb | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/language_pack/ruby.rb b/lib/language_pack/ruby.rb index c361a85f9..86968ce1d 100644 --- a/lib/language_pack/ruby.rb +++ b/lib/language_pack/ruby.rb @@ -95,6 +95,7 @@ def compile post_bundler create_database_yml install_binaries + seed_db_for_review_app run_assets_precompile_rake_task end config_detect @@ -1106,8 +1107,26 @@ def yarn_not_preinstalled? !yarn_preinstalled? end - def run_assets_precompile_rake_task + def seed_db_for_review_app + if ENV.fetch('HEROKU_PR_NUMBER', nil).nil? + puts "Skipping minimal review app seeding, `HEROKU_PR_NUMBER` is not set" + return + end + + prepare = rake.task("db:review_app:prepare") + return error "Can't find db:seed:minimal rake task, but we need it for rapgenius review apps!" unless prepare.is_defined? + + topic "Seeding minimal db for review apps" + prepare.invoke(env: rake_env) + if prepare.success? + puts "Minimal seeding completed (#{"%.2f" % prepare.time}s)" + else + log "seed_db_for_review_app", :status => "failure" + error "Failed to seed the review app database. Check the logs above to see what happened." + end + end + def run_assets_precompile_rake_task precompile = rake.task("assets:precompile") return true unless precompile.is_defined? From 62cd6817db78c5cf156a243da4dbb5b341c30317 Mon Sep 17 00:00:00 2001 From: Reece Dunham Date: Wed, 25 Jun 2025 12:20:55 -0400 Subject: [PATCH 2/3] Use the correct one --- lib/language_pack/ruby.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language_pack/ruby.rb b/lib/language_pack/ruby.rb index 86968ce1d..4393cac62 100644 --- a/lib/language_pack/ruby.rb +++ b/lib/language_pack/ruby.rb @@ -1108,7 +1108,7 @@ def yarn_not_preinstalled? end def seed_db_for_review_app - if ENV.fetch('HEROKU_PR_NUMBER', nil).nil? + if env("HEROKU_PR_NUMBER").nil? puts "Skipping minimal review app seeding, `HEROKU_PR_NUMBER` is not set" return end From 8555a77bf15ebccf4998733baec2536df94dd7ec Mon Sep 17 00:00:00 2001 From: Reece Dunham Date: Fri, 27 Jun 2025 13:02:28 -0400 Subject: [PATCH 3/3] Correct error message --- lib/language_pack/ruby.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language_pack/ruby.rb b/lib/language_pack/ruby.rb index 4393cac62..6442afe7d 100644 --- a/lib/language_pack/ruby.rb +++ b/lib/language_pack/ruby.rb @@ -1114,7 +1114,7 @@ def seed_db_for_review_app end prepare = rake.task("db:review_app:prepare") - return error "Can't find db:seed:minimal rake task, but we need it for rapgenius review apps!" unless prepare.is_defined? + return error "Can't find db:review_app:prepare rake task, but we need it for rapgenius review apps!" unless prepare.is_defined? topic "Seeding minimal db for review apps" prepare.invoke(env: rake_env)