Регрессия shallow git fetch в discourse_docker

Спасибо за уточнение: это именно та часть, которой мне не хватало. Для тех, кто запутался так же, как и я, получение релизного тега Discourse можно выполнить следующим образом:

  • Убедитесь, что параметр version не задан в app.yml, например:
    params:
      db_default_text_search_config: "pg_catalog.english"
      #  version: stable
    
  • Добавьте код для перехода на нужную версию в конце файла app.yml, например:
    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.5.0 --no-tags
    +          - git checkout v2.5.0
    

При запуске ./launcher rebuild app происходит следующее:

  • По умолчанию переходится на ветку version (т. е. ветку test_passed).
  • Затем загружается и переходит на тег v2.5.0, что фактически заменяет предыдущую версию.