Skip to content

Commit 076830f

Browse files
authored
Update main.yml
1 parent 47ddc9d commit 076830f

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

.github/workflows/main.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434

3535
- name: 准备环境
3636
run: |
37-
mkdir -p source_repo
37+
mkdir -p source_repo patches
3838
echo "准备完成"
3939
4040
- name: 克隆源仓库
@@ -71,7 +71,7 @@ jobs:
7171
fi
7272
7373
# 创建输出目录
74-
OUTPUT_DIR="../patches"
74+
OUTPUT_DIR="../../patches"
7575
mkdir -p "$OUTPUT_DIR"
7676
PATCH_COUNT=0
7777
@@ -83,30 +83,42 @@ jobs:
8383
echo "已生成单个补丁文件: combined.patch"
8484
else
8585
echo "正在生成多个补丁文件..."
86-
# 仅在需要时获取更多历史
86+
# 检查是否需要获取更多历史
8787
if ! git merge-base --is-ancestor "$START_HASH" "$END_HASH" 2>/dev/null; then
8888
echo "提交范围不在当前克隆深度内,获取更多历史..."
89-
git fetch --unshallow || git fetch --depth=1000
89+
git fetch --depth=1000
9090
fi
9191
git format-patch "$START_HASH..$END_HASH" -o "$OUTPUT_DIR" --quiet
9292
PATCH_COUNT=$(ls -1 "$OUTPUT_DIR"/*.patch 2>/dev/null | wc -l)
9393
echo "已生成 $PATCH_COUNT 个补丁文件"
9494
fi
9595
9696
# 设置输出变量
97-
echo "patch_dir=$OUTPUT_DIR" >> $GITHUB_OUTPUT
97+
echo "patch_dir=../patches" >> $GITHUB_OUTPUT
9898
echo "patch_count=$PATCH_COUNT" >> $GITHUB_OUTPUT
9999
echo "patch_type=${{ github.event.inputs.patch_type }}" >> $GITHUB_OUTPUT
100100
101101
- name: 创建时间戳命名的 ZIP 文件
102102
id: create_zip
103103
run: |
104+
# 检查补丁目录是否存在
105+
if [ ! -d "patches" ]; then
106+
echo "::error::补丁目录不存在,请检查生成步骤"
107+
exit 1
108+
fi
109+
110+
# 检查是否有补丁文件
111+
if [ -z "$(ls -A patches)" ]; then
112+
echo "::error::补丁目录为空,没有生成补丁文件"
113+
exit 1
114+
fi
115+
104116
# 生成时间戳(年月日_时分秒)
105117
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
106118
ZIP_NAME="patch_$TIMESTAMP.zip"
107119
108120
# 创建 ZIP 文件
109-
cd ${{ steps.generate.outputs.patch_dir }}
121+
cd patches
110122
zip -r "../$ZIP_NAME" .
111123
cd ..
112124

0 commit comments

Comments
 (0)