5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-27 10:26:21 +00:00

Merge branch 'deadlock' into panel.sutty.nl

This commit is contained in:
f 2022-03-15 16:06:47 -03:00
commit bfc667e272
2 changed files with 19 additions and 17 deletions

View file

@ -5,7 +5,9 @@ class DeployJob < ApplicationJob
class DeployException < StandardError; end
# rubocop:disable Metrics/MethodLength
def perform(site, notify = true, time = Time.now)
def perform(site, notify: true, time: Time.now, output: false)
@output = output
ActiveRecord::Base.connection_pool.with_connection do
@site = Site.find(site)
@ -21,7 +23,7 @@ class DeployJob < ApplicationJob
"#{@site.name} la tarea estuvo más de 10 minutos esperando, volviendo al estado original"
end
DeployJob.perform_in(60, site, notify, time)
DeployJob.perform_in(60, site, notify: notify, time: time, output: output)
return
end
@ -55,12 +57,12 @@ class DeployJob < ApplicationJob
end
def deploy_locally
deploy_local.deploy
deploy_local.deploy(output: @output)
end
def deploy_others
@site.deploys.where.not(type: 'DeployLocal').find_each do |d|
@deployed[d.type.underscore.to_sym] = d.deploy
@deployed[d.type.underscore.to_sym] = d.deploy(output: @output)
end
end

View file

@ -12,12 +12,12 @@ class DeployLocal < Deploy
#
# Pasamos variables de entorno mínimas para no filtrar secretos de
# Sutty
def deploy
def deploy(output: false)
return false unless mkdir
return false unless yarn
return false unless bundle
return false unless yarn(output: output)
return false unless bundle(output: output)
jekyll_build
jekyll_build(output: output)
end
# Sólo permitimos un deploy local
@ -79,29 +79,29 @@ class DeployLocal < Deploy
File.exist? yarn_lock
end
def gem
run %(gem install bundler --no-document)
def gem(output: false)
run %(gem install bundler --no-document), output: output
end
# Corre yarn dentro del repositorio
def yarn
def yarn(output: false)
return true unless yarn_lock?
run 'yarn install --production'
run 'yarn install --production', output: output
end
def bundle
def bundle(output: false)
if Rails.env.production?
# XXX: Desde que ya no compartimos el directorio de gemas, tenemos
# que hacer limpieza después de instalar.
run %(bundle install --no-cache --path="#{gems_dir}" --clean --without test development)
run %(bundle install --no-cache --path="#{gems_dir}" --clean --without test development), output: output
else
run %(bundle install)
run %(bundle install), output: output
end
end
def jekyll_build
run %(bundle exec jekyll build --trace --profile --destination "#{escaped_destination}")
def jekyll_build(output: false)
run %(bundle exec jekyll build --trace --profile --destination "#{escaped_destination}"), output: output
end
# no debería haber espacios ni caracteres especiales, pero por si