Repository navigation
doc: list every packaged guest artifact in the release layout - #456
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The documentation accurately reflects the artifact constants and release packaging logic.
0 open findings
What changed in this PR
Updates the build guide to match the current release packaging implementation.
Changes:
- Documents Azure Linux build outputs.
- Lists all Ubuntu and Azure Linux packaged artifacts.
- Clarifies packaging prerequisites, manifest hashes, and
--forcebehavior.
| File | Description |
|---|---|
doc/build.md |
Aligns guest build and release layout documentation with packaging behavior. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Summary
doc/build.mddescribed release packages as if they shipped only the Alpine guest. Since the Ubuntu and Azure Linux guests became release artifacts,scripts/nvx.py packagealso stages the Ubuntu initramfs, the Ubuntu EROFS distro layer, their manifests, and in binary-only packages the Azure Linux initramfs, and it requires these files to exist. This PR updates the release section of the build guide to match the packaging code, and lists the Azure Linux build outputs next to the Alpine and Ubuntu ones.Changes
All changes are in
doc/build.md.guest/vmlinux,vmlinux.config, and the Alpine initramfs and its manifestguest/initramfs-ubuntu.cpio.gzand its.packages.json,guest/ubuntu-distro.erofsand its.manifest.json, andguest/initramfs-azurelinux.cpio.gzand its.packages.jsonReleaseBuildConstants.GUEST_ARTIFACT_NAMESinscripts/nvx_tools/build_constants.py;package_releasecopies each name intoguest/(scripts/nvx_tools/release.py)SOURCE-MANIFEST.jsonhashes_packaged_source_manifestinscripts/nvx_tools/release.pywrites theubuntuhashes and, in binary-only packages, theazurelinuxhashesbuild-openvmmandbuild-guest --guest allfirst. A source-inclusive package does not need the Azure Linux artifacts._guest_release_inputsand_require_runtime_provenance_pathsinrelease.py;build_docker_artifactsmaps--guest allto theall-guest-artifactstarget indocker/Dockerfile;test_source_package_omits_azure_linux_artifactsinscripts/test_nvx_tools.pydist/version (new)--force_validate_release_replacementinrelease.py;python scripts/nvx.py package --helpbuild/initramfs-azurelinux.cpio.gzand its.packages.json, built only in Dockerbuild_docker_initramfsinscripts/nvx_tools/build.py,azurelinux-initramfs-artifactstarget indocker/Dockerfile,native_build_supported=Falseinscripts/nvx_tools/guests.pydoc/distribution.mdalready says that--include-sourcedrops the Azure Linux artifacts and theazurelinuxmanifest section. I didn't repeat that indoc/build.md.The design docs are unchanged, so there is no OpenVMM SHA to report. The base is
origin/devat75df18412a7b991c51e4511dc3da1502be218702.Follow-ups (out of scope)
scripts/setup/README.mdis documentation that lives outsidedoc/. It could move todoc/(for example, intodoc/setup.md), but open PR Adopt bind-once microVM image slots #406 modifiesdoc/setup.md, so I didn't touch it.doc/design/time-abi.md(around the CPU-profile restore rule) still says an explicit restore--cpu-profilemust name the recorded profile orhost, without mentioningauto. The doc: add CPU profiles and the RAM overlay to the configuration boundary #454 review noted that the pinned implementation acceptsautoon restore. Open PRs test-microvm: pause and resume a microVM through OpenVMM state control #405 and Adopt bind-once microVM image slots #406 modify that file, so I left it alone.Validation
python -m unittest scripts.test_nvx_tools.CliTests scripts.test_performance.PerformanceTests: 110 tests passed (1 skipped).doc/build.mdand the files that link to it (README.md,doc/benchmarks.md,doc/guests/ubuntu-guest.md,doc/project-structure.md,doc/usage.md): every relative link and anchor resolves,doc/build.mdhas one H1 and balanced code fences, anddoc/design.mdlinks every chapter indoc/design/.git diff --check: clean.python scripts\nvx.py verify: passed. Theopenvmmsubmodule HEAD matches the gitlinkf4566bab0a30324de0a2ac292a65d0081ba319e0.doc/(22 lines added, 4 removed), with no code, workflow, or gitlink changes. The file is not touched by any open PR.