Заголовок в значительной степени дает весь вопрос, но для уточнения, у меня есть requirements.yml
или meta/main.yml
, которые могут выглядеть следующим образом:
- src: git@github.com:user/repo.git
scm: git
version: ~v1.0.0
или, возможно,
- src: git@github.com:user/repo.git
scm: git
version: ~1.0.0
(без v). Я попытался поместить теги в репозиторий git вида 1.2.3
, а также v1.2.3
.
Мне кажется, что ansible-galaxy
просто выполняет git проверку строки, указанной для version
, является ли это ветвью, идентификатором коммита или тегом. Похоже, что на самом деле он не получает шаблонов semver , таких как ~1.2.3
или ^1.2.3
...
Похоже, что сервер Galaxy может вздрогнуть, но прежде чем я уйду и включу свой собственный сервер Galaxy (если это то, что я решил сделать), я хотел убедиться, что я не упустил что-то очевидное.
Другой альтернативой, глядя на код, является, возможно, создание внешнего интерфейса для git, который преобразует обычную ветку в соответствующий тег. Я нашел лакомые кусочки этого подхода, но не был уверен, сработает ли это в этом случае, поэтому я надеюсь, что кто-то решит эту проблему для себя.