Skip to content

Commit 1c01d82

Browse files
benhillisOpenVMM TeamCopilot
authored
flowey: split openvmm-deps downloads for v0.3.0 artifact layout (#3483)
Adapts OSS flowey to consume the `microsoft/openvmm-deps` 0.3.0 release layout. Companion: **microsoft/openvmm-deps#62** (merged, [v0.3.0-29 released](https://github.com/microsoft/openvmm-deps/releases/tag/0.3.0-29)). ## openvmm-deps 0.3.0 artifacts Each release ships three `.tar.gz` artifacts per arch: | Artifact | Contents | | --- | --- | | `openvmm-deps.<arch>.<ver>.tar.gz` | sdk + dbgrd + shell + petritools | | `openvmm-test-initrd.<arch>.<ver>.tar.gz` | shared test guest-userland initrd | | `openvmm-test-linux-6.1.<arch>.<ver>.tar.gz` | 6.1 LTS test kernel: `vmlinux`/`Image`, `bzImage` (x86_64), final `config` | The Linux kernel + initrd here are a test payload only (Vtl0 `Example` recipe, Linux-direct VMM tests). Production OpenHCL kernels flow through `resolve_openhcl_kernel_package`. ## Nodes - **`resolve_openvmm_deps`** — fetches `openvmm-deps.<arch>.<ver>.tar.gz` and exposes individual files via `OpenvmmDepFile` (`OpenhclCpioDbgrd` / `OpenhclCpioShell` / `OpenhclSysroot` / `PetritoolsErofs`). - **`resolve_openvmm_test_initrd`** — fetches `openvmm-test-initrd.<arch>.<ver>.tar.gz` and returns the path to the `initrd` file. Parameterized by arch. - **`resolve_openvmm_test_linux_kernel`** — fetches `openvmm-test-linux-<kver>.<arch>.<ver>.tar.gz` and returns the path to a selected file via `OpenvmmTestKernelFile`: `Kernel` (the primary `vmlinux` on x86_64 / `Image` on aarch64) or `BzImage` (x86_64 only). Parameterized by `(file, arch, kver)`. Archive download + extraction is deduped on `(arch, kver)` so requesting both `Kernel` and `BzImage` from the same archive only extracts once. The `LinuxTestKernelVersion` enum currently contains just `Linux6_1`; `DEFAULT_LINUX_TEST_KERNEL_VERSION` is exported for callers that don't care which kernel they get. Future kernel lines are added by extending the enum. All three nodes accept either a `version` (download from the public GH release with `needs_auth: false`) or `local_paths` (use a pre-extracted directory on disk). ## Other changes - `flowey_lib_common::_util::extract::extract_tar_gz_if_new` — cached `.tar.gz` extract helper (`{root_dir}/.flowey_info/{filename}` tracks `file_version`, skip re-extract on match), mirroring the existing `extract_zip_if_new` / `extract_tar_bz2_if_new`. - `cfg_versions::OPENVMM_DEPS = "0.3.0-29"` drives the `version` config of all three resolve nodes. - `init_vmm_tests_env`, `init_openvmm_magicpath_openvmm_deps`, and `build_openhcl_igvm_from_recipe` request the kernel + initrd from the new nodes; the magicpath and vmm_tests_env consumers also request `BzImage` on x86_64. - Pipeline YAMLs regenerated. Co-authored-by: OpenVMM Team <openvmm@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 9a7dbd5 commit 1c01d82

13 files changed

Lines changed: 831 additions & 228 deletions

.github/workflows/openvmm-ci.yaml

Lines changed: 73 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)