name: Build and Deploy Dao OS Docs on: push: branches: - main # 当推送到 main 分支时触发 jobs: build-and-deploy: runs-on: ubuntu-latest # 或者你的 Gitea Actions 运行器 steps: - name: Checkout repository uses: actions/checkout@v4 # 使用最新的 checkout action # 新增:安装 Rust 工具链 - name: Setup Rust toolchain uses: actions-rs/toolchain@v1 # 使用 actions-rs/toolchain 来安装 Rust with: toolchain: stable # 安装稳定版 Rust profile: minimal # 安装最小化配置文件,只包含 cargo 和 rustc,下载更快 override: true # 确保这个 Rust 版本被设置为默认 - name: Install mdBook run: | cargo install mdbook --locked --no-default-features # 只安装 mdbook,不安装额外特性以加速 - name: Build mdBook run: mdbook build # 构建文档到默认的 'book' 目录 - name: Deploy to Gitea Pages # 这里需要以 root 权限访问 Gitea PAGES_ROOT # 实际部署时可能需要 SSH 密钥、或 Gitea Runner 特殊权限, # 或者 Gitea Actions 提供了官方的 Pages 部署 action # 假设你的 Gitea Runner 有权限写入 /root/gitea/gitea/data/pages/dao-os/dao-os-docs/ run: | # 清理旧的 docs 目录 sudo rm -rf /root/gitea/gitea/data/pages/dao-os/dao-os-docs/* # 复制新构建的文档 sudo cp -r book/* /root/gitea/gitea/data/pages/dao-os/dao-os-docs/ env: # 你可能需要在这里配置 SSH 密钥或其他凭据,以便 Gitea Runner 有权限写入目标目录 # GITEA_SSH_KEY: ${{ secrets.GITEA_SSH_KEY }} # 确保 Gitea Runner 运行用户拥有 /root/gitea/gitea/data/pages/ 的写入权限 # 或者,如果你使用官方的 Pages 部署 action,则无需手动 cp