From 72fbf3c94c07be4a52c63778fd69ea3447cdf2c8 Mon Sep 17 00:00:00 2001 From: chenwj Date: Tue, 3 Sep 2024 16:58:54 +0800 Subject: [PATCH] init project --- python/pre-commit | 40 ++++++++++++++++++++++++++++++++++++++++ rust/pre-commit | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 python/pre-commit create mode 100644 rust/pre-commit diff --git a/python/pre-commit b/python/pre-commit new file mode 100644 index 0000000..5b9760c --- /dev/null +++ b/python/pre-commit @@ -0,0 +1,40 @@ +#!/bin/sh + +FILE="pyproject.toml" +# 检查 pyproject.toml 是否被修改 +VERSION_CHANGED=$(git diff --cached "$FILE" | grep -E '^\+version =') +if [ -n "$VERSION_CHANGED" ]; then + echo "pyproject.toml 文件中的版本号已被修改,无需手动更新版本号。" + exit 0 +fi +# 读取当前版本号 +CURRENT_VERSION=$(grep -E '^version' $FILE | awk -F'"' '{print $2}') +echo "current version: $CURRENT_VERSION" + +# 检查是否找到版本号 +if [ -z "$CURRENT_VERSION" ]; then + echo "Error: version field not found in $FILE." + exit 1 +fi + +# 将版本号分解为主版本号、次版本号和修订号 +MAJOR=$(echo $CURRENT_VERSION | cut -d '.' -f1) +MINOR=$(echo $CURRENT_VERSION | cut -d '.' -f2) +PATCH=$(echo $CURRENT_VERSION | cut -d '.' -f3) + +# 自动加一修订号 +PATCH=$((PATCH + 1)) + +# 构造新的版本号 +NEW_VERSION="$MAJOR.$MINOR.$PATCH" +echo "new version: $NEW_VERSION" + +# 使用 sed 命令更新版本号 +sed -i.bak "s/\(version = \"\)[^\"]*\(\"\)/\1$NEW_VERSION\2/" "$FILE" +rm "${FILE}.bak" + +# 将修改添加到暂存区 +git add "$FILE" + +# 提醒用户版本号已更新 +echo "Version incremented to $NEW_VERSION" \ No newline at end of file diff --git a/rust/pre-commit b/rust/pre-commit new file mode 100644 index 0000000..8662b54 --- /dev/null +++ b/rust/pre-commit @@ -0,0 +1,47 @@ +#!/bin/sh + +FILE="Cargo.toml" +# 检查 pyproject.toml 是否被修改 +VERSION_CHANGED=$(git diff --cached "$FILE" | grep -E '^\+version =') +if [ -n "$VERSION_CHANGED" ]; then + echo "Cargo.toml 文件中的版本号已被修改,无需手动更新版本号。" + exit 0 +fi +LOCK_FILE="Cargo.lock" +# 读取当前版本号 +CURRENT_VERSION=$(grep -E '^version' $FILE | awk -F'"' '{print $2}') +echo "current version: $CURRENT_VERSION" + +# 检查是否找到版本号 +if [ -z "$CURRENT_VERSION" ]; then + echo "Error: version field not found in $FILE." + exit 1 +fi + +# 将版本号分解为主版本号、次版本号和修订号 +MAJOR=$(echo $CURRENT_VERSION | cut -d '.' -f1) +MINOR=$(echo $CURRENT_VERSION | cut -d '.' -f2) +PATCH=$(echo $CURRENT_VERSION | cut -d '.' -f3) + +# 自动加一修订号 +PATCH=$((PATCH + 1)) + +# 构造新的版本号 +NEW_VERSION="$MAJOR.$MINOR.$PATCH" +echo "new version: $NEW_VERSION" + +# 使用 sed 命令更新版本号 +sed -i.bak "s/\(^version = \"\)[^\"]*\(\"\)/\1$NEW_VERSION\2/" "$FILE" +rm "${FILE}.bak" +cargo update + +# 将修改添加到暂存区 +git add "$FILE" +git add "$LOCK_FILE" + +# 提醒用户版本号已更新 +echo "Version incremented to $NEW_VERSION" +# img build -t hub.airpig.cn/library/sched_task:$NEW_VERSION . +# img push hub.airpig.cn/library/sched_task:$NEW_VERSION +# img rmi hub.airpig.cn/library/sched_task:$NEW_VERSION +# echo "镜像已更新" \ No newline at end of file