name: 构建并部署文档 on: push: branches: - main paths: - docs/** - mkdocs.yml - .github/workflows/docs.yml workflow_dispatch: permissions: contents: read jobs: deploy: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v6 - name: 配置 uv uses: astral-sh/setup-uv@v7 - name: 构建文档 run: uv run --frozen --only-group docs mkdocs build --strict --site-dir site - name: 整理发布目录 run: | mkdir -p public/anyimage cp -a site/. public/anyimage/ - name: 配置 Node.js uses: actions/setup-node@v6 with: node-version: "24" - name: 部署到 Cloudflare Workers env: CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_WORKER_NAME: ${{ vars.CLOUDFLARE_WORKER_NAME }} run: | test -n "$CLOUDFLARE_ACCOUNT_ID" test -n "$CLOUDFLARE_API_TOKEN" test -n "$CLOUDFLARE_WORKER_NAME" npx --yes wrangler@4 deploy \ --assets ./public \ --name "$CLOUDFLARE_WORKER_NAME" \ --compatibility-date 2026-08-19 \ --keep-vars \ --message "AnyImage docs $GITHUB_SHA" \ --autoconfig=false