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: 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: 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_mdbook_mathjax.py' - name: Build English HTML with mdBook run: bash build_mdbook.sh - name: Build Chinese HTML with mdBook run: bash build_mdbook_zh.sh - name: Deploy to GitHub Pages 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 \ --en-source .mdbook/book \ --zh-source .mdbook-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 . git commit -m "deploy: update docs (en+zh) from openmlsys-zh@${{ github.sha }}" || echo "No changes to commit" git push