Legal, obrigado por explicar isso.
Então, servi-me uma taça de
e tentei com o Plugin Custom Wizard.
Verifiquei cada tag uma por uma, em ordem reversa, começando por v2.6.0.beta1. Encontrei esses comandos do git úteis:
git tag --list \\ por exemplo, git tag --list 'v2.5.0*'
git checkout tags/tag \\ por exemplo, git checkout tags/v2.5.0.beta7
Não demorou muito para encontrar uma tag que não funcionava com a versão atual do plugin: v2.5.0.beta7 não inclui discourse/app/components/d-textarea, que o Custom Wizard tenta importar.
Então, encontrei o commit no plugin que adicionou essa importação, peguei o sha1 do commit anterior, fiz o checkout e testei (funcionou perfeitamente), e adicionei isso ao arquivo .discourse-compatibility:
v2.5.0.beta7: 802d74bab2ebe19a106f75275342dc2e9cc6066a
Em seguida, fiz push para uma branch com o código mais recente do plugin (uma branch para testes, não necessária normalmente), e reconstruí um servidor de teste Dockerizado com essa branch do plugin e a version definida como v2.5.0.beta7.
Isso não funcionou. Depois, percebi que, claro, a tarefa rake plugin:pull_compatible_all não existe em v2.5.0.beta7, então isso não vai funcionar retroativamente (culpo o
). Com certeza, nos logs do launcher vejo:
Don't know how to build task 'plugin:pull_compatible_all' (See the list of available tasks with `rake --tasks`)
Mas é essa a ideia geral de como você imagina que isso seja usado?
Quanto ao required_version, encontrei isso aqui, pois o servidor de teste tinha o plugin discourse-legal-tools instalado, que possui um required_version de v2.5.0, então inicialmente falhou em v2.5.0.beta7. Acredito que vou transferir esse plugin para este novo sistema. Ainda vejo o required_version como útil para definir uma base absoluta, como você disse.