Repository navigation
build(release): package MIInfer v0.2.0 baseline - #3
Conversation
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The non-trivial CMake EXCLUDE_FROM_ALL build-graph logic determines exactly what ships in the release package, so a human should confirm release contents before approval despite no defects being found.
Review effort: Balanced
Findings: None
What changed in this PR
This PR packages the MIInfer v0.2.0 release by separating research/benchmark build targets from the standard release build, curating the installed file set, and hardening the package and first-run smoke tests. It supports the project's packaging milestone without changing any inference, kernel, numerical, or public CLI behavior.
Changes:
- Adds
MIINFER_BUILD_BENCHMARKS/MIINFER_BUILD_RESEARCH_TOOLS/MIINFER_BUILD_TESTSoptions and excludes bench/tools/non-release-test executables from the defaultalltarget, so a broken GCC‑16 benchmark no longer blockscmake --target package; also curates the install manifest to two binaries, installer, license, README, and three docs. - Strengthens
scripts/test-package.sh(exact file-manifest allowlist,--versionidentity checks, default-prefix + repeat-install verification, host-only CTest gate that skips before the archive exists) andscripts/test-cli-first-run.sh(/healthz+/v1/modelschecks,.gguf-strippedmodel_id, unauthenticated non-loopback rejection check). - Adds
docs/release.md, aV2-0047experiment record, and updatesREADME.md/developer-guide.md/graph output to match the new release/docs layout.
| File | Description |
|---|---|
CMakeLists.txt |
New build-graph options and EXCLUDE_FROM_ALL logic to isolate research targets; curated install list; registers package-archive CTest gate. |
scripts/test-package.sh |
Adds manifest allowlist, version/identity checks, default + repeat install verification, diagnostics-retaining cleanup, and SKIP-before-built behavior. |
scripts/test-cli-first-run.sh |
Adds /healthz and /v1/models assertions, stem-based model_id, and an unauthenticated LAN-serving rejection check. |
docs/release.md |
New install/build-from-source instructions and qualified V2‑0045 performance scope table. |
README.md |
Updates install steps (extract + run installer) and points to the new release/hardware/CLI docs. |
developer-guide.md |
Documents the new CMake build-graph options. |
experiments/V2-0047-release-packaging.md |
Records the packaging qualification evidence and verification transcript. |
graphify-out/manifest.json, graphify-out/GRAPH_REPORT.md |
Regenerated knowledge-graph artifacts reflecting the doc/build changes. |
I verified the key correctness points: the test-package.sh allowlist matches the curated install(...) destinations (share/doc/MIInfer/...), the version parse matches CPACK_PACKAGE_FILE_NAME for the gfx906/Linux target, the CMake exclusion regex relies on relative source paths (which all add_executable calls use) with correct exemptions for miinfer/miinfer-device-info/miinfer-m12-gdn-oracle, the model_id stem matches the server's std::filesystem::path(model_path).stem(), the /healthz//readyz response strings match the assertions, and the docs/release.md numbers match the V2-0045 qualification record. I found no concrete, objective defects to comment on.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Summary
Validation
experiments/V2-0047-release-packaging.md.919dd64c9603ab539d81b285928cfde3ca3a81f2.gpucore.3330886is intentionally excluded.