build: Python distribution for 0.2.0, preflight page path, port-note correction - #80
Merged
Merged
Conversation
…ence/ Two things ahead of tagging 0.2.0. PYTHON PACKAGE. Nothing in this repo ever built or published one -- the only pip invocation in release.yml installs Sphinx. `amd-infera` has never appeared on PyPI. The new `pypi` job builds sdist + wheel, checks the metadata, proves the artifact works, and attaches it to the Release. It needs no engine image and no overlay, so it does not depend on those jobs or gate them. Three things found by building it before writing the job: fetch-depth: 0 is required. setuptools_scm derives the version from `git describe`, and a shallow clone has no tags -- the wheel would come out 0.0.0 (the fallback_version) rather than the tag being released. No file needs a version bump: tagging v0.2.0 is what produces 0.2.0. twine check failed on missing long_description, so the PyPI page would have been blank. The repo has a README; it just was not wired up. `readme = "README.md"` fixes it, and twine check now passes clean. The sdist carried the whole repository. tests (180 files), examples (135), deploy (117), manual (53) and bench (45) together outnumbered the source it exists to ship. MANIFEST.in prunes them: 2.3 MB -> 1.2 MB, and the sdist top level is now infera plus metadata. The wheel was already clean (one top-level package, 162 files) and is unchanged. The job installs the built wheel into a fresh venv and runs each console script's --help. A broken entry point or a runtime dependency missing from `dependencies` is otherwise invisible until someone installs it. PyPI upload is skipped unless PYPI_API_TOKEN is set. amd-infera has never been published, so claiming the name is a deliberate decision rather than something a tag push should do by surprise -- and an absent token must not fail the release. Set the secret when you want it live. PREFLIGHT PAGE PATH. manual/tools/preflight.md was the only entry in the Reference section not under reference/; that was my own inconsistency from filing it as "a tool". Moved to manual/reference/preflight.md with its toc entry and inbound links updated. The remaining infera/tools/ strings on that page are source paths, not links, and stay. Signed-off-by: Zhang, Jiejing <jiejing.zhang@amd.com>
jiejingzhangamd
requested review from
JohnQinAMD,
limou102 and
xiaobochen-amd
as code owners
August 3, 2026 18:33
The GLM-5.2 header recorded 'No Address already in use' from the DP attention run, worded so it reads as 'main has this bug and we did not trip it'. Two things are wrong with that now. The run predates #79, which landed the randomised scan start in free_tcp_port_block on main -- the same fix #59 carried. So the risk is retired, not merely untriggered. And the observation proved less than the wording implied even at the time: that collision needs two engines on ONE host, and a cross-node PD pair cannot produce it. Recording a clean result from a topology that cannot fail the test reads as evidence when it is not. Both the manifest header and the README table now say this. Signed-off-by: Zhang, Jiejing <jiejing.zhang@amd.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ahead of tagging 0.2.0. Merge this before the tag — the package metadata fixes have to be in the commit the tag points at.
1. Python package
Nothing in this repo ever built or published one — the only
pipinvocation inrelease.ymlinstalls Sphinx, andamd-inferahas never appeared on PyPI. The newpypijob builds sdist + wheel, checks the metadata, proves the artifact works, and attaches it to the Release. It needs neither the engine images nor the overlay, so it does not depend on those jobs or gate them.Which pip packages are involved:
setuptools>=69,setuptools_scm[toml]>=8,wheel— already inbuild-system.requires, no actionbuild+twine— declared nowhere, so the job installs themgaie/sglang/vllm/atom/devFound by building it before writing the job
fetch-depth: 0is required. setuptools_scm derives the version fromgit describe; a shallow clone has no tags, so the wheel comes out0.0.0(thefallback_version) instead of the tag. This also means no file needs a version bump — taggingv0.2.0is what produces0.2.0.twine checkfailed on missinglong_description— the PyPI page would have been blank.readme = "README.md"fixes it.The sdist carried the whole repository.
tests(180 files),examples(135),deploy(117),manual(53),bench(45) together outnumbered the source.MANIFEST.inprunes them. The wheel was already clean and is unchanged.Trial build, with and without this PR
Built twice against a local throwaway
v0.2.0tag (deleted, never pushed):0.2.0✓0.2.0✓Installed into a clean venv both times: version correct, and
infera-preflight/infera-kvd-probe/infera-kvd-l3-benchall run.PyPI upload is opt-in
Skipped unless
PYPI_API_TOKENis set.amd-inferahas never been published, so claiming the name is a deliberate decision rather than a side effect of a tag push — and an absent token must not fail the release.2. Preflight page path
manual/tools/preflight.mdwas the only Reference entry not underreference/— my own inconsistency from filing it as "a tool". Moved, toc and inbound links updated. The remaininginfera/tools/strings on that page are source paths, not links.3. Port-collision note corrected
The GLM-5.2 header recorded "No
Address already in use" from the DP-attention run, worded so it reads as "main has this bug and we did not trip it". The run predates #79, which landed the randomised scan start on main (the same fix #59 carried) — the risk is retired, not untriggered. And the observation proved less than the wording implied anyway: that collision needs two engines on one host, which a cross-node PD pair cannot produce. Recording a clean result from a topology that cannot fail the test reads as evidence when it is not.Audit of the rest, for the record
No stale
mixed/orpd/path references after the rename; all 7 images referenced fromexamples/resolve 200 on Docker Hub; no dead internal links; manual builds with warnings-as-errors. The twoinfera-overlay:lateststrings indeploy/overlay/README.mdare a localdocker build -ttag, not a registry pull, so the 404 there is expected.