Nightly Build dicts #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nightly Build dicts | |
on: | |
workflow_dispatch: # 手动触发 | |
schedule: | |
- cron: "0 14 * * *" # 每天晚上 10 点 | |
# - cron: "0 14 * * 1" #一周一次 | |
jobs: | |
nightly-release: | |
runs-on: ubuntu-22.04 | |
steps: | |
# 检出代码 | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# 打包词库文件 | |
- name: Pack cn_dicts | |
run: | | |
mkdir -p dist | |
echo "Packing cn_dicts..." | |
if [ -d "cn_dicts" ]; then | |
zip -r dist/cn_dicts.zip cn_dicts | |
echo "Packing completed: dist/cn_dicts.zip" | |
else | |
echo "Error: cn_dicts folder does not exist." | |
exit 1 | |
fi | |
# 删除旧的 Release 和 Tag(如果存在) | |
- name: Delete existing Nightly Release | |
continue-on-error: true # 忽略删除失败的错误 | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const tag = "dict-nightly"; | |
try { | |
// 检查现有的 Release | |
const releases = await github.rest.repos.listReleases({ | |
owner: context.repo.owner, | |
repo: context.repo.repo | |
}); | |
const existingRelease = releases.data.find(r => r.tag_name === tag); | |
if (existingRelease) { | |
console.log(`Deleting existing Release with ID: ${existingRelease.id}`); | |
await github.rest.repos.deleteRelease({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
release_id: existingRelease.id | |
}); | |
} else { | |
console.log("No existing Release found."); | |
} | |
// 删除现有的 Tag | |
console.log(`Deleting tag: ${tag}`); | |
await github.rest.git.deleteRef({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
ref: `tags/${tag}` | |
}); | |
} catch (error) { | |
console.log(`Error deleting Release or Tag: ${error.message}`); | |
} | |
# 创建新的 Release | |
- name: Create new Release | |
uses: "softprops/action-gh-release@v2" | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: dict-nightly | |
name: "每夜构建-词库更新" | |
body: | | |
- `cn_dicts.zip`:最新的中文词库文件。 | |
files: dist/cn_dicts.zip | |
make_latest: true # 强制标记为最新版本 | |