poetry + bash + git: tag releases

poetry + bash + git: tag releases

Este tutorial Utiliza o bash para capturar a saída do poetry e aplicar como mensagem de tag no git com número de release.

O python poetry é um avançado gerenciador de dependências para Python. E nele está incluso muitas funcionalidades antes separadas e vários ferramentas. Entre eles: setuptools, bumpversion, requeriment.txt, requeriment-dev.txt, wheel, twine, e ainda verificação de hash das dependências. Para o controle de distribuição, o Python poetry aplica a notação SemVer - Semântica de Versionamento, onde temos [major].[minor].[patch]-[build]: 20.20.12-alpha.2

Notação com crases

a=`poetry version prerelease` && git tag `awk '{print $NF}' <<< $a` -m "`echo $a`"
tag: 1.0.1-alpha.2, tag: 1.0.1-alpha.1, tag: 1.0.1-alpha.0

Notação com parenteses

Inicia o build da patch seguinte
a=$(poetry version prepatch) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
Inicia o build da minor seguinte
a=$(poetry version preminor) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
Inicia o build da major seguinte
a=$(poetry version premajor) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
Incrementa a versão de build
a=$(poetry version prerelease) && git add .; git ci -m "$(echo $a)"   # sem tag                                                               
a=$(poetry version prerelease) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"  # com tag
Incrementa a versão de patch
                                                                        
a=$(poetry version patch) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
tag: 1.0.1, tag: 1.0.2, tag: 1.0.3
Incrementa a versão de minor
    
a=$(poetry version minor) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
tag: 1.0.0, tag: 1.2.0, tag: 1.3.0
Incrementa a versão de major
a=$(poetry version major) && git tag $(awk '{print $NF}' <<< $a) -m "$(echo $a)"
tag: 1.0.0, tag: 2.0.0, tag: 3.0.0

Comentários