ci: use peaceiris action for mdbook

Replace manual mdBook installation in CI and Pages workflows with peaceiris/actions-mdbook@v2 and keep a regression test to ensure the action stays in use.
This commit is contained in:
cydia2001
2026-03-11 02:11:27 +00:00
parent ac747b0026
commit 76a6ec062d
3 changed files with 20 additions and 21 deletions

View File

@@ -18,13 +18,10 @@ jobs:
with:
python-version: '3.10'
- name: Install Rust toolchain
run: |
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install mdBook
run: cargo install mdbook --locked
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Run mdBook regression tests
run: |
@@ -48,14 +45,11 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install Rust toolchain
run: |
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install mdBook
run: cargo install mdbook --locked
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Build Chinese HTML with mdBook
run: bash build_mdbook_zh.sh

View File

@@ -29,13 +29,10 @@ jobs:
with:
python-version: '3.10'
- name: Install Rust toolchain
run: |
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Install mdBook
run: cargo install mdbook --locked
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Run mdBook regression tests
run: |

View File

@@ -6,6 +6,7 @@ from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
WORKFLOW_PATH = REPO_ROOT / ".github" / "workflows" / "update_docs.yml"
CI_WORKFLOW_PATH = REPO_ROOT / ".github" / "workflows" / "main.yml"
class UpdateDocsWorkflowTests(unittest.TestCase):
@@ -19,6 +20,13 @@ class UpdateDocsWorkflowTests(unittest.TestCase):
self.assertIn("${{ steps.pages.outputs.base_url }}", workflow)
self.assertNotIn("git clone https://x-access-token:${DEPLOY_TOKEN}", workflow)
def test_workflows_use_peaceiris_mdbook_action(self) -> None:
for workflow_path in (WORKFLOW_PATH, CI_WORKFLOW_PATH):
workflow = workflow_path.read_text(encoding="utf-8")
self.assertIn("uses: peaceiris/actions-mdbook@v2", workflow, workflow_path.as_posix())
self.assertIn("mdbook-version: 'latest'", workflow, workflow_path.as_posix())
self.assertNotIn("cargo install mdbook --locked", workflow, workflow_path.as_posix())
if __name__ == "__main__":
unittest.main()