Files
openmlsys-zh/.github/workflows/update_docs.yml
Yeqi Huang 9c0439f424 fix(v1-en): repair missing figures and section pages in English edition (#506)
- Remap 129 broken image paths in v1/en_chapters to the files that exist
  under v1/img (old chapter numbering, renamed files, and .pdf figures
  that browsers cannot display inline).
- Restore ch07/7.5/distribute.png and ch08/distillation.png, which were
  dropped in #499 because the `dist*` .gitignore rule matched them;
  narrow the rule to `/dist/`.
- Fix the English toc blocks: chapter entries now point at real files and
  the root toc has part headings, so section pages are built again
  (previously only chapter index pages were generated).
- Add tests/test_image_references.py to CI to catch missing or
  unrenderable figure references.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 01:57:57 +00:00

74 lines
2.3 KiB
YAML

name: Deploy Docs
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: 'latest'
- name: Run mdBook regression tests
run: |
python3 -m unittest discover -s tests -p 'test_prepare_mdbook.py'
python3 -m unittest discover -s tests -p 'test_prepare_mdbook_zh.py'
python3 -m unittest discover -s tests -p 'test_assemble_docs_publish_tree.py'
python3 -m unittest discover -s tests -p 'test_ensure_book_resources.py'
python3 -m unittest discover -s tests -p 'test_image_references.py'
- name: Build v2 (EN + ZH) with mdBook
run: bash build_mdbook_v2.sh
- name: Build v1 (EN + ZH) with mdBook
run: bash build_mdbook_v1.sh
- name: Verify build outputs
run: |
for d in .mdbook-v2/book .mdbook-v2-zh/book .mdbook-v1/book .mdbook-v1-zh/book; do
if [ ! -f "$d/index.html" ]; then
echo "ERROR: $d/index.html not found"
exit 1
fi
echo "OK: $d/index.html exists"
done
- name: Assemble and deploy to openmlsys.github.io
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
run: |
git clone https://x-access-token:${DEPLOY_TOKEN}@github.com/openmlsys/openmlsys.github.io.git
python3 tools/assemble_docs_publish_tree.py \
--destination-root openmlsys.github.io \
--docs-subdir docs \
--v2-en-source .mdbook-v2/book \
--v2-zh-source .mdbook-v2-zh/book \
--v1-en-source .mdbook-v1/book \
--v1-zh-source .mdbook-v1-zh/book
cd openmlsys.github.io
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add docs
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "deploy: update docs from ${GITHUB_REPOSITORY}@${GITHUB_SHA}"
git push
fi