Improve error handling in mastodon:setup task (#21464)

This commit is contained in:
Claire 2023-10-23 14:28:32 +02:00 committed by GitHub
parent 99f2534cee
commit 44edf3aa91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,6 +17,8 @@ namespace :mastodon do
ENV.delete('SIDEKIQ_REDIS_URL') ENV.delete('SIDEKIQ_REDIS_URL')
begin begin
errors = false
prompt.say('Your instance is identified by its domain name. Changing it afterward will break things.') prompt.say('Your instance is identified by its domain name. Changing it afterward will break things.')
env['LOCAL_DOMAIN'] = prompt.ask('Domain name:') do |q| env['LOCAL_DOMAIN'] = prompt.ask('Domain name:') do |q|
q.required true q.required true
@ -95,7 +97,11 @@ namespace :mastodon do
rescue => e rescue => e
prompt.error 'Database connection could not be established with this configuration, try again.' prompt.error 'Database connection could not be established with this configuration, try again.'
prompt.error e.message prompt.error e.message
break unless prompt.yes?('Try again?') unless prompt.yes?('Try again?')
return prompt.warn 'Nothing saved. Bye!' unless prompt.yes?('Continue anyway?')
errors = true
break
end
end end
end end
@ -135,7 +141,11 @@ namespace :mastodon do
rescue => e rescue => e
prompt.error 'Redis connection could not be established with this configuration, try again.' prompt.error 'Redis connection could not be established with this configuration, try again.'
prompt.error e.message prompt.error e.message
break unless prompt.yes?('Try again?') unless prompt.yes?('Try again?')
return prompt.warn 'Nothing saved. Bye!' unless prompt.yes?('Continue anyway?')
errors = true
break
end
end end
end end
@ -420,7 +430,11 @@ namespace :mastodon do
rescue => e rescue => e
prompt.error 'E-mail could not be sent with this configuration, try again.' prompt.error 'E-mail could not be sent with this configuration, try again.'
prompt.error e.message prompt.error e.message
break unless prompt.yes?('Try again?') unless prompt.yes?('Try again?')
return prompt.warn 'Nothing saved. Bye!' unless prompt.yes?('Continue anyway?')
errors = true
break
end
end end
end end
@ -466,6 +480,7 @@ namespace :mastodon do
prompt.ok 'Done!' prompt.ok 'Done!'
else else
prompt.error 'That failed! Perhaps your configuration is not right' prompt.error 'That failed! Perhaps your configuration is not right'
errors = true
end end
end end
@ -482,12 +497,17 @@ namespace :mastodon do
prompt.say 'Done!' prompt.say 'Done!'
else else
prompt.error 'That failed! Maybe you need swap space?' prompt.error 'That failed! Maybe you need swap space?'
errors = true
end end
end end
end end
prompt.say "\n" prompt.say "\n"
if errors
prompt.warn 'Your Mastodon server is set up, but there were some errors along the way, you may have to fix them.'
else
prompt.ok 'All done! You can now power on the Mastodon server 🐘' prompt.ok 'All done! You can now power on the Mastodon server 🐘'
end
prompt.say "\n" prompt.say "\n"
if db_connection_works && prompt.yes?('Do you want to create an admin user straight away?') if db_connection_works && prompt.yes?('Do you want to create an admin user straight away?')