Skip to content

Commit a7ad240

Browse files
committed
更新词库
0 parents  commit a7ad240

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+2673282
-0
lines changed

.github/workflows/nightly-release.yml

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Nightly Build dicts
2+
3+
on:
4+
workflow_dispatch: # 手动触发
5+
schedule:
6+
- cron: "0 14 * * *" # 每天晚上 10 点
7+
8+
concurrency: # 防止并发冲突
9+
group: nightly-release
10+
cancel-in-progress: true
11+
12+
jobs:
13+
nightly-release:
14+
runs-on: ubuntu-22.04
15+
16+
steps:
17+
# 检出代码
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
# 检查是否需要更新
22+
- name: Check if cn_dicts has changes
23+
id: check_changes
24+
run: |
25+
if git diff --quiet HEAD HEAD~1 -- cn_dicts; then
26+
echo "SKIP=true" >> $GITHUB_ENV
27+
else
28+
echo "SKIP=false" >> $GITHUB_ENV
29+
fi
30+
31+
# 条件跳过任务
32+
- name: Skip if no changes
33+
if: env.SKIP == 'true'
34+
run: echo "No changes detected in 'cn_dicts'. Skipping release process."
35+
36+
# 打包词库文件
37+
- name: Pack cn_dicts
38+
if: env.SKIP != 'true'
39+
run: |
40+
mkdir -p dist
41+
echo "Packing cn_dicts..."
42+
if [ -d "cn_dicts" ]; then
43+
zip -r dist/cn_dicts.zip cn_dicts
44+
echo "Packing completed: dist/cn_dicts.zip"
45+
else
46+
echo "Error: cn_dicts folder does not exist."
47+
exit 1
48+
fi
49+
50+
# 删除旧的 Release 和 Tag(如果存在)
51+
- name: Delete existing Nightly Release and Tag
52+
if: env.SKIP != 'true'
53+
uses: actions/github-script@v6
54+
with:
55+
github-token: ${{ secrets.GITHUB_TOKEN }}
56+
script: |
57+
const tag = "dict-nightly";
58+
try {
59+
// 检查现有的 Release
60+
const releases = await github.rest.repos.listReleases({
61+
owner: context.repo.owner,
62+
repo: context.repo.repo
63+
});
64+
65+
const existingRelease = releases.data.find(r => r.tag_name === tag);
66+
if (existingRelease) {
67+
console.log(`Deleting existing Release with ID: ${existingRelease.id}`);
68+
await github.rest.repos.deleteRelease({
69+
owner: context.repo.owner,
70+
repo: context.repo.repo,
71+
release_id: existingRelease.id
72+
});
73+
}
74+
75+
// 删除现有的 Tag
76+
console.log(`Deleting tag: ${tag}`);
77+
await github.rest.git.deleteRef({
78+
owner: context.repo.owner,
79+
repo: context.repo.repo,
80+
ref: `tags/${tag}`
81+
});
82+
} catch (error) {
83+
console.log(`Error deleting Release or Tag: ${error.message}`);
84+
}
85+
86+
# 确保删除后等待旧数据清理完成
87+
- name: Wait for cleanup
88+
if: env.SKIP != 'true'
89+
run: sleep 10
90+
91+
# 创建新的 Release
92+
- name: Create new Release
93+
if: env.SKIP != 'true'
94+
uses: "softprops/action-gh-release@v2"
95+
with:
96+
token: ${{ secrets.GITHUB_TOKEN }}
97+
tag_name: dict-nightly
98+
name: "每夜构建-词库更新"
99+
body: |
100+
- `cn_dicts.zip`:最新的中文词库文件。
101+
files: dist/cn_dicts.zip
102+
draft: false # 确保不是草稿
103+
prerelease: false # 确保不是预发布版本
104+
make_latest: true # 强制标记为最新版本

0 commit comments

Comments
 (0)