Some checks failed
Build and Deploy mdBook / build-and-deploy (push) Has been cancelled
添加缓存步骤来加速依赖安装,包括 apt 包和 mdBook 锁定 mdBook 版本以确保构建一致性 简化部署脚本并移除冗余注释
60 lines
2.1 KiB
YAML
60 lines
2.1 KiB
YAML
name: Build and Deploy mdBook
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
|
||
jobs:
|
||
build-and-deploy:
|
||
runs-on: docs-deployer
|
||
|
||
steps:
|
||
- name: Checkout repository
|
||
uses: actions/checkout@v3
|
||
|
||
# --- 缓存和安装 rsync ---
|
||
- name: Cache apt packages
|
||
uses: actions/cache@v3
|
||
with:
|
||
# 缓存 apt 的包存档
|
||
path: /var/cache/apt/archives
|
||
# 缓存的 key,基于操作系统和日期。每天会生成一个新的缓存。
|
||
key: ${{ runner.os }}-apt-${{ hashFiles('**/lockfiles') }}-${{ steps.get-date.outputs.date }}
|
||
restore-keys: |
|
||
${{ runner.os }}-apt-${{ hashFiles('**/lockfiles') }}-
|
||
- name: Install rsync
|
||
run: apt-get update && apt-get install -y rsync
|
||
|
||
# --- 缓存和安装 mdBook ---
|
||
- name: Cache mdBook
|
||
id: cache-mdbook
|
||
uses: actions/cache@v3
|
||
with:
|
||
# 定义一个专门存放 mdbook 的路径
|
||
path: ~/.local/bin/mdbook
|
||
# 缓存的 key,基于操作系统和 mdbook 的版本号
|
||
key: ${{ runner.os }}-mdbook-0.4.36 # 建议锁定一个具体版本
|
||
|
||
- name: Install mdBook
|
||
# 只有在上面的缓存步骤没有找到缓存时 (cache-hit is false),才执行此步骤
|
||
if: steps.cache-mdbook.outputs.cache-hit != 'true'
|
||
run: |
|
||
echo "mdBook cache not found, installing from release..."
|
||
# 从 GitHub release 下载指定版本的 mdbook
|
||
curl -sL https://github.com/rust-lang/mdBook/releases/download/v0.4.36/mdbook-v0.4.36-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C ~/.local/bin
|
||
# 确保它有执行权限
|
||
chmod +x ~/.local/bin/mdbook
|
||
|
||
# --- 构建与部署步骤保持不变 ---
|
||
- name: Build mdBook docs
|
||
run: ~/.local/bin/mdbook build
|
||
|
||
- name: Deploy to Gitea Pages Directory
|
||
run: |
|
||
TARGET_DIR="/mnt/gitea-pages/dao-os/dao-os-docs"
|
||
echo "🚀 Deploying to host via volume mount..."
|
||
mkdir -p "$TARGET_DIR"
|
||
rsync -a --delete ./book/ "$TARGET_DIR/"
|
||
echo "✅ Deployment successful!"
|