Supongo que esto es más o menos un error, pero lo que sea. Hace unos momentos la reconstrucción falló. Sin Discourse AI, funcionó.
Este fue el primero extraño, pero no creo que sea relevante.
I, [2025-01-21T10:15:39.800894 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
stringio (>= 0)
Available/installed versions of this gem:
- 3.1.2
- 3.1.1
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
Please report a bug if this causes problems.
Aquí empieza
I, [2025-01-21T10:16:08.572988 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
Plugin name is 'discourse-microsoft-auth', but plugin directory is named 'discourse-plugin-office365-auth'
rake aborted!
ActiveRecord::DuplicateMigrationNameError: (ActiveRecord::DuplicateMigrationNameError)
Multiple migrations have the name EnablePgVectorExtension.
Y por último, obtuvimos esta parte menos informativa:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 990 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
Ahora el trabajo está hecho. Entiendo por qué es como es, pero necesitamos otra forma de lidiar con los plugins. Claro, diferentes contenedores, pero…
De todos modos. Es un conflicto entre Discourse AI, después de que llegó el sistema de cuotas, y Discourse AI Topic Summary 🤖 — otro debe ser deshabilitado al reconstruir.
Así que, los dejo discutiendo con @merefield quién hará qué.
¡Genial! Para tu información, esto fue definitivamente culpa mía y no de DAI.
Acabo de hacer una refactorización de AI Topic Summary que, irónicamente, no tuvo mucho que ver con esa migración, solo la incluí. La versión añadió CI adecuada y conformidad con Zeitwerk.