Tienes razón, en ese momento no conocemos la versión; parece que la imagen base utiliza la versión actual más la rama tests-passed, aunque la rama tendrá el commit correspondiente al momento en que se construyó la imagen.
¿No tendría el método actual reconstrucciones más lentas, incluso cuando se usa la rama tests-passed?
Simplemente considera las siguientes instrucciones:
En la imagen base:
git clone --depth 1 https://github.com/discourse/discourse.git
cd discourse/
git remote set-branches --add origin tests-passed
En web.template.yml
git reset --hard
git clean -f
git remote set-branches --add origin master
git pull
...
Actualización
Volví a probar los pasos anteriores y fueron rápidos. Supongo que en el primer intento ejecuté otra instrucción que modificó el árbol de git y, al final, intenté descargar todo cuando ejecuté git pull.