Skip to content

测试 CI

测试 CI #26

name: 部署 PR 到 Cloudflare Pages
on:
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- 'docs/**'
- '.github/workflows/preview-pr-build.yaml'
- 'package.json'
- 'packages/**'
jobs:
deploy:
if: github.event.pull_request.draft == false
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 # 构建输出目录
comment_on_pr:
needs: deploy
uses: Leetfs-dev/CI-CD/.github/workflows/comment-pr-preview-link.yml@main
secrets: inherit
with:
previewUrl: ${{ needs.deploy.outputs.preview_url }}