Existe uma maneira fácil de mudar a versão durante o desenvolvimento?

Olá!

Estou desenvolvendo um plugin do Discourse para fins internos e também tentando contribuir para o núcleo.
A versão estável do plugin usa uma versão estável do Discourse, então preciso alternar constantemente a base de código:

  • usar o branch main ao contribuir para o núcleo
  • usar a versão usada em nosso ambiente de produção ao corrigir bugs para o plugin
  • usar a versão mais recente ao adicionar recursos ao plugin

Toda vez, preciso destruir o contêiner de desenvolvimento (d/shutdown_dev), excluir data e tmp, fazer checkout da versão correta do Discourse, depois reconstruir e reiniciar o contêiner (d/boot_dev --init), configurar o primeiro usuário e, em seguida, aplicar nossa configuração (por meio de uma espécie de script de restauração automatizado), potencialmente muitas vezes ao dia.

Existe uma maneira de tornar isso menos doloroso?

Idealmente, eu gostaria de:

  • poder configurar o contêiner de desenvolvimento para não iniciar automaticamente
  • poder ter vários contêineres de desenvolvimento que posso iniciar/parar quando quiser.

d/boot_dev --help exibe os argumentos --env/--env-files, mas não consegui encontrar nada sobre o que posso configurar com eles.

Vocês têm o mesmo tipo de problemas? Como vocês conseguem resolver?