[UPDATE] Wiki/Doc #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Docs — Reference Drift Check | |
| # Fails a PR if the committed /website/docs/reference/ output disagrees | |
| # with what tools/generate_docs_reference.py would produce from the live | |
| # Python tool/resource registry. Contributors should regenerate locally: | |
| # | |
| # cd Server && uv run python ../tools/generate_docs_reference.py | |
| # | |
| # or install the pre-commit hook to make this automatic: | |
| # | |
| # tools/install-hooks.sh | |
| on: | |
| pull_request: | |
| branches: [beta, main] | |
| paths: | |
| - Server/src/services/tools/** | |
| - Server/src/services/resources/** | |
| - Server/src/services/registry/** | |
| - website/docs/reference/** | |
| - tools/generate_docs_reference.py | |
| - .github/workflows/docs-generate.yml | |
| push: | |
| branches: [beta] | |
| paths: | |
| - Server/src/services/tools/** | |
| - Server/src/services/resources/** | |
| - Server/src/services/registry/** | |
| - website/docs/reference/** | |
| - tools/generate_docs_reference.py | |
| - .github/workflows/docs-generate.yml | |
| workflow_dispatch: {} | |
| jobs: | |
| check: | |
| name: Check docs reference is fresh | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| version: latest | |
| - name: Set up Python | |
| run: uv python install 3.10 | |
| - name: Sync Server deps | |
| working-directory: Server | |
| run: uv sync | |
| - name: Drift check | |
| working-directory: Server | |
| run: uv run python ../tools/generate_docs_reference.py --check | |
| - name: Tool-count sanity | |
| run: | | |
| set -euo pipefail | |
| # Match the decorator at start-of-line (skips imports and docstring mentions). | |
| decorator_count=$(grep -rhE "^@mcp_for_unity_tool\(" Server/src/services/tools/ | wc -l | tr -d ' ') | |
| # md_count excludes group landing pages (index.md) and the catalog root. | |
| md_count=$(find website/docs/reference/tools -name '*.md' -not -name 'index.md' | wc -l | tr -d ' ') | |
| echo "decorator_count=$decorator_count, md_count=$md_count" | |
| if [[ "$decorator_count" != "$md_count" ]]; then | |
| echo "Mismatch: $decorator_count @mcp_for_unity_tool decorators vs $md_count reference pages." >&2 | |
| echo "Run: cd Server && uv run python ../tools/generate_docs_reference.py" >&2 | |
| exit 1 | |
| fi |