name: 部署 PR 到 Cloudflare Pages on: pull_request_target: types: [opened, synchronize, reopened, ready_for_review] paths: - 'docs/**' - 'package.json' - 'packages/**' jobs: deploy: runs-on: ubuntu-latest outputs: preview_url: ${{ steps.deploy.outputs.url }} steps: # 第一步:检出主仓库代码 - name: 检出主仓库代码 uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.base.ref }} fetch-depth: 0 # 第二步:检出 PR 修改的部分 - name: 检出 PR 修改的部分 run: | git fetch origin +refs/pull/${{ github.event.pull_request.number }}/merge git checkout -qf FETCH_HEAD # 第三步:安装 pnpm - name: 安装 pnpm uses: pnpm/action-setup@v4 # 第四步:安装依赖 - name: 安装依赖 run: pnpm install - name: 更新主题包 run: pnpm update @project-trans/vitepress-theme-project-trans@prerelease # 第五步:构建项目 - name: 构建项目 run: pnpm build # 构建 VitePress 项目 # 第六步:安装 Wrangler - name: 安装 Wrangler run: pnpm add -g wrangler@3 # 安装 Wrangler v3 # 第七步:发布到 Cloudflare Pages - name: 发布到 Cloudflare Pages id: deploy uses: cloudflare/pages-action@v1 with: apiToken: ${{ secrets.CLOUDFLARE_PAGES_TOKEN }} # Cloudflare Pages API Token accountId: ${{ secrets.CLOUDFLARE_PAGES_ACCOUNT }} # Cloudflare 账户 ID projectName: rle-wiki-preview # Cloudflare Pages 项目名称 directory: docs/.vitepress/dist # 构建输出目录 # 第八步:获取预览链接并发送到 PR comment_on_pr: needs: deploy uses: project-trans/actions/.github/workflows/comment-pr-preview-link.yml@main secrets: inherit with: previewUrl: ${{ needs.deploy.outputs.preview_url }}