5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-10-05 01:26:56 +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 class DeployException < StandardError; end
# rubocop:disable Metrics/MethodLength # 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 ActiveRecord::Base.connection_pool.with_connection do
@site = Site.find(site) @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" "#{@site.name} la tarea estuvo más de 10 minutos esperando, volviendo al estado original"
end end
DeployJob.perform_in(60, site, notify, time) DeployJob.perform_in(60, site, notify: notify, time: time, output: output)
return return
end end
@ -55,12 +57,12 @@ class DeployJob < ApplicationJob
end end
def deploy_locally def deploy_locally
deploy_local.deploy deploy_local.deploy(output: @output)
end end
def deploy_others def deploy_others
@site.deploys.where.not(type: 'DeployLocal').find_each do |d| @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
end end

View file

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