mirror of
https://github.com/Wcowin/Mkdocs-Wcowin.git
synced 2025-07-20 08:56:35 +00:00
77 lines
3.0 KiB
YAML
77 lines
3.0 KiB
YAML
name: ci
|
||
on:
|
||
push:
|
||
branches:
|
||
- master
|
||
- main
|
||
# 禁止从 fork 仓库访问 secrets
|
||
pull_request:
|
||
types: [closed]
|
||
branches: [main, master]
|
||
permissions:
|
||
contents: write
|
||
jobs:
|
||
deploy:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 0
|
||
sparse-checkout: |
|
||
docs
|
||
includes
|
||
.ai_cache
|
||
- uses: actions/setup-python@v4
|
||
with:
|
||
python-version: 3.x
|
||
- name: Set cache ID
|
||
run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
||
- uses: actions/cache@v3
|
||
with:
|
||
key: mkdocs-material-${{ github.run_number }}
|
||
path: .cache
|
||
restore-keys: |
|
||
mkdocs-material-
|
||
- run: pip install mkdocs-git-revision-date-localized-plugin
|
||
- run: pip install mkdocs-git-authors-plugin
|
||
- run: pip install mkdocs-git-committers-plugin-2
|
||
- run: pip install markdown-callouts
|
||
- run: pip install mkdocs-rss-plugin
|
||
- run: pip install requests>=2.25.0
|
||
- run: pip install python-dateutil>=2.8.0
|
||
- run: pip install cachetools>=4.2.0
|
||
- run: pip install python-dotenv>=0.19.0
|
||
- run: pip install pymdown-extensions
|
||
- run: pip install mkdocs-material
|
||
- run: pip install --upgrade --force-reinstall mkdocs-material
|
||
- name: Deploy with AI Summary
|
||
env:
|
||
# AI摘要开关控制
|
||
AI_SUMMARY_CI_ENABLED: 'true' # CI部署环境启用AI摘要 (true=在CI中为文章生成AI摘要)
|
||
AI_SUMMARY_CI_ONLY_CACHE: 'true' # CI部署不生成新摘要 (true=使用本地部署过的摘要缓存,不再重复调用API)
|
||
AI_SUMMARY_CI_FALLBACK: 'true' # CI部署启用备用摘要 (true=API失败时生成离线基础摘要)
|
||
# AI_SUMMARY_LOCAL_ENABLED: 'false' # 本地部署环境禁用AI摘要 (true=本地开发时也生成摘要)(不需要管这条)
|
||
# AI_SUMMARY_CACHE_ENABLED: 'true' # 本地启用缓存功能 (true=缓存摘要避免重复生成)(不需要管这条)
|
||
# API密钥配置
|
||
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
|
||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||
run: mkdocs gh-deploy --force
|
||
|
||
# 自动提交新生成的AI缓存文件
|
||
- name: Auto-commit AI cache (if any new files)
|
||
run: |
|
||
if [ -d ".ai_cache" ] && [ "$(ls -A .ai_cache 2>/dev/null)" ]; then
|
||
git config --local user.email "action@github.com"
|
||
git config --local user.name "GitHub Action"
|
||
git add .ai_cache/
|
||
if ! git diff --cached --quiet; then
|
||
git commit -m "🤖 Auto-update AI summary cache [skip ci]"
|
||
git push
|
||
echo "✅ 自动提交了新的 AI 缓存文件"
|
||
else
|
||
echo "ℹ️ 没有新的缓存文件需要提交"
|
||
fi
|
||
else
|
||
echo "ℹ️ 没有找到缓存目录或缓存为空"
|
||
fi
|