chore(workflow): 更新文档发布工作流配置

- 添加详细的中文注释说明工作流功能和配置项
- 修改触发条件支持标签推送和手动触发两种方式
- 配置工作流所需权限包括 contents、pages 和 id-token
- 更新并发控制配置格式并设置不允许取消进行中的任务
- 优化步骤命名从数字编号改为功能描述性名称
- 添加 Bun 缓存配置和工作目录指定
- 改进条件判断逻辑支持正式版本标签和手动触发
This commit is contained in:
GeWuYou 2026-02-11 13:50:16 +08:00 committed by gewuyou
parent 62fbfd41e1
commit 3791dc5b13

View File

@ -1,59 +1,79 @@
# 工作流名称Publish Docs (VitePress)
# 工作流名称Publish Docs
# 该工作流用于在推送标签或手动触发时构建并部署文档到 GitHub Pages
name: Publish Docs
# 触发条件配置
# 当推送以 'v' 开头的标签时触发,或者通过 GitHub UI 手动触发
on:
push:
tags:
- 'v*'
workflow_dispatch:
# 权限配置
# 配置工作流所需的权限:
# - contents: read读取仓库内容
# - pages: write写入 GitHub Pages
# - id-token: write写入身份令牌
permissions:
contents: read
pages: write
id-token: write
# 并发控制配置
# 设置并发组为 "pages",并且不允许取消正在进行的任务
concurrency:
group: "pages"
group: pages
cancel-in-progress: false
# 定义工作流中的任务
jobs:
# 构建和部署任务
build-and-deploy:
# 条件判断:仅当推送的是正式版本标签(不包含预发布标识)或手动触发时执行
if: |
(startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, '-'))
|| contains(github.event.head_commit.message, '[release doc]'))
|| github.event_name == 'workflow_dispatch'
# 指定运行环境为最新版 Ubuntu
runs-on: ubuntu-latest
# 环境配置
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# 步骤定义
steps:
# 1⃣ 拉取仓库代码
# 检出代码
- name: Checkout
uses: actions/checkout@v4
# 2⃣ 安装 Bun.js
- uses: oven-sh/setup-bun@v2
# 安装 Bun 运行时
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 2.1.x
# 3⃣ 安装依赖
- name: Install Dependencies
run: |
cd docs
bun install
# 4⃣ 构建 VitePress
- name: Build VitePress
run: |
cd docs
bun run build
cache: true
# 5⃣ 上传构建产物
# 安装项目依赖
- name: Install Dependencies
working-directory: docs
run: bun install
# 构建 VitePress 文档
- name: Build VitePress
working-directory: docs
run: bun run build
# 上传构建产物作为 Pages 部署工件
- name: Upload Pages Artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist
# 6⃣ 部署到 GitHub Pages
# 将文档部署到 GitHub Pages
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4