fix: Fix /api/version endpoint path and save all review events to DB
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт для автоповышения версии backend
|
||||
# Вызывается из pre-commit hook или вручную
|
||||
|
||||
VERSION_FILE="backend/VERSION"
|
||||
|
||||
# Проверка существования файла
|
||||
if [ ! -f "$VERSION_FILE" ]; then
|
||||
echo "0.1.0" > "$VERSION_FILE"
|
||||
echo "✅ Создан файл версии: 0.1.0"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Чтение текущей версии
|
||||
CURRENT_VERSION=$(cat "$VERSION_FILE")
|
||||
|
||||
# Разбор версии (MAJOR.MINOR.PATCH)
|
||||
IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_VERSION"
|
||||
MAJOR="${VERSION_PARTS[0]}"
|
||||
MINOR="${VERSION_PARTS[1]}"
|
||||
PATCH="${VERSION_PARTS[2]}"
|
||||
|
||||
# Проверка типа изменения по коммиту
|
||||
if [ $# -eq 1 ]; then
|
||||
VERSION_TYPE="$1"
|
||||
else
|
||||
# Автоопределение по последнему коммиту
|
||||
LAST_COMMIT=$(git log -1 --pretty=%B 2>/dev/null || echo "")
|
||||
|
||||
if echo "$LAST_COMMIT" | grep -qiE "^(feat|feature):"; then
|
||||
VERSION_TYPE="minor"
|
||||
elif echo "$LAST_COMMIT" | grep -qiE "^(fix|bugfix):"; then
|
||||
VERSION_TYPE="patch"
|
||||
elif echo "$LAST_COMMIT" | grep -qiE "^(BREAKING|major):"; then
|
||||
VERSION_TYPE="major"
|
||||
else
|
||||
VERSION_TYPE="patch"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Повышение версии
|
||||
case "$VERSION_TYPE" in
|
||||
major)
|
||||
MAJOR=$((MAJOR + 1))
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
;;
|
||||
minor)
|
||||
MINOR=$((MINOR + 1))
|
||||
PATCH=0
|
||||
;;
|
||||
patch|*)
|
||||
PATCH=$((PATCH + 1))
|
||||
;;
|
||||
esac
|
||||
|
||||
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
|
||||
|
||||
# Запись новой версии
|
||||
echo "$NEW_VERSION" > "$VERSION_FILE"
|
||||
|
||||
echo "📦 Версия обновлена: $CURRENT_VERSION → $NEW_VERSION"
|
||||
|
||||
# Добавление файла в git если мы в hook
|
||||
if [ -n "$GIT_INDEX_FILE" ]; then
|
||||
git add "$VERSION_FILE"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user