Preso na v2.9.0.beta1 – Agora usando 3.4.0.beta4-dev após desativar Hooks: Como posso bloquear para versões estáveis?

Tive um problema de longa data com uma instalação do Discourse que estava presa na versão v2.9.0.beta1 — devido a desafios pessoais, não consegui resolvê-lo por anos. Na época, parecia impossível migrar para a v2.9.0.beta2. Recentemente, ao solucionar um problema de reconstrução, comentei certos hooks no meu app.yml (especificamente, aqueles que forçavam um checkout de tag) da seguinte forma:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
    - exec:
        cd: $home
        cmd:
          # - git fetch --depth=1 origin tag v2.9.0.beta2 --no-tags
          # - git checkout v2.9.0.beta2
          - echo "Skipping version upgrade hook"

Após a reconstrução, minha instância atualizou inesperadamente para a versão 3.4.0.beta4-dev. Embora eu esteja feliz por ter superado esse problema, agora quero que o sistema continue seguindo o fluxo beta 3.4.0 até que uma versão estável 3.4.x esteja disponível — e, uma vez que esteja, que se fixe nessa versão estável para que não atualize automaticamente para versões beta ou de desenvolvimento futuras.

Qual é o método adequado para “fixar” ou travar a versão em uma versão estável assim que ela estiver disponível, sem ter que reverter ou realizar intervenções manuais em cada reconstrução?

Qualquer orientação ou melhores práticas seria muito apreciada!

Você pode dar uma olhada neste guia:

Altere tests-passed para stable no seu app.yml. Se você não tiver isso no seu yml, pode consultar o diretório de amostras.

1 curtida

Obrigado, então eu tinha:

  ## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
  #version: tests-passed

Eu atualizei para:

  ## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
  version: stable

Após a reconstrução, o sistema está agora em: 3.5.0.beta1-dev

O que parece ainda mais estranho/peculiar. :thinking:

Parece que você mudou a versão para estável após a reconstrução. Você está além do estável agora, então precisará mudá-la para beta ou tests-passed até o próximo lançamento estável (e como houve um na semana passada, será daqui a um bom tempo (geralmente 8-10 meses)

1 curtida

Não, infelizmente não… Tenho 100% de certeza disso, estava em 3.4.0.beta4-dev e então mudei o app.yml e fiz a reconstrução. Então 3.5.0.beta1-dev apareceu. Este é 100% o caminho que foi seguido… Não tenho DÚVIDA alguma, só para deixar claro. Eu literalmente verifiquei as coisas antes das ações que notei.

A linha com tests-passed nela começa com um #?

Captura de tela do editor:

Está comentado, então o que você colocar lá não importa e o padrão é “testes aprovados”.

Quando você reconstruiu para reconstruir para os últimos “testes aprovados”.

Obrigado novamente pela sua ajuda @pfaffman. Para resumir meu entendimento atual:

  • Nossa instância estava executando 3.4.0.beta4-dev, que não é considerada uma versão estável.
  • Quando atualizei minha configuração para usar version: stable (com o padrão comentado), esperava que reconstruções futuras fixassem a instância no branch estável. No entanto, como já estávamos em uma versão beta, a atualização continuou avançando — resultando em 3.5.0.beta1-dev.
  • Parece que mudar para version: stable depois de ter avançado além da tag estável não aciona um rollback; apenas significa que, se estivéssemos no nível estável ou abaixo dele, ele nos fixaria no estável em vez de rastrear versões beta.

Isso está correto?

Além disso, você poderia esclarecer qual é o processo recomendado para garantir que não sigamos acidentalmente o canal beta no futuro? Especificamente:

  1. Deixar version: stable como a configuração ativa é suficiente para garantir que, quando uma versão estável estiver disponível, nossas reconstruções serão fixadas nela — desde que ainda não a tenhamos ultrapassado quando a versão estável chegar?
  2. Existem etapas adicionais ou tarefas de limpeza (como remover ou modificar quaisquer outros elementos de configuração) que devemos realizar para evitar a atualização inadvertida para versões beta/de desenvolvimento?

Estou muito interessado em fixar em uma versão estável o mais rápido possível, mas não quero que ela pule novamente…

Hmm. Para mim não parece:

Droga! Talvez eu tenha olhado muito rápido no meu celular. Não tenho explicação para como perdi isso nem como o site agora está rodando 3.5.0.beta1-dev.

2 curtidas

Olá,

Depois de ter sofrido o impacto da atualização 3.4.0.beta4-dev ligada à migração do postgres 13 para 15, consegui recuperar uma versão funcional 3.5.0.beta1-dev!

Agora, no painel, há uma nova versão:

Instalado             Mais recente
3.5.0.beta1-dev       3.5.0.beta1
(b37b51d15f)

Mas na página de Atualizações, vemos:

Nome                   Hash do Commit          Última Atualização  Versão Mais Recente    Status
Nova versão disponível! v3.4.0.beta4 +182    43 mins atrás   v3.5.0.beta1 +8   Atualizar

É seguro atualizar?

Agradeço desde já.

1 curtida