Crate flowey_lib_hvlite

Crate flowey_lib_hvlite 

Source
Expand description

flowey nodes specific to the HvLite project.

Modules§

_jobs
Defines top-level “job nodes” which can be composed when defining a flowey pipeline using [flowey::pipeline::prelude::PipelineJob::dep_on].
artifact_openhcl_igvm_from_recipe
Artifact: A collection of OpenHCL IGVM files.
artifact_openhcl_igvm_from_recipe_extras
Artifact: An artifact containing various “extras” that are generated as part of the OpenHCL IGVM build. e.g: debug symbols, constituent binaries, etc.
artifact_openvmm_hcl_sizecheck
Artifact: openhcl binary to use for PR binary size comparison
build_and_test_vmgs_lib
Builds and tests vmgs_lib library.
build_guest_test_uefi
Build guest_test_uefi images and binaries
build_guide
Build the OpenVMM Guide.
build_hypestv
Build hypestv binaries
build_igvmfilegen
Build igvmfilegen binaries
build_nextest_unit_tests
Build all cargo-nextest based unit-tests in the OpenVMM workspace.
build_nextest_vmm_tests
Build the cargo-nextest based VMM tests.
build_ohcldiag_dev
Build ohcldiag_dev binaries
build_openhcl_boot
Build openhcl_boot binaries
build_openhcl_igvm_from_recipe
Build an OpenHCL IGVM file using a particular known-good “recipe”, which encodes the precise features / build parameters used by each constituent component.
build_openhcl_initrd
Wrapper around update-rootfs.py
build_openvmm
Build openvmm binaries
build_openvmm_hcl
Build openvmm_hcl binaries (NOT IGVM FILES!)
build_pipette
Build pipette binaries
build_prep_steps
Build prep_steps binaries
build_rustdoc
Document crates in the hvlite repo using rustdoc (via cargo doc).
build_sidecar
Build sidecar binaries
build_test_igvm_agent_rpc_server
Build test_igvm_agent_rpc_server binaries
build_tmk_vmm
Build TMK binaries
build_tmks
Build TMK binaries
build_tpm_guest_tests
Build tpm_guest_tests binaries
build_vmfirmwareigvm_dll
Build an instance of vmfirmwareigvm.dll
build_vmgstool
Build vmgstool binaries
build_xtask
Build xtask binary
cfg_openvmm_magicpath
A node which returns a PathBuf to the “magic path” where OpenVMM code expects certain binary dependencies to be symlinked / extracted into.
cfg_rustup_version
A configuration node that configures the Rust toolchain version to use in OpenVMM pipelines. Having a separate node dedicated for this allows us to patch this node internally where the rustup toolchain is not available. This node also allows us to decouple the rustup version used in oss/internal.
download_openvmm_vmm_tests_artifacts
Download OpenVMM VMM test artifacts from Azure Blob Storage.
download_release_igvm_files_from_gh
download_uefi_mu_msvm
Download pre-built mu_msvm package from its GitHub Release.
git_checkout_openvmm_repo
Ensures that the OpenVMM repo is checked out, returning references to the repo’s clone directory.
init_cross_build
Install dependencies and set environment variables for cross compiling
init_openvmm_cargo_config_deny_warnings
Tweak .cargo/config.toml to deny warnings.
init_openvmm_magicpath_linux_test_kernel
Ensure the OpenVMM example linux kernel + initrd are extracted into the correct “magic directory” set by the project-level [env] table in .cargo/config.toml
init_openvmm_magicpath_openhcl_sysroot
Ensure the OpenHCL sysroot is extracted into the correct “magic directory” set by the project-level [env] table in .cargo/config.toml
init_openvmm_magicpath_protoc
Ensure protoc is symlinked into the correct “magic directory” set by the project-level [env] table in .cargo/config.toml
init_openvmm_magicpath_release_openhcl_igvm
init_openvmm_magicpath_uefi_mu_msvm
Ensure the mu_msvm MSVM.fd file is copied into the “magic directory” to automatically work in the context of the OpenVMM repo.
init_vmm_tests_env
Setup the environment variables and directory structure that the VMM tests require to run.
install_git_credential_manager
Globally install the git credential manager
install_openvmm_rust_build_essential
Globally install a set of dependencies required to build Rust code in the OpenVMM repo.
install_vmm_tests_deps
Hyper-V test pre-reqs
resolve_openhcl_kernel_package
Resolve OpenHCL kernel packages - either by downloading from GitHub Release or using local paths
resolve_openvmm_deps
Download various pre-built openvmm-deps dependencies, or use a local path if specified.
run_cargo_build
Returns well-formed cargo build invocations for building crates specifically in the the hvlite repo.
run_cargo_nextest_run
Run cargo-nextest tests in the context of the HvLite repo.
run_igvmfilegen
Raw bindings to igvmfilegen, used to build an igvm file from a manifest + set of resources.
run_prep_steps
Raw bindings to prep_steps, used to prepare test images before running tests.
run_split_debug_info
Splits debug info from a binary into a separate file using objcopy
run_test_igvm_agent_rpc_server
Start the test_igvm_agent_rpc_server before running VMM tests.
stop_test_igvm_agent_rpc_server
Stop the test_igvm_agent_rpc_server after VMM tests complete.
test_nextest_unit_tests_archive
Run cargo-nextest based unit tests from a pre-built archive.
test_nextest_vmm_tests_archive
Run cargo-nextest based VMM tests from a pre-built archive.