Skip to content

Commit

Permalink
breaking: bump version
Browse files Browse the repository at this point in the history
  • Loading branch information
hayna-foursys committed Mar 19, 2024
1 parent 68c53b6 commit b319c13
Showing 1 changed file with 31 additions and 10 deletions.
41 changes: 31 additions & 10 deletions tools/bump_version.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,37 @@
#!/bin/bash
git fetch
if \
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%s' | cut -d: -f1 | sort -u | sed -e 's/([^)]*)//' | grep -q -i -E '^feat|fix|perf|refactor|revert$' ; } || \
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%s' | cut -d: -f1 | sort -u | sed -e 's/([^)]*)//' | grep -q -E '\!$' ; } || \
{ git log "$( git describe --tags --abbrev=0 )..HEAD" --format='%b' | grep -q -E '^break:' ; }
then

# Pega a última tag
LAST_TAG=$(git describe --tags --abbrev=0)

# Verifica se existe algum commit com 'major:' no início desde a última tag
if git log "${LAST_TAG}..HEAD" --format='%s' | grep -q -E '^major:'; then
# Se "major:" for encontrado no início, aumenta a versão major
npx standard-version --release-as major

# Verifica se existe algum commit com 'breaking:' no início desde a última tag
elif git log "${LAST_TAG}..HEAD" --format='%s' | grep -q -E '^breaking:'; then
# Se "breaking:" for encontrado no início, aumenta a versão minor
npx standard-version --release-as minor

else
# Para todos os outros casos, segue o procedimento padrão que normalmente aumenta o patch
npx standard-version
NATDS_VERSION=$(cat ./version.txt)
envman add --key NATDS_VERSION --value "$NATDS_VERSION"
git clean -f -d
git commit -m "chore: Updates version"
fi

# Pega a versão atual do arquivo version.txt
NATDS_VERSION=$(cat ./version.txt)

# Adiciona a versão como variável de ambiente para usos posteriores
envman add --key NATDS_VERSION --value "$NATDS_VERSION"

# Limpa arquivos não rastreados e diretórios
git clean -f -d

# Verifica se existem arquivos para commitar e faz o commit se necessário
if [ -n "$(git status --porcelain)" ]; then
git commit -am "chore: Updates version"
git push --follow-tags origin HEAD
else
echo "No applicable changes since the previous tag, skipping..."
echo "No files to commit."
fi

0 comments on commit b319c13

Please sign in to comment.