Skip to content

Commit

Permalink
wip: attempt to handle github PR builds
Browse files Browse the repository at this point in the history
  • Loading branch information
russellb committed Nov 26, 2024
1 parent 30d33fa commit 2759bdd
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
3 changes: 2 additions & 1 deletion docs/requirements-docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ mistral_common >= 1.3.4
aiohttp
starlette
openai # Required by docs/source/serving/openai_compatible_server.md's vllm.entrypoints.openai.cli_args
partial-json-parser # Required by docs/source/serving/openai_compatible_server.md's vllm.entrypoints.openai.cli_args
partial-json-parser # Required by docs/source/serving/openai_compatible_server.md's vllm.entrypoints.openai.cli_args
requests
26 changes: 26 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import sys
from typing import List

import requests
from sphinx.ext import autodoc

logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -96,6 +97,19 @@ def setup(app):
generate_examples()


def get_repo_base_and_branch(pr_number):
url = f"https://api.github.com/repos/vllm-project/vllm/pulls/{pr_number}"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
base = data['base']['repo']['full_name']
branch = data['base']['ref']
return base, branch
else:
logger.error(f"Failed to fetch PR details: {response.status_code}")

Check failure on line 109 in docs/source/conf.py

View workflow job for this annotation

GitHub Actions / ruff (3.12)

Ruff (G004)

docs/source/conf.py:109:22: G004 Logging statement uses f-string
return None, None


def linkcode_resolve(domain, info):
if domain != 'py':
return None
Expand All @@ -104,14 +118,26 @@ def linkcode_resolve(domain, info):
filename = info['module'].replace('.', '/')
module = info['module']
try:
# try to determine the correct file and line number to link to
obj = sys.modules[module]
for part in info['fullname'].split('.'):
obj = getattr(obj, part)
lineno = inspect.getsourcelines(obj)[1]
filename = (inspect.getsourcefile(obj)
or f"{filename}.py").split("vllm/", 1)[1]

if filename.startswith("checkouts/"):
# a PR build on readthedocs
pr_number = filename.split("/")[1]
filename = filename.split("/", 2)[2]
base, branch = get_repo_base_and_branch(pr_number)
if base and branch:
return f"https://github.com/{base}/blob/{branch}/{filename}#L{lineno}"

# Otherwise, link to the source file on the main branch
return f"https://github.com/vllm-project/vllm/blob/main/{filename}#L{lineno}"
except Exception:
# last resort fallback, just try to point to the correct file on main
return f"https://github.com/vllm-project/vllm/blob/main/{filename}.py"


Expand Down

0 comments on commit 2759bdd

Please sign in to comment.