Skip to content

Commit 002cc0f

Browse files
committed
👷 CI: Update project version and bump workflow configuration
1 parent 8287b4a commit 002cc0f

2 files changed

Lines changed: 27 additions & 34 deletions

File tree

.github/workflows/pro-bump.yaml

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,46 +20,39 @@ jobs:
2020
token: ${{ secrets.GITHUB_TOKEN }}
2121
- name: 更新版本号
2222
run: |
23-
2423
# 读取配置文件路径
2524
projectFile=$(find $(pwd) ! -path "*Resources*" -type f -name "*.pbxproj" | head -n 1)
26-
27-
# 读取文件中的版本号
28-
version=$(grep -o 'MARKETING_VERSION = [^"]*' $projectFile | head -n 1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
29-
30-
echo "旧版本号->$version"
31-
32-
# 将版本号拆分为数组
33-
IFS='.' read -r -a versionArray <<< "$version"
34-
35-
# 递增最后一位数字
36-
((versionArray[2]++))
37-
38-
# 重新组合版本号
39-
newVersion="${versionArray[0]}.${versionArray[1]}.${versionArray[2]}"
40-
41-
echo "新版本号->$newVersion"
42-
43-
# 新版本号写入文件
44-
echo "新版本号将要写入文件->$projectFile"
45-
46-
sed -i '' "s/MARKETING_VERSION = $version/MARKETING_VERSION = $newVersion/" "$projectFile"
47-
48-
updatedVersion=$(grep -o 'MARKETING_VERSION = [^"]*' $projectFile | head -n 1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
49-
echo "更新后的版本号->$updatedVersion"
25+
echo "项目文件: $projectFile"
26+
27+
# 显示当前版本号
28+
echo "=== 当前版本号 ==="
29+
grep -n "MARKETING_VERSION" "$projectFile"
30+
31+
# 使用perl一次性更新所有MARKETING_VERSION,将patch版本+1
32+
perl -i -pe '
33+
if (/^(\s*)MARKETING_VERSION = (\d+)\.(\d+)\.(\d+);/) {
34+
$indent = $1;
35+
$major = $2;
36+
$minor = $3;
37+
$patch = $4 + 1;
38+
$_ = "${indent}MARKETING_VERSION = $major.$minor.$patch;\n";
39+
}
40+
' "$projectFile"
41+
42+
# 显示更新后的版本号
43+
echo "=== 更新后的版本号 ==="
44+
grep -n "MARKETING_VERSION" "$projectFile"
5045
5146
git status
5247
- name: 生成标签
5348
run: |
54-
5549
# 读取配置文件路径
5650
projectFile=$(find $(pwd) ! -path "*Resources*" -type f -name "*.pbxproj" | head -n 1)
5751
58-
# 读取文件中的版本号
59-
version=$(grep -o 'MARKETING_VERSION = [^"]*' $projectFile | head -n 1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
60-
61-
echo "版本号->$version"
52+
# 读取主应用版本号(第一个找到的版本号)
53+
version=$(grep -o 'MARKETING_VERSION = [0-9]\+\.[0-9]\+\.[0-9]\+' "$projectFile" | head -n 1 | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
6254
55+
echo "主应用版本号: $version"
6356
echo "tag=v$version" >> $GITHUB_ENV
6457
- name: 打标签并推送到仓库
6558
uses: stefanzweifel/git-auto-commit-action@v4

TravelMode.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@
336336
"@executable_path/../../../../Frameworks",
337337
);
338338
MACOSX_DEPLOYMENT_TARGET = 15.0;
339-
MARKETING_VERSION = 2.3.5;
339+
MARKETING_VERSION = 2.3.6;
340340
PRODUCT_BUNDLE_IDENTIFIER = com.yueyi.TravelMode.Extension;
341341
PRODUCT_NAME = "$(PRODUCT_BUNDLE_IDENTIFIER)";
342342
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -362,7 +362,7 @@
362362
"@executable_path/../../../../Frameworks",
363363
);
364364
MACOSX_DEPLOYMENT_TARGET = 15.0;
365-
MARKETING_VERSION = 2.3.5;
365+
MARKETING_VERSION = 2.3.6;
366366
PRODUCT_BUNDLE_IDENTIFIER = com.yueyi.TravelMode.Extension;
367367
PRODUCT_NAME = "$(PRODUCT_BUNDLE_IDENTIFIER)";
368368
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -524,7 +524,7 @@
524524
"@executable_path/../Frameworks",
525525
);
526526
MACOSX_DEPLOYMENT_TARGET = 15.0;
527-
MARKETING_VERSION = 2.3.3;
527+
MARKETING_VERSION = 2.3.4;
528528
PRODUCT_BUNDLE_IDENTIFIER = com.yueyi.TravelMode;
529529
PRODUCT_NAME = "$(TARGET_NAME)";
530530
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -556,7 +556,7 @@
556556
"@executable_path/../Frameworks",
557557
);
558558
MACOSX_DEPLOYMENT_TARGET = 15.0;
559-
MARKETING_VERSION = 2.3.3;
559+
MARKETING_VERSION = 2.3.4;
560560
PRODUCT_BUNDLE_IDENTIFIER = com.yueyi.TravelMode;
561561
PRODUCT_NAME = "$(TARGET_NAME)";
562562
PROVISIONING_PROFILE_SPECIFIER = "";

0 commit comments

Comments
 (0)