Temos um componente de tema que instalamos via o comando rake. O plugin e sua instalação via o comando rake funcionam perfeitamente. A atualização também funciona perfeitamente quando feita pela interface de administração, por exemplo, /admin/customize/themes/40. O problema surge quando tentamos atualizá-lo pela linha de comando com aquele comando rake. A saída é exatamente como eu esperaria. No entanto, as alterações não são refletidas. Isso parece ser um bug?
$ rake themes:install -- '--{"discourse-login-modal": {"url": "https://github.com/example/discourse-login-modal.git", "add_to_all_themes": true}}'
discourse-login-modal: já está instalado. Atualizando do remoto.
Resultados:
Instalados: 0
Atualizados: 1
Erros: 0
Fornecendo mais detalhes sobre o problema. A execução do comando rake para atualização não produziu nenhuma mudança visível no meu componente do tema, mas, após isso, a interface de administração (Admin UI) acreditou que a atualização havia sido aplicada (esqueci de capturar a tela).
Após uma alteração subsequente no meu componente do tema, a Admin UI agora mostra que uma atualização está disponível, mas, ao aplicá-la, recebo um aviso de que minhas alterações locais serão sobrescritas. Essas alterações são exatamente o que eu queria aplicar por meio do comando rake install, que, na verdade, não foi aplicado.
Oi @markvanlan, obrigado pelo seu trabalho no comando rake para instalar um tema! Você saberia dizer por que a atualização via rake install não está funcionando?
Não consegui entender por que a atualização não está funcionando, mas pensei em uma solução alternativa: adicionar um comando de desinstalação. Desinstalar o tema antes de usar o comando rake install parece estar funcionando.
Algo está muito estranho aqui. Quando ThemesInstallTask atualiza um tema remoto, as informações remotas são atualizadas corretamente (o SHA mais recente é exibido e commits_behind é 0, como você observou)
Mas o SCSS não é atualizado no banco de dados. Eu assumia que se tratava de um problema de invalidação de cache, mas não é esse o caso! O SCSS no banco de dados não está sendo atualizado.
O valor deveria ser diferente nesta captura de tela
Analisando como o controlador de temas do administrador lida com atualizações em comparação com a forma como a tarefa atualiza temas remotos, não vejo nenhuma diferença.