chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
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
|
||||
Reference in New Issue
Block a user