Skip to main content

Module _jobs

Module _jobs 

Source
Expand description

Defines top-level “job nodes” which can be composed when defining a flowey pipeline using [flowey::pipeline::prelude::PipelineJob::dep_on].

Modules§

all_good_job
(GitHub Actions only) Check that all dependent jobs prior to this job completed successfully, and in turn, succeeding / failing itself.
build_and_publish_openhcl_igvm_from_recipe
Builds and publishes an a set of OpenHCL IGVM files.
build_and_publish_openvmm_hcl_baseline
Builds and publishes an OpenHCL binary for size comparison with PRs.
build_and_run_doc_tests
Build and run the cargo test based doc tests.
build_and_run_nextest_unit_tests
Build and run the cargo-nextest based unit tests.
build_openhcl_igvm_from_recipe_nix
Composite job node that wires together Nix configuration and the OpenHCL IGVM build-and-publish step.
build_test_results_website
Build the test-results website using npm.
cfg_common
An amalgamated configuration node that streamlines the process of resolving the most common subset of shared configuration requests required by OpenVMM pipelines.
cfg_gh_azure_login
Configuration for Azure Login on Github Actions using federated credentials (OpenIDConnect).
cfg_hvlite_reposource
Configures the repo source required by crate::git_checkout_openvmm_repo
cfg_nix
A configuration node that resolves dependency paths from the Nix environment.
cfg_versions
An amalgamated configuration node that streamlines the process of resolving version configuration requests required by various dependencies in OpenVMM pipelines.
check_clippy
Ensure the OpenVMM repo is clippy clean.
check_distro_build
Ensure openvmm still builds the way a Linux distribution package builds it.
check_distro_build_from_checkout
Assemble the OpenVMM vendor archive and run the distribution-build gate in a single job.
check_openvmm_hcl_size
Compares the size of the OpenHCL binary in the current PR with the size of the binary from the last successful merge to the PR’s base branch.
check_xtask_fmt
Invoke xtask fmt
consolidate_and_publish_gh_pages
Consolidate various pre-built HTML artifacts (guide, docs, etc…), and glue them together into a single HTML bundle which can be published to openvmm.dev via gh pages.
consume_and_test_nextest_unit_tests_archive
Run a pre-built cargo-nextest based unit test archive.
consume_and_test_nextest_vmm_tests_archive
Run a pre-built cargo-nextest based VMM tests archive.
download_and_run_nextest_vmm_tests
Download pre-built artifacts and run cargo-nextest based VMM tests.
local_build_and_run_nextest_vmm_tests
A local-only job that builds everything needed and runs the VMM tests
local_build_and_run_vmm_perf
Build and run VMM.Perf locally.
local_build_igvm
A local-only job that supports the cargo xflowey build-igvm CLI
local_build_opentmk
A local-only job that supports the cargo xflowey build-opentmk CLI
local_check_cca_emu_prereq
To install CCA emulation environment, we need a few tools. This job checks their existence.
local_custom_vmfirmwareigvm_dll
local_install_cca_emu
Install CCA emulation environment. Now we only support using ARM’s Fixed Virtual Platform (FVP) as the emulator. The environment also contains a few essential firmwares in CCA stack, for example TF-A and TF-RMM. ARM has published an python based tool, ‘shrinkwrap’, to simply the deployment process, this installation use it as well.
local_restore_packages
local_run_cca_test
Run OpenVMM CCA tests. Now we run them using emulator, code can be tweaked to support running tests on native hardware platform.
local_run_nextest_vmm_tests
A local-only job that runs the VMM tests out of a directory populated by local_build_and_run_nextest_vmm_tests with the build_only option.
local_update_cca_emu
Update components in CCA emulation environment according to options specified.
publish_openvmm_gh_release
Create a tag and draft GitHub release for OpenVMM.
publish_vmgstool_gh_release
Publishes a GitHub release for VmgsTool
setup_and_run_vmm_perf
Set up, run, and publish a standalone VMM.Perf job.
test_local_flowey_build_igvm
Encapsulates the logic of invoking cargo xflowey build-igvm x64 --install-missing-deps