Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/configs/amd-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@ kimik2.5-int4-mi300x-vllm:
- { tp: 8, conc-start: 4, conc-end: 64 }

kimik2.5-fp4-mi355x-vllm:
image: vllm/vllm-openai-rocm:v0.18.0
image: vllm/vllm-openai-rocm:v0.21.0
model: amd/Kimi-K2.5-MXFP4
model-prefix: kimik2.5
runner: mi355x
Expand Down
6 changes: 6 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2493,3 +2493,9 @@
- "Update image tag to vllm/vllm-openai:v0.20.2"
- "Add DEP configs for B300 vLLM MTP"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1271

- config-keys:
- kimik2.5-fp4-mi355x-vllm
description:
- "Update vLLM ROCm image from v0.18.0 to v0.21.0"
pr-link: XXX

Check failure on line 2501 in perf-changelog.yaml

View check run for this annotation

Claude / Claude Code Review

perf-changelog entry has placeholder XXX pr-link

The new perf-changelog entry sets `pr-link: XXX` instead of a real PR URL. Every other entry in the file uses the format `https://github.com/SemiAnalysisAI/InferenceX/pull/<num>`, so this should be `https://github.com/SemiAnalysisAI/InferenceX/pull/1407` (or the template form `/pull/XXX` that `utils/merge_with_reuse.sh` auto-rewrites). The bare `XXX` will land in main as a malformed entry and also breaks `merge_with_reuse.sh`'s `endswith('/$PR')` assertion on the auto-resolution path.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 The new perf-changelog entry sets pr-link: XXX instead of a real PR URL. Every other entry in the file uses the format https://github.com/SemiAnalysisAI/InferenceX/pull/<num>, so this should be https://github.com/SemiAnalysisAI/InferenceX/pull/1407 (or the template form /pull/XXX that utils/merge_with_reuse.sh auto-rewrites). The bare XXX will land in main as a malformed entry and also breaks merge_with_reuse.sh's endswith('/$PR') assertion on the auto-resolution path.

Extended reasoning...

What the bug is

The new entry added to perf-changelog.yaml at lines 2495-2501 sets pr-link: XXX — a bare literal placeholder rather than a GitHub PR URL. Every other entry in the file (100+ entries, e.g. lines 2476, 2482, 2488, 2495) follows the convention pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/<num>, and AGENTS.md (around lines 118-123) documents this format explicitly. The PR description references #1407, so the intended value is https://github.com/SemiAnalysisAI/InferenceX/pull/1407.

Why nothing catches it earlier

The Pydantic schema in utils/matrix_logic/validation.py:483 declares pr_link only as a required str — no URL pattern, no prefix check. So a bare XXX passes schema validation and the PR can land as-is.

Concrete impact on merge_with_reuse.sh

Walking through utils/merge_with_reuse.sh for this exact value:

  1. The auto-resolution path inspects the new block's pr-link. With pr-link: XXX, the check "XXX" in link is True, so the block is treated as a PR-side contribution that needs rewriting.
  2. The next step does block.replace("/pull/XXX", f"/pull/{pr}") — but the bare string XXX contains no /pull/XXX substring, so the replacement is a no-op and the literal XXX survives unchanged.
  3. The subsequent assertion last['pr-link'].endswith(f'/${PR}') then evaluates 'XXX'.endswith('/1407') → False, killing the merge script.

So even ignoring the cosmetic/data-quality issue, this bare placeholder actively breaks the documented auto-rebase tooling.

Downstream tooling

Beyond merge_with_reuse.sh, anything that parses pr-link to render a hyperlink (changelog rendering, dashboards) will produce a broken or non-clickable entry, since XXX is not a URL.

How to fix

Replace the bare XXX with the real PR URL:

  pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1407

Alternatively, use the documented template form https://github.com/SemiAnalysisAI/InferenceX/pull/XXX so that merge_with_reuse.sh can substitute the real PR number at merge time.