From 9216d91342e417d4b312d63d404685adb0d567ce Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Fri, 21 Aug 2026 15:40:27 +0200 Subject: [PATCH 1/7] boot from vmgstool-created vmgs integration test --- Cargo.lock | 2 + .../src/pipelines/checkin_gates.rs | 21 +++-- .../src/pipelines/vmm_tests_run.rs | 5 ++ flowey/flowey_lib_hvlite/Cargo.toml | 1 + .../_jobs/local_custom_vmfirmwareigvm_dll.rs | 2 + .../src/build_vmfirmwareigvm_dll.rs | 20 +++++ openhcl/vmfirmwareigvm_dll/build.rs | 8 ++ openhcl/vmfirmwareigvm_dll/resources.rc | 2 +- .../src/lib.rs | 13 ++++ vmm_tests/petri_artifacts_vmm_test/src/lib.rs | 13 ++++ vmm_tests/vmm_tests/Cargo.toml | 1 + .../vmm_tests/tests/tests/multiarch/vmgs.rs | 76 +++++++++++++++++++ 12 files changed, 157 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7629b226eaa..8d8756429f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2378,6 +2378,7 @@ dependencies = [ "log", "opentmk_disk", "paste", + "petri_artifacts_vmm_test", "powershell_builder", "serde", "serde_json", @@ -10914,6 +10915,7 @@ dependencies = [ "vfio_assigned_device_resources", "virtio_resources", "vm_resource", + "vmgs_format", "vmgs_resources", "vmm_test_igvm_agent", "vmm_test_macros", diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 2b8cfb35a74..fd885d690e0 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -1406,12 +1406,21 @@ impl IntoPipeline for CheckinGatesCli { .map_err(|missing| { anyhow::anyhow!("missing required windows-amd vmm_tests artifact: {missing}") })?; - let vmm_tests_artifacts_windows_amd_snp_x86 = vmm_tests_artifacts_windows_x86 - .clone() - .finish() - .map_err(|missing| { - anyhow::anyhow!("missing required windows-amd-snp vmm_tests artifact: {missing}") - })?; + let vmm_tests_artifacts_windows_amd_snp_x86: ResolveVmmTestsDepArtifacts = { + let resolve = vmm_tests_artifacts_windows_x86 + .clone() + .finish() + .map_err(|missing| { + anyhow::anyhow!( + "missing required windows-amd-snp vmm_tests artifact: {missing}" + ) + })?; + Box::new(move |ctx| { + let mut artifacts = resolve(ctx); + artifacts.vmfirmwareigvm_cvm_x64_source = artifacts.openhcl_cvm.clone(); + artifacts + }) + }; let vmm_tests_artifacts_linux_mshv_x86 = vmm_tests_artifacts_linux_musl_x86 .finish() .map_err(|missing| { diff --git a/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs b/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs index 23f3cc7b1a8..5ebd044079a 100644 --- a/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs +++ b/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs @@ -823,6 +823,11 @@ impl ResolvedArtifactSelections { self.build.vmgstool_dev = true; } + petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64::GLOBAL_UNIQUE_ID => { + self.build.vmfirmwareigvm_cvm_x64 = true; + self.build.openhcl_cvm = true; + } + // TPM guest tests petri_artifacts_vmm_test::artifacts::guest_tools::TPM_GUEST_TESTS_WINDOWS_X64::GLOBAL_UNIQUE_ID => { self.build.tpm_guest_tests_windows = true; diff --git a/flowey/flowey_lib_hvlite/Cargo.toml b/flowey/flowey_lib_hvlite/Cargo.toml index 62db9bd558c..06187aec892 100644 --- a/flowey/flowey_lib_hvlite/Cargo.toml +++ b/flowey/flowey_lib_hvlite/Cargo.toml @@ -13,6 +13,7 @@ flowey_lib_common.workspace = true powershell_builder.workspace = true igvmfilegen_config.workspace = true opentmk_disk.workspace = true +petri_artifacts_vmm_test.workspace = true vmm_test_images = { workspace = true, features = ["serde"] } anyhow.workspace = true diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs index 0360bcdae15..97152997c9f 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs @@ -35,6 +35,8 @@ impl SimpleFlowNode for Node { let built_dll = ctx.reqv(|v| crate::build_vmfirmwareigvm_dll::Request { arch, igvm_bin: ReadVar::from_static(igvm_payload), + // custom-vmfirmwareigvm-dll pipeline uses resource ID 1. + resource_id: 1, // fixed version to signal that this is a custom dll dll_version: ReadVar::from_static((1, 0, 1337, 0)), internal_dll_name: "vmfirmwareigvm.dll".into(), diff --git a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs index 67b88c5816a..3a90f798e97 100644 --- a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs @@ -6,6 +6,7 @@ use crate::common::CommonArch; use crate::common::CommonTriple; use flowey::node::prelude::*; +use petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64_FILE_NAME; use std::collections::BTreeMap; #[derive(Serialize, Deserialize)] @@ -20,6 +21,8 @@ flowey_request! { pub struct Request { pub arch: CommonArch, pub igvm_bin: ReadVar, + /// ID to store the IGVM under within the `VMFW` resource type. + pub resource_id: u32, /// (major, minor, patch, revision) pub dll_version: ReadVar<(u16, u16, u16, u16)>, pub internal_dll_name: String, @@ -27,6 +30,21 @@ flowey_request! { } } +/// Builds the x64 CVM resource DLL under the SNP resource ID for the VMGS boot test. +pub fn cvm_x64_test_dll( + ctx: &mut NodeCtx<'_>, + igvm_bin: ReadVar, +) -> ReadVar { + ctx.reqv(|v| Request { + arch: CommonArch::X86_64, + igvm_bin, + resource_id: 13515, + dll_version: ReadVar::from_static((0, 0, 0, 0)), + internal_dll_name: LATEST_CVM_X64_FILE_NAME.into(), + vmfirmwareigvm_dll: v, + }) +} + new_simple_flow_node!(struct Node); impl SimpleFlowNode for Node { @@ -40,6 +58,7 @@ impl SimpleFlowNode for Node { let Request { arch, igvm_bin, + resource_id, internal_dll_name, dll_version, vmfirmwareigvm_dll, @@ -66,6 +85,7 @@ impl SimpleFlowNode for Node { .to_string() .replace('\\', "/"), ); + extra_env.insert("UH_RESOURCE_ID".into(), resource_id.to_string()); let (major, minor, patch, revision) = rt.read(dll_version); extra_env.insert("UH_MAJOR".into(), major.to_string()); extra_env.insert("UH_MINOR".into(), minor.to_string()); diff --git a/openhcl/vmfirmwareigvm_dll/build.rs b/openhcl/vmfirmwareigvm_dll/build.rs index 1bed5a7cbda..ddfc6c2c034 100644 --- a/openhcl/vmfirmwareigvm_dll/build.rs +++ b/openhcl/vmfirmwareigvm_dll/build.rs @@ -46,6 +46,7 @@ fn main() { println!("cargo:rerun-if-env-changed=UH_DLL_NAME"); println!("cargo:rerun-if-env-changed=UH_IGVM_PATH"); + println!("cargo:rerun-if-env-changed=UH_RESOURCE_ID"); println!("cargo:rerun-if-env-changed=UH_MAJOR"); println!("cargo:rerun-if-env-changed=UH_MINOR"); println!("cargo:rerun-if-env-changed=UH_PATCH"); @@ -54,6 +55,7 @@ fn main() { // If none of our env vars are set, do nothing instead of erroring. if std::env::var_os("UH_DLL_NAME").is_none() && std::env::var_os("UH_IGVM_PATH").is_none() + && std::env::var_os("UH_RESOURCE_ID").is_none() && std::env::var_os("UH_MAJOR").is_none() && std::env::var_os("UH_MINOR").is_none() && std::env::var_os("UH_PATCH").is_none() @@ -73,6 +75,11 @@ fn main() { // (path) absolute path to an IGVM file to package up let uh_igvm_path = std::env::var("UH_IGVM_PATH").expect("must set UH_IGVM_PATH"); + // (u32) Defaults to 1, the resource ID used before UH_RESOURCE_ID was configurable. + let uh_resource_id = std::env::var("UH_RESOURCE_ID") + .map(|id| id.parse::().expect("UH_RESOURCE_ID must be a u32")) + .unwrap_or(1); + // (u16) Major version number of the DLL let uh_major = std::env::var("UH_MAJOR") .expect("must set UH_MAJOR") @@ -116,6 +123,7 @@ fn main() { let macros = [ ("UH_DLL_NAME", format!(r#""{uh_dll_name}""#)), ("UH_IGVM_PATH", format!(r#""{uh_igvm_path}""#)), + ("UH_RESOURCE_ID", uh_resource_id.to_string()), ("UH_VERSION", uh_version), ("UH_VERSION_STR", uh_version_str), ]; diff --git a/openhcl/vmfirmwareigvm_dll/resources.rc b/openhcl/vmfirmwareigvm_dll/resources.rc index 28f2262e181..3ad5989e64d 100644 --- a/openhcl/vmfirmwareigvm_dll/resources.rc +++ b/openhcl/vmfirmwareigvm_dll/resources.rc @@ -27,5 +27,5 @@ BLOCK "VarFileInfo" 2 24 "manifest.xml" -1 VMFW UH_IGVM_PATH +UH_RESOURCE_ID VMFW UH_IGVM_PATH diff --git a/vmm_tests/petri_artifact_resolver_openvmm_known_paths/src/lib.rs b/vmm_tests/petri_artifact_resolver_openvmm_known_paths/src/lib.rs index 45830a6e297..2ad1a18f27a 100644 --- a/vmm_tests/petri_artifact_resolver_openvmm_known_paths/src/lib.rs +++ b/vmm_tests/petri_artifact_resolver_openvmm_known_paths/src/lib.rs @@ -154,6 +154,19 @@ impl petri_artifacts_core::ResolveTestArtifact for OpenvmmKnownPathsTestArtifact _ if id == vmgstool::VMGSTOOL_NATIVE => vmgstool_native_executable_path(), _ if id == vmgstool::VMGSTOOL_DEV_NATIVE => vmgstool_dev_native_executable_path(), + _ if id == vmfw_dll::LATEST_CVM_X64 => get_path( + Path::new("."), + vmfw_dll::LATEST_CVM_X64_FILE_NAME, + MissingCommand::XFlowey { + description: "x64 CVM vmfirmwareigvm test DLL", + xflowey_args: &[ + "vmm-tests-run", + "--filter", + "test(vmgstool_copy_igvmfile)", + "--build-only", + ], + }, + ), _ if id == guest_tools::TPM_GUEST_TESTS_WINDOWS_X64 => { tpm_guest_tests_windows_path(MachineArch::X86_64) diff --git a/vmm_tests/petri_artifacts_vmm_test/src/lib.rs b/vmm_tests/petri_artifacts_vmm_test/src/lib.rs index f0d8e87f767..acde568b878 100644 --- a/vmm_tests/petri_artifacts_vmm_test/src/lib.rs +++ b/vmm_tests/petri_artifacts_vmm_test/src/lib.rs @@ -798,6 +798,19 @@ pub mod artifacts { impl IsVmgsTool for VMGSTOOL_DEV_LINUX_AARCH64 {} impl IsVmgsTool for VMGSTOOL_DEV_MACOS_AARCH64 {} } + + /// Artifacts for testing x64 CVM OpenHCL boot from VMGS. + pub mod vmfw_dll { + use petri_artifacts_core::declare_artifacts; + + /// Filename used for [`enum@LATEST_CVM_X64`] in the VMM test content directory + pub const LATEST_CVM_X64_FILE_NAME: &str = "vmfirmwareigvm-cvm-x64.dll"; + + declare_artifacts! { + /// An x64 CVM OpenHCL resource DLL + LATEST_CVM_X64, + } + } } /// Artifact tag trait declarations diff --git a/vmm_tests/vmm_tests/Cargo.toml b/vmm_tests/vmm_tests/Cargo.toml index d04450a30e5..ac8ea8d986f 100644 --- a/vmm_tests/vmm_tests/Cargo.toml +++ b/vmm_tests/vmm_tests/Cargo.toml @@ -50,6 +50,7 @@ mesh.workspace = true pal.workspace = true pal_async.workspace = true unix_socket.workspace = true +vmgs_format.workspace = true vmgs_resources.workspace = true anyhow.workspace = true diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs index f6313af9072..dade265b53c 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +use anyhow::Context; use petri::CommandError; use petri::PetriGuestStateLifetime; use petri::PetriVmBuilder; @@ -9,11 +10,17 @@ use petri::ResolvedArtifact; use petri::run_host_cmd; use petri_artifacts_common::tags::IsVmgsTool; use petri_artifacts_vmm_test::artifacts::test_vmgs::VMGS_WITH_BOOT_ENTRY; +use petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64; use petri_artifacts_vmm_test::artifacts::vmgstool::VMGSTOOL_DEV_NATIVE; use petri_artifacts_vmm_test::artifacts::vmgstool::VMGSTOOL_NATIVE; use std::path::Path; use std::process::Command; use tempfile::TempDir; +use vmgs_format::VMGS_BYTES_PER_BLOCK; +use vmgs_format::VMGS_DEFAULT_CAPACITY; +use vmgs_format::VMGS_EXTENDED_FILE_TABLE_BLOCK_SIZE; +use vmgs_format::VMGS_FILE_TABLE_BLOCK_SIZE; +use vmgs_format::VMGS_MIN_FILE_BLOCK_OFFSET; use vmgs_resources::GuestStateEncryptionPolicy; use vmm_test_macros::openvmm_test; use vmm_test_macros::vmm_test; @@ -150,6 +157,75 @@ async fn vmgstool_create( Ok(()) } +/// Returns the capacity for a fresh VMGS plus one copy-on-write IGVM write. +fn vmgs_capacity_for_igvm(igvm_size_upper_bound: u64) -> u64 { + const FILE_TABLE_COPIES_DURING_REWRITE: u64 = 2; + + let block_size = u64::from(VMGS_BYTES_PER_BLOCK); + let payload_capacity = igvm_size_upper_bound.next_multiple_of(block_size); + let metadata_blocks = u64::from(VMGS_MIN_FILE_BLOCK_OFFSET) + + u64::from(VMGS_EXTENDED_FILE_TABLE_BLOCK_SIZE) + + FILE_TABLE_COPIES_DURING_REWRITE * u64::from(VMGS_FILE_TABLE_BLOCK_SIZE); + + VMGS_DEFAULT_CAPACITY.max(payload_capacity + metadata_blocks * block_size) +} + +/// Verifies `copy-igvmfile` by booting OpenHCL from the resulting VMGS. +#[vmm_test( + hyperv_openhcl_uefi_x64[snp](vhd(windows_datacenter_core_2025_x64_prepped))[VMGSTOOL_NATIVE, LATEST_CVM_X64], +)] +async fn vmgstool_copy_igvmfile( + config: PetriVmBuilder, + (vmgstool, vmfw_dll): ( + ResolvedArtifact, + ResolvedArtifact, + ), +) -> Result<(), anyhow::Error> { + let temp_dir = tempfile::tempdir()?; + let vmgs_path = temp_dir.path().join("test.vmgs"); + let vmgstool_path = vmgstool.get(); + + // DLL length is the upper bound of the embedded IGVM, so that the PE resource parsing is owned by vmgstool + let vmgs_size = vmgs_capacity_for_igvm( + vmfw_dll + .get() + .metadata() + .context("failed to stat vmfw dll")? + .len(), + ); + + let mut cmd = Command::new(vmgstool_path); + cmd.arg("create") + .arg("--filepath") + .arg(&vmgs_path) + .arg("--file-size") + .arg(vmgs_size.to_string()); + run_host_cmd(cmd).await?; + + let mut cmd = Command::new(vmgstool_path); + cmd.arg("copy-igvmfile") + .arg("--filepath") + .arg(&vmgs_path) + .arg("--data-path") + .arg(vmfw_dll.get()) + .arg("--resource-code") + .arg("SNP"); + run_host_cmd(cmd).await?; + + let (mut vm, agent) = config + .with_openhcl_from_vmgs() + .with_guest_state_lifetime(PetriGuestStateLifetime::Disk) + .with_persistent_vmgs(&vmgs_path) + .run() + .await?; + + vm.test_inspect_openhcl().await?; + agent.power_off().await?; + vm.wait_for_clean_teardown().await?; + + Ok(()) +} + /// Test vmgstool remove-boot-entries command to make sure it removes the /// invalid boot entries and the vm boots. #[vmm_test( From b56ae93490b6e0bb2a02ea5100a13df7771d4a10 Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Fri, 21 Aug 2026 15:40:59 +0200 Subject: [PATCH 2/7] petri support --- petri/src/vm/hyperv/hyperv.psm1 | 31 +++++++++++++++---- petri/src/vm/hyperv/mod.rs | 30 ++++++++++++------ petri/src/vm/hyperv/powershell.rs | 51 ++++++++++++++++++++++++++++++- petri/src/vm/mod.rs | 14 +++++++++ petri/src/vm/openvmm/construct.rs | 5 +++ 5 files changed, 114 insertions(+), 17 deletions(-) diff --git a/petri/src/vm/hyperv/hyperv.psm1 b/petri/src/vm/hyperv/hyperv.psm1 index 7e54e16a319..dd0b9591e78 100644 --- a/petri/src/vm/hyperv/hyperv.psm1 +++ b/petri/src/vm/hyperv/hyperv.psm1 @@ -104,6 +104,28 @@ function Get-VmSasd # Hyper-V Configuration Cmdlets # +function Set-OpenHclVssdProperties +{ + [CmdletBinding()] + Param ( + [Parameter(Mandatory = $true)] + [hashtable] $VssdProperties, + + [bool] $EnableOpenHCL = $false, + + [string] $FirmwareFile = $null + ) + + if ($EnableOpenHCL -or $FirmwareFile) { + # A firmware file also implies the OpenHCL guest feature. + $VssdProperties["GuestFeatureSet"] = 0x00000201 + } + + if ($FirmwareFile) { + $VssdProperties["FirmwareFile"] = $FirmwareFile + } +} + # this function is optimized for performance and does minimal input validation function New-CustomVM { @@ -130,6 +152,8 @@ function New-CustomVM [bool] $EnableHibernation = $false, + [bool] $EnableOpenHCL = $false, + [string] $FirmwareFile = $null, [string] $FirmwareParameters = $null, @@ -261,12 +285,7 @@ function New-CustomVM $vssdProperties["GuestStateEncryptionPolicy"] = $GuestStateEncryptionPolicy } - if ($FirmwareFile) { - # Enable OpenHCL by feature - $vssdProperties["GuestFeatureSet"] = 0x00000201 - # Set the OpenHCL image file path - $vssdProperties["FirmwareFile"] = $FirmwareFile - } + Set-OpenHclVssdProperties -VssdProperties $vssdProperties -EnableOpenHCL $EnableOpenHCL -FirmwareFile $FirmwareFile if ($FirmwareParameters) { $vssdProperties["FirmwareParameters"] = [System.Text.Encoding]::UTF8.GetBytes($FirmwareParameters) diff --git a/petri/src/vm/hyperv/mod.rs b/petri/src/vm/hyperv/mod.rs index d52d98173b1..8b74d08befa 100644 --- a/petri/src/vm/hyperv/mod.rs +++ b/petri/src/vm/hyperv/mod.rs @@ -64,6 +64,14 @@ use vtl2_settings_proto::Vtl2Settings; const IGVM_FILE_NAME: &str = "igvm.bin"; +fn openhcl_firmware_path( + is_openhcl: bool, + load_openhcl_from_vmgs: bool, + temp_dir: &Path, +) -> Option { + (is_openhcl && !load_openhcl_from_vmgs).then(|| temp_dir.join(IGVM_FILE_NAME)) +} + /// The Hyper-V Petri backend #[derive(Debug)] pub struct HyperVPetriBackend {} @@ -182,9 +190,11 @@ impl PetriVmmBackend for HyperVPetriBackend { let temp_dir = tempfile::tempdir()?; - let igvm_file = properties - .is_openhcl - .then(|| temp_dir.path().join(IGVM_FILE_NAME)); + let igvm_file = openhcl_firmware_path( + properties.is_openhcl, + config.load_openhcl_from_vmgs, + temp_dir.path(), + ); let mut openhcl_command_line = config.firmware.openhcl_config().map(|c| c.command_line()); @@ -436,13 +446,13 @@ impl PetriVmmBackend for HyperVPetriBackend { let vm = HyperVVM::new(hyperv_args, log_source.clone(), driver.clone()).await?; if properties.is_openhcl { - // Copy the IGVM file locally, since it may not be accessible by - // Hyper-V (e.g., if it is in a WSL filesystem). - let local_path = igvm_file.as_ref().unwrap(); - fs_err::copy(config.firmware.openhcl_firmware().unwrap(), local_path) - .context("failed to copy igvm file")?; - acl_for_vm(local_path, Some(*vm.vmid()), false) - .context("failed to set ACL for igvm file")?; + if let Some(local_path) = &igvm_file { + // Copy the IGVM file locally, since it is not accessible from a WSL filesystem + fs_err::copy(config.firmware.openhcl_firmware().unwrap(), local_path) + .context("failed to copy igvm file")?; + acl_for_vm(local_path, Some(*vm.vmid()), false) + .context("failed to set ACL for igvm file")?; + } let openhcl_log_file = log_source.log_file("openhcl")?; if supports_com3 { diff --git a/petri/src/vm/hyperv/powershell.rs b/petri/src/vm/hyperv/powershell.rs index c6bd1b171c4..d02eeba7ac2 100644 --- a/petri/src/vm/hyperv/powershell.rs +++ b/petri/src/vm/hyperv/powershell.rs @@ -282,6 +282,8 @@ pub struct HyperVNewCustomVMArgs { pub guest_state_path: Option, /// VMBUS message redirection pub vmbus_message_redirection: Option, + /// Enable the OpenHCL guest feature set. + pub enable_openhcl: bool, /// Path to the OpenHCL firmware IGVM file pub firmware_file: Option, /// OpenHCL command line parameters @@ -360,7 +362,8 @@ impl HyperVNewCustomVMArgs { pub async fn make_compatible(&mut self) -> anyhow::Result<()> { let available_properties = run_get_vssd_properties().await?; let property_exists = |name: &str| available_properties.iter().any(|x| x == name); - let is_openhcl = self.firmware_file.is_some(); + self.enable_openhcl |= self.firmware_file.is_some(); + let is_openhcl = self.enable_openhcl; if let Some(guest_state_lifetime) = self.guest_state_lifetime.as_ref() && !property_exists("GuestStateLifetime") @@ -638,6 +641,7 @@ impl HyperVNewCustomVMArgs { }, hibernation_enabled: config.hibernation_enabled, com_1: true, + enable_openhcl: properties.is_openhcl, // specified after creation firmware_file: None, @@ -820,6 +824,7 @@ pub async fn run_new_customvm(ps_mod: &Path, args: HyperVNewCustomVMArgs) -> any .arg_opt("GuestStateLifetime", args.guest_state_lifetime) .arg_opt("GuestStateFilePath", args.guest_state_path) .arg_opt("VMBusMessageRedirection", args.vmbus_message_redirection) + .arg("EnableOpenHCL", args.enable_openhcl) .arg_opt("FirmwareFile", args.firmware_file) .arg_opt("FirmwareParameters", args.firmware_parameters) .flag_opt( @@ -2145,6 +2150,50 @@ pub async fn run_get_guest_state_file(vmid: &Guid, ps_mod: &Path) -> anyhow::Res Ok(PathBuf::from(output)) } +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn openhcl_from_vmgs_sets_guest_feature_without_firmware_file() { + let ps_mod = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("src/vm/hyperv/hyperv.psm1"); + let temp_dir = tempfile::tempdir().expect("failed to create temp directory"); + let firmware_file = super::super::openhcl_firmware_path(true, true, temp_dir.path()); + assert!(firmware_file.is_none()); + + let output = PowerShellBuilder::new() + .cmdlet("Import-Module") + .positional(&ps_mod) + .arg("ErrorAction", ps::RawVal::new("Stop")) + .next() + .cmdlet("$properties = @{}") + .next() + .cmdlet("Set-OpenHclVssdProperties") + .arg("VssdProperties", ps::RawVal::new("$properties")) + .arg("EnableOpenHCL", true) + .arg_opt("FirmwareFile", firmware_file) + .next() + .cmdlet("[PSCustomObject]@{ GuestFeatureSet = $properties['GuestFeatureSet']; HasFirmwareFile = $properties.ContainsKey('FirmwareFile') }") + .pipeline() + .cmdlet("ConvertTo-Json") + .flag("Compress") + .finish() + .build() + .output() + .expect("failed to run PowerShell"); + + assert!( + output.status.success(), + "PowerShell failed: {}", + String::from_utf8_lossy(&output.stderr) + ); + let properties: serde_json::Value = + serde_json::from_slice(&output.stdout).expect("invalid PowerShell JSON output"); + assert_eq!(properties["GuestFeatureSet"], 0x00000201); + assert_eq!(properties["HasFirmwareFile"], false); + } +} + /// Sets the VTL2 settings (in the `Base` namespace) for a VM. /// /// This should include the fixed VTL2 settings, as well as any storage diff --git a/petri/src/vm/mod.rs b/petri/src/vm/mod.rs index 68a8dbfb471..75f8b320612 100644 --- a/petri/src/vm/mod.rs +++ b/petri/src/vm/mod.rs @@ -235,6 +235,8 @@ pub struct PetriVmConfig { pub hibernation_enabled: bool, /// Whether to expose an IPMI KCS interface to the guest. pub ipmi_enabled: bool, + /// Flag whether to load the paravisor IGVM from the VMGS guest firmware file + pub load_openhcl_from_vmgs: bool, /// The amount of memory, in bytes, to assign to the VM pub memory: MemoryConfig, /// The processor topology for the VM @@ -464,6 +466,7 @@ impl PetriVmBuilder { firmware: artifacts.firmware, hibernation_enabled: false, ipmi_enabled: false, + load_openhcl_from_vmgs: false, memory: Default::default(), proc_topology: Default::default(), @@ -547,6 +550,7 @@ impl PetriVmBuilder { firmware: artifacts.firmware, hibernation_enabled: false, ipmi_enabled: false, + load_openhcl_from_vmgs: false, memory: Default::default(), proc_topology: Default::default(), @@ -1399,6 +1403,16 @@ impl PetriVmBuilder { self } + /// Boot the paravisor from the IGVM stored in the VMGS guest firmware file + pub fn with_openhcl_from_vmgs(mut self) -> Self { + assert!( + self.config.firmware.is_openhcl(), + "Loading OpenHCL from VMGS is only supported for OpenHCL firmware." + ); + self.config.load_openhcl_from_vmgs = true; + self + } + /// Append additional command line arguments to pass to the paravisor. pub fn with_openhcl_command_line(mut self, additional_command_line: &str) -> Self { append_cmdline( diff --git a/petri/src/vm/openvmm/construct.rs b/petri/src/vm/openvmm/construct.rs index ba8cd1da535..b8a3cb634cb 100644 --- a/petri/src/vm/openvmm/construct.rs +++ b/petri/src/vm/openvmm/construct.rs @@ -121,6 +121,7 @@ impl PetriVmConfigOpenVmm { firmware, hibernation_enabled, ipmi_enabled, + load_openhcl_from_vmgs, memory, proc_topology, vmgs, @@ -135,6 +136,10 @@ impl PetriVmConfigOpenVmm { anyhow::bail!("Physical NVMe devices are only supported with the Hyper-V backend"); } + if load_openhcl_from_vmgs { + anyhow::bail!("loading OpenHCL from VMGS is only supported by the Hyper-V backend"); + } + tracing::debug!(?firmware, ?arch, "Petri VM firmware configuration"); let PetriVmResources { driver, log_source } = resources; From d1625932e14fb0326ed9f5765c01b1a58661f85f Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Fri, 21 Aug 2026 15:41:30 +0200 Subject: [PATCH 3/7] flowey test workflows --- .github/workflows/openvmm-ci.yaml | 3797 +++++++++------------ .github/workflows/openvmm-pr-release.yaml | 3374 ++++++++---------- .github/workflows/openvmm-pr.yaml | 2555 +++++++------- 3 files changed, 4096 insertions(+), 5630 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 1e99d276735..189d188b30f 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -42,7 +42,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -50,7 +50,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -202,7 +202,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -210,7 +210,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -377,7 +377,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -385,7 +385,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -650,7 +650,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -658,7 +658,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1034,7 +1034,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1042,7 +1042,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1394,7 +1394,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1402,7 +1402,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1544,6 +1544,8 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1563,7 +1565,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 13 flowey_lib_common::cache 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 13 flowey_lib_common::install_rust 3 @@ -1571,31 +1573,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 13 flowey_lib_common::publish_test_results 6 - flowey.exe e 13 flowey_lib_common::publish_test_results 7 - flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 13 flowey_lib_common::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::build_xtask 1 @@ -1603,6 +1584,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1612,16 +1594,17 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 0 - flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 13 flowey_lib_common::publish_test_results 6 + flowey.exe e 13 flowey_lib_common::publish_test_results 7 + flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1633,6 +1616,29 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 13 flowey_lib_common::publish_test_results 0 + flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 13 flowey_lib_common::publish_test_results 3 flowey.exe e 13 flowey_lib_common::publish_test_results 4 flowey.exe v 13 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1641,13 +1647,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-native-junit-xml + name: x64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -1684,7 +1690,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1692,7 +1698,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1876,6 +1882,8 @@ jobs: run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 flowey e 14 flowey_lib_common::download_cargo_nextest 1 + flowey e 14 flowey_lib_common::download_cargo_nextest 2 + flowey e 14 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1895,7 +1903,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 14 flowey_lib_common::cache 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 2 + flowey e 14 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 14 flowey_lib_common::install_rust 3 @@ -1913,6 +1921,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 7 flowey v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -1934,6 +1943,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 flowey v 14 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -1955,6 +1965,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey v 14 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -1991,6 +2002,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey v 14 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2012,6 +2024,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 3 flowey e 14 flowey_lib_common::publish_test_results 4 flowey v 14 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2026,7 +2039,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -2063,7 +2076,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2071,7 +2084,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2213,12 +2226,9 @@ jobs: - name: cargo clippy run: flowey e 15 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 15 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 15 flowey_lib_common::run_cargo_clippy 8 + flowey e 15 flowey_lib_common::run_cargo_clippy 6 flowey e 15 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2248,6 +2258,8 @@ jobs: run: |- flowey e 15 flowey_lib_common::download_cargo_nextest 0 flowey e 15 flowey_lib_common::download_cargo_nextest 1 + flowey e 15 flowey_lib_common::download_cargo_nextest 2 + flowey e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2267,7 +2279,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 15 flowey_lib_common::cache 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 2 + flowey e 15 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 15 flowey_lib_common::install_rust 3 @@ -2275,32 +2287,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 15 flowey_lib_common::install_cargo_nextest 0 - flowey e 15 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 15 flowey_lib_common::run_cargo_build 1 - flowey e 15 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 15 flowey_lib_hvlite::run_cargo_build 3 - flowey e 15 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 15 flowey_lib_hvlite::init_cross_build 3 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 15 flowey_lib_common::publish_test_results 6 flowey e 15 flowey_lib_common::publish_test_results 7 flowey v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2309,19 +2306,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 15 flowey_lib_common::publish_test_results 9 flowey e 15 flowey_lib_common::publish_test_results 10 flowey v 15 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2330,19 +2328,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 15 flowey_lib_common::publish_test_results 12 flowey e 15 flowey_lib_common::publish_test_results 13 flowey v 15 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2351,19 +2350,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 15 flowey_lib_common::publish_test_results 15 flowey e 15 flowey_lib_common::publish_test_results 16 flowey v 15 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2372,19 +2372,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 15 flowey_lib_hvlite::init_cross_build 1 + flowey e 15 flowey_lib_common::run_cargo_build 1 + flowey e 15 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 15 flowey_lib_hvlite::run_cargo_build 3 + flowey e 15 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'x64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 15 flowey_lib_common::publish_test_results 0 flowey e 15 flowey_lib_common::publish_test_results 1 flowey v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2393,19 +2409,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 15 flowey_lib_common::publish_test_results 3 flowey e 15 flowey_lib_common::publish_test_results 4 flowey v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2414,13 +2431,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2457,7 +2474,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2465,7 +2482,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2607,6 +2624,8 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2626,7 +2645,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 16 flowey_lib_common::cache 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 16 flowey_lib_common::install_rust 3 @@ -2634,31 +2653,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 16 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 - flowey.exe e 16 flowey_lib_common::publish_test_results 7 - flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 16 flowey_lib_common::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::build_xtask 1 @@ -2666,6 +2664,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2675,16 +2674,17 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 0 - flowey.exe e 16 flowey_lib_common::publish_test_results 1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2696,6 +2696,29 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 16 flowey_lib_common::publish_test_results 0 + flowey.exe e 16 flowey_lib_common::publish_test_results 1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 16 flowey_lib_common::publish_test_results 3 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2704,13 +2727,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml + name: aarch64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2747,7 +2770,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2755,7 +2778,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2801,48 +2824,22 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 - flowey e 17 flowey_lib_common::download_cargo_nextest 0 - flowey e 17 flowey_lib_common::download_cargo_nextest 1 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 17 flowey_lib_common::cache 0 - flowey v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 - flowey v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3109,7 +3140,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3251,12 +3282,9 @@ jobs: - name: cargo clippy run: flowey e 18 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 18 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 18 flowey_lib_common::run_cargo_clippy 8 + flowey e 18 flowey_lib_common::run_cargo_clippy 6 flowey e 18 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3286,6 +3314,8 @@ jobs: run: |- flowey e 18 flowey_lib_common::download_cargo_nextest 0 flowey e 18 flowey_lib_common::download_cargo_nextest 1 + flowey e 18 flowey_lib_common::download_cargo_nextest 2 + flowey e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3305,7 +3335,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 18 flowey_lib_common::cache 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 2 + flowey e 18 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 18 flowey_lib_common::install_rust 3 @@ -3313,32 +3343,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 18 flowey_lib_common::install_cargo_nextest 0 - flowey e 18 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 18 flowey_lib_common::run_cargo_build 1 - flowey e 18 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 18 flowey_lib_hvlite::run_cargo_build 3 - flowey e 18 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 18 flowey_lib_hvlite::init_cross_build 3 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 7 flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3347,19 +3362,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 18 flowey_lib_common::publish_test_results 9 flowey e 18 flowey_lib_common::publish_test_results 10 flowey v 18 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3368,19 +3384,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 18 flowey_lib_common::publish_test_results 12 flowey e 18 flowey_lib_common::publish_test_results 13 flowey v 18 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3389,19 +3406,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 18 flowey_lib_common::publish_test_results 15 flowey e 18 flowey_lib_common::publish_test_results 16 flowey v 18 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3410,19 +3428,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 18 flowey_lib_hvlite::init_cross_build 1 + flowey e 18 flowey_lib_common::run_cargo_build 1 + flowey e 18 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 18 flowey_lib_hvlite::run_cargo_build 3 + flowey e 18 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -3431,19 +3465,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 18 flowey_lib_common::publish_test_results 3 flowey e 18 flowey_lib_common::publish_test_results 4 flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3452,13 +3487,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3490,9 +3525,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3501,7 +3536,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3527,47 +3562,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 19 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 19 flowey_lib_common::cache 8 - flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 19 flowey_lib_common::cache 0 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 19 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3803,7 +3826,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3976,9 +3999,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3987,7 +4010,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -4013,53 +4036,59 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 20 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 20 flowey_lib_common::cache 8 - flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 20 flowey_lib_common::cache 0 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 20 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4282,7 +4292,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4308,47 +4318,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 21 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 21 flowey_lib_common::cache 8 - flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 21 flowey_lib_common::cache 0 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 21 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4582,7 +4580,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4608,47 +4606,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 22 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 22 flowey_lib_common::cache 8 - flowey.exe v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 22 flowey_lib_common::cache 0 + flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 22 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4883,7 +4869,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4909,6 +4895,93 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 23 flowey_lib_common::cache 0 + flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5466,7 +5469,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5530,6 +5533,8 @@ jobs: run: |- flowey e 25 flowey_lib_common::download_cargo_nextest 0 flowey e 25 flowey_lib_common::download_cargo_nextest 1 + flowey e 25 flowey_lib_common::download_cargo_nextest 2 + flowey e 25 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5549,7 +5554,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 25 flowey_lib_common::cache 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 2 + flowey e 25 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5576,7 +5581,18 @@ jobs: run: |- flowey e 25 flowey_lib_common::system_info 0 flowey e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 25 flowey_core::pipeline::artifact::resolve 8 + flowey e 25 flowey_core::pipeline::artifact::resolve 4 + flowey e 25 flowey_core::pipeline::artifact::resolve 1 + flowey e 25 flowey_core::pipeline::artifact::resolve 2 + flowey e 25 flowey_core::pipeline::artifact::resolve 3 + flowey e 25 flowey_core::pipeline::artifact::resolve 0 + flowey e 25 flowey_core::pipeline::artifact::resolve 7 + flowey v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5794,7 +5789,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5856,47 +5851,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 26 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 26 flowey_lib_common::cache 8 - flowey.exe v 26 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 26 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 26 flowey_lib_common::cache 0 + flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 26 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -6109,7 +6099,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey echo '"debug"' | flowey v 27 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update @@ -6121,7 +6111,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 27 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 27 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 27 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -6129,6 +6119,8 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -6148,7 +6140,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -6175,8 +6167,7 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 27 flowey_core::pipeline::artifact::resolve 6 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 shell: bash - name: create gh-release-download cache dir run: flowey e 27 flowey_lib_common::download_gh_release 0 @@ -6210,9 +6201,12 @@ jobs: - name: unpack QEMU archive run: |- flowey e 27 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 27 flowey_core::pipeline::artifact::resolve 4 + flowey e 27 flowey_core::pipeline::artifact::resolve 6 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 - flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH - shell: bash + - run: | + set -x + i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; + sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y + curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y + . "$HOME/.cargo/env" + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-12/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey echo '"debug"' | flowey v 28 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 28 '_internal_WORKING_DIR' --is-raw-string update @@ -6392,116 +6413,61 @@ jobs: cat <<'EOF' | flowey v 28 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 28 'artifact_use_from_x64-linux-openvmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-perf-runner" | flowey v 28 'artifact_use_from_x64-linux-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (linux) - run: |- - flowey e 28 flowey_core::pipeline::artifact::resolve 1 - flowey e 28 flowey_core::pipeline::artifact::resolve 0 - flowey e 28 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 28 flowey_lib_common::install_dist_pkg 0 shell: bash - - name: installing packages - run: flowey e 28 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 28 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars + - name: check if openvmm needs to be cloned run: |- - flowey e 28 flowey_lib_common::cache 0 - flowey v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey e 28 flowey_lib_common::git_checkout 0 + flowey v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" @@ -6511,7 +6477,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6519,7 +6485,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6538,11 +6504,6 @@ jobs: mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash - - name: πŸŒΌπŸ“¦ Download artifacts - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c - with: - pattern: '{x64-linux-musl-openvmm,x64-linux-musl-vmm-perf-runner}' - path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH @@ -6569,97 +6530,53 @@ jobs: cat <<'EOF' | flowey v 29 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 29 'artifact_use_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (linux) - run: |- - flowey e 29 flowey_core::pipeline::artifact::resolve 1 - flowey e 29 flowey_core::pipeline::artifact::resolve 0 - flowey e 29 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 29 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 29 flowey_lib_common::install_dist_pkg 1 shell: bash - - name: create gh-release-download cache dir - run: flowey e 29 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars + - name: check if openvmm needs to be cloned run: |- - flowey e 29 flowey_lib_common::cache 0 - flowey v 29 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey v 29 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey e 29 flowey_lib_common::git_checkout 0 + flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey v 29 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6694,7 +6611,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6924,633 +6841,146 @@ jobs: flowey e 3 flowey_lib_hvlite::run_cargo_build 3 flowey e 3 flowey_lib_hvlite::build_incubator 0 flowey e 3 flowey_core::pipeline::artifact::publish 2 - flowey e 3 flowey_lib_hvlite::init_cross_build 4 - shell: bash - - name: cargo build guest_test_uefi - run: |- - flowey e 3 flowey_lib_common::run_cargo_build 0 - flowey e 3 flowey_lib_hvlite::run_cargo_build 0 - shell: bash - - name: build guest_test_uefi.img - run: |- - flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 1 - flowey e 3 flowey_core::pipeline::artifact::publish 3 - flowey e 3 flowey_lib_hvlite::init_cross_build 0 - flowey e 3 flowey_lib_hvlite::run_cargo_build 8 - flowey e 3 flowey_lib_hvlite::run_cargo_build 9 - shell: bash - - name: cargo build simple_tmk - run: |- - flowey e 3 flowey_lib_common::run_cargo_build 6 - flowey e 3 flowey_lib_hvlite::run_cargo_build 10 - shell: bash - - name: split debug symbols - run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 3 flowey_lib_hvlite::run_cargo_build 11 - flowey e 3 flowey_lib_hvlite::build_tmks 1 - flowey e 3 flowey_core::pipeline::artifact::publish 4 - flowey e 3 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build tpm_guest_tests - run: |- - flowey e 3 flowey_lib_common::run_cargo_build 9 - flowey e 3 flowey_lib_hvlite::run_cargo_build 20 - shell: bash - - name: split debug symbols - run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 3 - flowey e 3 flowey_lib_hvlite::run_cargo_build 21 - flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 0 - flowey e 3 flowey_core::pipeline::artifact::publish 5 - shell: bash - - name: extract Aarch64 sysroot.tar.gz - run: |- - flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1 - flowey e 3 flowey_lib_hvlite::init_cross_build 2 - shell: bash - - name: cargo build pipette - run: |- - flowey e 3 flowey_lib_common::run_cargo_build 3 - flowey e 3 flowey_lib_hvlite::run_cargo_build 4 - shell: bash - - name: split debug symbols - run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 3 flowey_lib_hvlite::run_cargo_build 5 - flowey e 3 flowey_lib_hvlite::build_pipette 0 - flowey e 3 flowey_core::pipeline::artifact::publish 6 - flowey e 3 flowey_lib_hvlite::init_cross_build 3 - shell: bash - - name: cargo build tmk_vmm - run: |- - flowey e 3 flowey_lib_common::run_cargo_build 7 - flowey e 3 flowey_lib_hvlite::run_cargo_build 16 - shell: bash - - name: split debug symbols - run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 3 flowey_lib_hvlite::run_cargo_build 17 - flowey e 3 flowey_lib_hvlite::build_tmk_vmm 0 - flowey e 3 flowey_core::pipeline::artifact::publish 7 - shell: bash - - name: 'validate cache entry: gh-release-download' - run: flowey e 3 flowey_lib_common::cache 3 - shell: bash - - name: πŸŒΌπŸ“¦ Publish aarch64-guest_test_uefi - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-guest_test_uefi - path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-pipette - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-tmk_vmm - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-tmk_vmm - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-tpm_guest_tests - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-tpm_guest_tests - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-tmks - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-tmks - path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-guest_test_uefi - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-guest_test_uefi - path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-incubator - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-incubator - path: ${{ runner.temp }}/publish_artifacts/x64-linux-incubator/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-musl-pipette - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-tmk_vmm - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-musl-tmk_vmm - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-tpm_guest_tests - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-tpm_guest_tests - path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-tmks - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-tmks - path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ - include-hidden-files: true - job30: - name: run vmm-perf [x64-windows-amd] - timeout-minutes: 120 - runs-on: - - self-hosted - - 1ES.Pool=openvmm-gh-amd-westus3-v6 - - 1ES.ImageOverride=win-amd64-v2 - - JobId=job30-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} - permissions: - contents: read - id-token: write - needs: - - job6 - - job7 - if: github.event.pull_request.draft == false - steps: - - name: πŸŒΌπŸ“¦ Download artifacts - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c - with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-windows-openvmm,x64-windows-vmm-perf-runner}' - path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - - echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 30 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 30 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 30 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (windows) - run: |- - flowey.exe e 30 flowey_core::pipeline::artifact::resolve 1 - flowey.exe e 30 flowey_core::pipeline::artifact::resolve 0 - flowey.exe e 30 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 30 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 30 flowey_lib_common::cache 0 - flowey.exe v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey.exe v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe - - echo '"debug"' | flowey.exe v 31 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 31 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 31 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (windows) - run: |- - flowey.exe e 31 flowey_core::pipeline::artifact::resolve 1 - flowey.exe e 31 flowey_core::pipeline::artifact::resolve 0 - flowey.exe e 31 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 31 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 31 flowey_lib_common::cache 0 - flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - - echo '"debug"' | flowey v 32 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 32 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 32 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey e 32 flowey_lib_common::git_checkout 0 - flowey v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + flowey e 3 flowey_lib_hvlite::init_cross_build 4 shell: bash - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey - - echo '"debug"' | flowey v 33 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 33 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 33 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF + - name: cargo build guest_test_uefi + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 0 + flowey e 3 flowey_lib_hvlite::run_cargo_build 0 shell: bash - - name: check if openvmm needs to be cloned + - name: build guest_test_uefi.img run: |- - flowey e 33 flowey_lib_common::git_checkout 0 - flowey v 33 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 33 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 3 flowey_lib_hvlite::build_guest_test_uefi 1 + flowey e 3 flowey_core::pipeline::artifact::publish 3 + flowey e 3 flowey_lib_hvlite::init_cross_build 0 + flowey e 3 flowey_lib_hvlite::run_cargo_build 8 + flowey e 3 flowey_lib_hvlite::run_cargo_build 9 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: cargo build simple_tmk run: |- - flowey v 33 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -7606,27 +7032,27 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey - echo '"debug"' | flowey v 34 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 34 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 34 'verbose' update + cat <<'EOF' | flowey v 30 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 34 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 34 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 34 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 34 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 30 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 30 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 30 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 30 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update shell: bash - name: create gh cache dir - run: flowey e 34 flowey_lib_common::download_gh_cli 0 + run: flowey e 30 flowey_lib_common::download_gh_cli 0 shell: bash - name: Pre-processing cache vars run: |- - flowey e 34 flowey_lib_common::cache 0 - flowey v 34 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 - flowey v 34 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey e 30 flowey_lib_common::cache 0 + flowey v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 + flowey v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 @@ -7636,31 +7062,31 @@ jobs: name: 'Restore cache: gh-cli' - name: installing gh run: |- - flowey v 34 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7733,7 +7159,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7786,8 +7212,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -7860,7 +7284,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -7877,7 +7301,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -7885,7 +7309,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7893,14 +7317,6 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 4 flowey_lib_common::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7929,12 +7345,6 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ - include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7960,7 +7370,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7968,7 +7378,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8166,6 +7576,8 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8185,7 +7597,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -8280,7 +7692,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8288,7 +7700,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8341,8 +7753,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -8415,7 +7825,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -8436,7 +7846,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -8444,7 +7854,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8452,14 +7862,6 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 6 flowey_lib_common::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -8488,12 +7890,6 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ - include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -8519,7 +7915,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8527,7 +7923,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8725,6 +8121,8 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8744,7 +8142,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -8820,7 +8218,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-windows-uid-15 + name: _internal-flowey-bootstrap-x86_64-windows-uid-14 path: ${{ runner.temp }}/bootstrapped-flowey job8: name: build artifacts (for VMM tests) [aarch64-linux] @@ -8847,7 +8245,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8855,7 +8253,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8906,10 +8304,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -8924,8 +8318,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -9006,7 +8398,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build openvmm run: |- @@ -9019,7 +8411,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9032,7 +8424,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -9045,7 +8437,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- @@ -9058,7 +8450,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- @@ -9067,7 +8459,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -9080,7 +8472,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -9100,7 +8492,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build openvmm run: |- @@ -9113,7 +8505,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9126,7 +8518,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build prep_steps run: |- @@ -9144,6 +8536,8 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9163,7 +8557,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -9171,46 +8565,13 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 - shell: bash - - name: build + archive 'vmm_tests' nextests - run: |- - flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 - flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 8 flowey_core::pipeline::artifact::publish 11 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 8 flowey_lib_hvlite::run_cargo_build 20 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 8 flowey_core::pipeline::artifact::publish 12 - flowey e 8 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 11 - flowey e 8 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 22 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -9236,18 +8597,6 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-tests-archive - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9290,12 +8639,6 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9308,7 +8651,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-14 + name: _internal-flowey-bootstrap-x86_64-linux-uid-13 path: ${{ runner.temp }}/bootstrapped-flowey job9: name: build artifacts (for VMM tests) [x64-linux] @@ -9335,7 +8678,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -9343,7 +8686,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -9394,8 +8737,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -9412,8 +8753,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -9572,7 +8911,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -9592,7 +8931,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm run: |- @@ -9605,7 +8944,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9618,7 +8957,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build prep_steps run: |- @@ -9636,6 +8975,8 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9655,7 +8996,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -9670,39 +9011,13 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 9 flowey_lib_hvlite::run_cargo_build 20 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 9 flowey_core::pipeline::artifact::publish 12 - flowey e 9 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 11 - flowey e 9 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 22 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -9728,12 +9043,6 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9782,12 +9091,6 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 202d2de9688..556a331acfb 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -50,7 +50,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -58,7 +58,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -264,7 +264,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -272,7 +272,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1273,7 +1273,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1281,7 +1281,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1423,6 +1423,8 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1442,7 +1444,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 13 flowey_lib_common::cache 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 13 flowey_lib_common::install_rust 3 @@ -1450,31 +1452,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 13 flowey_lib_common::publish_test_results 6 - flowey.exe e 13 flowey_lib_common::publish_test_results 7 - flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 13 flowey_lib_common::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::build_xtask 1 @@ -1482,6 +1463,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1491,16 +1473,17 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 0 - flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 13 flowey_lib_common::publish_test_results 6 + flowey.exe e 13 flowey_lib_common::publish_test_results 7 + flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1512,6 +1495,29 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 13 flowey_lib_common::publish_test_results 0 + flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 13 flowey_lib_common::publish_test_results 3 flowey.exe e 13 flowey_lib_common::publish_test_results 4 flowey.exe v 13 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1520,13 +1526,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-native-junit-xml + name: x64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -1681,6 +1687,8 @@ jobs: run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 flowey e 14 flowey_lib_common::download_cargo_nextest 1 + flowey e 14 flowey_lib_common::download_cargo_nextest 2 + flowey e 14 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1700,7 +1708,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 14 flowey_lib_common::cache 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 2 + flowey e 14 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 14 flowey_lib_common::install_rust 3 @@ -1718,6 +1726,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 7 flowey v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -1739,6 +1748,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 flowey v 14 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -1760,6 +1770,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey v 14 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -1796,6 +1807,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey v 14 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -1817,6 +1829,7 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 3 flowey e 14 flowey_lib_common::publish_test_results 4 flowey v 14 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1831,7 +1844,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -1976,12 +1989,9 @@ jobs: - name: cargo clippy run: flowey e 15 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 15 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 15 flowey_lib_common::run_cargo_clippy 8 + flowey e 15 flowey_lib_common::run_cargo_clippy 6 flowey e 15 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2011,6 +2021,8 @@ jobs: run: |- flowey e 15 flowey_lib_common::download_cargo_nextest 0 flowey e 15 flowey_lib_common::download_cargo_nextest 1 + flowey e 15 flowey_lib_common::download_cargo_nextest 2 + flowey e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2030,7 +2042,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 15 flowey_lib_common::cache 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 2 + flowey e 15 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 15 flowey_lib_common::install_rust 3 @@ -2038,32 +2050,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 15 flowey_lib_common::install_cargo_nextest 0 - flowey e 15 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 15 flowey_lib_common::run_cargo_build 1 - flowey e 15 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 15 flowey_lib_hvlite::run_cargo_build 3 - flowey e 15 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 15 flowey_lib_hvlite::init_cross_build 3 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 15 flowey_lib_common::publish_test_results 6 flowey e 15 flowey_lib_common::publish_test_results 7 flowey v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2072,19 +2069,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 15 flowey_lib_common::publish_test_results 9 flowey e 15 flowey_lib_common::publish_test_results 10 flowey v 15 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2093,19 +2091,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 15 flowey_lib_common::publish_test_results 12 flowey e 15 flowey_lib_common::publish_test_results 13 flowey v 15 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2114,19 +2113,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 15 flowey_lib_common::publish_test_results 15 flowey e 15 flowey_lib_common::publish_test_results 16 flowey v 15 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2135,19 +2135,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 15 flowey_lib_hvlite::init_cross_build 1 + flowey e 15 flowey_lib_common::run_cargo_build 1 + flowey e 15 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 15 flowey_lib_hvlite::run_cargo_build 3 + flowey e 15 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'x64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 15 flowey_lib_common::publish_test_results 0 flowey e 15 flowey_lib_common::publish_test_results 1 flowey v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2156,19 +2172,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 15 flowey_lib_common::publish_test_results 3 flowey e 15 flowey_lib_common::publish_test_results 4 flowey v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2177,13 +2194,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2222,7 +2239,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2230,7 +2247,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2372,6 +2389,8 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2391,7 +2410,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 16 flowey_lib_common::cache 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 16 flowey_lib_common::install_rust 3 @@ -2399,31 +2418,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 16 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 - flowey.exe e 16 flowey_lib_common::publish_test_results 7 - flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 16 flowey_lib_common::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::build_xtask 1 @@ -2431,6 +2429,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2440,16 +2439,17 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 0 - flowey.exe e 16 flowey_lib_common::publish_test_results 1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2461,6 +2461,29 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 16 flowey_lib_common::publish_test_results 0 + flowey.exe e 16 flowey_lib_common::publish_test_results 1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 16 flowey_lib_common::publish_test_results 3 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2469,13 +2492,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml + name: aarch64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2514,7 +2537,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2522,7 +2545,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2682,6 +2705,8 @@ jobs: run: |- flowey e 17 flowey_lib_common::download_cargo_nextest 0 flowey e 17 flowey_lib_common::download_cargo_nextest 1 + flowey e 17 flowey_lib_common::download_cargo_nextest 2 + flowey e 17 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2701,7 +2726,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 17 flowey_lib_common::cache 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 2 + flowey e 17 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 17 flowey_lib_common::install_rust 3 @@ -2719,6 +2744,7 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 17 flowey_lib_common::publish_test_results 6 flowey e 17 flowey_lib_common::publish_test_results 7 flowey v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2740,6 +2766,7 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 17 flowey_lib_common::publish_test_results 9 flowey e 17 flowey_lib_common::publish_test_results 10 flowey v 17 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2761,6 +2788,7 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 17 flowey_lib_common::publish_test_results 12 flowey e 17 flowey_lib_common::publish_test_results 13 flowey v 17 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2797,6 +2825,7 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 17 flowey_lib_common::publish_test_results 0 flowey e 17 flowey_lib_common::publish_test_results 1 flowey v 17 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2818,6 +2847,7 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 17 flowey_lib_common::publish_test_results 3 flowey e 17 flowey_lib_common::publish_test_results 4 flowey v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2832,7 +2862,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-gnu @@ -2871,7 +2901,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2879,7 +2909,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3021,12 +3051,9 @@ jobs: - name: cargo clippy run: flowey e 18 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 18 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 18 flowey_lib_common::run_cargo_clippy 8 + flowey e 18 flowey_lib_common::run_cargo_clippy 6 flowey e 18 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3056,6 +3083,8 @@ jobs: run: |- flowey e 18 flowey_lib_common::download_cargo_nextest 0 flowey e 18 flowey_lib_common::download_cargo_nextest 1 + flowey e 18 flowey_lib_common::download_cargo_nextest 2 + flowey e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3075,7 +3104,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 18 flowey_lib_common::cache 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 2 + flowey e 18 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 18 flowey_lib_common::install_rust 3 @@ -3083,32 +3112,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 18 flowey_lib_common::install_cargo_nextest 0 - flowey e 18 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 18 flowey_lib_common::run_cargo_build 1 - flowey e 18 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 18 flowey_lib_hvlite::run_cargo_build 3 - flowey e 18 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 18 flowey_lib_hvlite::init_cross_build 3 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 7 flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3117,19 +3131,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 18 flowey_lib_common::publish_test_results 9 flowey e 18 flowey_lib_common::publish_test_results 10 flowey v 18 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3138,19 +3153,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 18 flowey_lib_common::publish_test_results 12 flowey e 18 flowey_lib_common::publish_test_results 13 flowey v 18 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3159,19 +3175,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 18 flowey_lib_common::publish_test_results 15 flowey e 18 flowey_lib_common::publish_test_results 16 flowey v 18 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3180,19 +3197,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 18 flowey_lib_hvlite::init_cross_build 1 + flowey e 18 flowey_lib_common::run_cargo_build 1 + flowey e 18 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 18 flowey_lib_hvlite::run_cargo_build 3 + flowey e 18 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -3201,19 +3234,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 18 flowey_lib_common::publish_test_results 3 flowey e 18 flowey_lib_common::publish_test_results 4 flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3222,13 +3256,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3261,9 +3295,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3272,7 +3306,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3298,47 +3332,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 19 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 19 flowey_lib_common::cache 8 - flowey.exe v 19 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 19 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 19 flowey_lib_common::cache 0 + flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 19 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3576,7 +3598,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3750,9 +3772,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3761,7 +3783,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -3787,6 +3809,79 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 20 flowey_lib_common::cache 0 + flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4057,7 +4066,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4083,47 +4092,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 21 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 21 flowey_lib_common::cache 8 - flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 21 flowey_lib_common::cache 0 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 21 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4358,7 +4355,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4384,47 +4381,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 22 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 22 flowey_lib_common::cache 8 - flowey.exe v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 22 flowey_lib_common::cache 0 + flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 22 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4659,7 +4644,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4685,48 +4670,59 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 23 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 23 flowey_lib_common::cache 8 - flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 23 flowey_lib_common::cache 0 + flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 23 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5244,7 +5246,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5308,6 +5310,8 @@ jobs: run: |- flowey e 25 flowey_lib_common::download_cargo_nextest 0 flowey e 25 flowey_lib_common::download_cargo_nextest 1 + flowey e 25 flowey_lib_common::download_cargo_nextest 2 + flowey e 25 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5327,7 +5331,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 25 flowey_lib_common::cache 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 2 + flowey e 25 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5354,7 +5358,18 @@ jobs: run: |- flowey e 25 flowey_lib_common::system_info 0 flowey e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 25 flowey_core::pipeline::artifact::resolve 8 + flowey e 25 flowey_core::pipeline::artifact::resolve 4 + flowey e 25 flowey_core::pipeline::artifact::resolve 1 + flowey e 25 flowey_core::pipeline::artifact::resolve 2 + flowey e 25 flowey_core::pipeline::artifact::resolve 3 + flowey e 25 flowey_core::pipeline::artifact::resolve 0 + flowey e 25 flowey_core::pipeline::artifact::resolve 7 + flowey v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5573,7 +5567,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5635,6 +5629,74 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 26 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 26 flowey_lib_common::cache 0 + flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 26 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -5901,7 +5890,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 27 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 27 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 27 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -5909,6 +5898,8 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5928,7 +5919,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5955,8 +5946,7 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 27 flowey_core::pipeline::artifact::resolve 6 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 shell: bash - name: create gh-release-download cache dir run: flowey e 27 flowey_lib_common::download_gh_release 0 @@ -5990,9 +5980,12 @@ jobs: - name: unpack QEMU archive run: |- flowey e 27 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 27 flowey_core::pipeline::artifact::resolve 4 + flowey e 27 flowey_core::pipeline::artifact::resolve 6 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 - flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH @@ -6173,177 +6150,74 @@ jobs: cat <<'EOF' | flowey v 28 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 28 'artifact_use_from_x64-linux-openvmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-perf-runner" | flowey v 28 'artifact_use_from_x64-linux-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (linux) - run: |- - flowey e 28 flowey_core::pipeline::artifact::resolve 1 - flowey e 28 flowey_core::pipeline::artifact::resolve 0 - flowey e 28 flowey_lib_hvlite::install_vmm_tests_external_deps 0 shell: bash - - name: checking if packages need to be installed - run: flowey e 28 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 28 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 28 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars + - name: check if openvmm needs to be cloned run: |- - flowey e 28 flowey_lib_common::cache 0 - flowey v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey e 28 flowey_lib_common::git_checkout 0 + flowey v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{x64-linux-musl-openvmm,x64-linux-musl-vmm-perf-runner}' - path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + name: _internal-flowey-bootstrap-x86_64-linux-uid-1 + path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey echo '"debug"' | flowey v 29 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update @@ -6351,97 +6225,53 @@ jobs: cat <<'EOF' | flowey v 29 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 29 'artifact_use_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (linux) - run: |- - flowey e 29 flowey_core::pipeline::artifact::resolve 1 - flowey e 29 flowey_core::pipeline::artifact::resolve 0 - flowey e 29 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: checking if packages need to be installed - run: flowey e 29 flowey_lib_common::install_dist_pkg 0 - shell: bash - - name: installing packages - run: flowey e 29 flowey_lib_common::install_dist_pkg 1 - shell: bash - - name: create gh-release-download cache dir - run: flowey e 29 flowey_lib_common::download_gh_release 0 shell: bash - - name: Pre-processing cache vars + - name: check if openvmm needs to be cloned run: |- - flowey e 29 flowey_lib_common::cache 0 - flowey v 29 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey v 29 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey e 29 flowey_lib_common::git_checkout 0 + flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey v 29 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe - - echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 30 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 30 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 30 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (windows) - run: |- - flowey.exe e 30 flowey_core::pipeline::artifact::resolve 1 - flowey.exe e 30 flowey_core::pipeline::artifact::resolve 0 - flowey.exe e 30 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 30 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 30 flowey_lib_common::cache 0 - flowey.exe v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey.exe v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe - - echo '"debug"' | flowey.exe v 31 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey.exe v 31 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_x64-windows-openvmm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 31 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update - shell: bash - - name: install vmm tests deps (windows) - run: |- - flowey.exe e 31 flowey_core::pipeline::artifact::resolve 1 - flowey.exe e 31 flowey_core::pipeline::artifact::resolve 0 - flowey.exe e 31 flowey_lib_hvlite::install_vmm_tests_external_deps 0 - shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 31 flowey_lib_common::download_gh_release 0 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 31 flowey_lib_common::cache 0 - flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 - flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar3 }} - path: ${{ env.floweyvar4 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases - run: |- - flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH - shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - - echo '"debug"' | flowey v 32 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 32 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 32 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF - shell: bash - - name: check if openvmm needs to be cloned - run: |- - flowey e 32 flowey_lib_common::git_checkout 0 - flowey v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories - run: |- - flowey v 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + flowey e 3 flowey_lib_hvlite::run_split_debug_info 7 + flowey e 3 flowey_lib_hvlite::run_cargo_build 19 + flowey e 3 flowey_lib_hvlite::build_tmk_vmm 1 + flowey e 3 flowey_core::pipeline::artifact::publish 1 + flowey e 3 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ›« Initialize job - run: | - AgentTempDirNormal="${{ runner.temp }}" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey - - echo '"debug"' | flowey v 33 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 33 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | flowey v 33 'verbose' update - ${{ inputs.verbose != '' && inputs.verbose || 'false' }} - EOF + - name: cargo build incubator + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 2 + flowey e 3 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: check if openvmm needs to be cloned + - name: split debug symbols run: |- - flowey e 33 flowey_lib_common::git_checkout 0 - flowey v 33 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 33 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 3 flowey_lib_hvlite::run_split_debug_info 4 + flowey e 3 flowey_lib_hvlite::run_cargo_build 3 + flowey e 3 flowey_lib_hvlite::build_incubator 0 + flowey e 3 flowey_core::pipeline::artifact::publish 2 + flowey e 3 flowey_lib_hvlite::init_cross_build 4 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: cargo build guest_test_uefi run: |- - flowey v 33 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7242,7 +6667,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7295,8 +6720,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -7369,7 +6792,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -7386,7 +6809,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -7394,7 +6817,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7402,14 +6825,6 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 4 flowey_lib_common::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7438,12 +6853,6 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ - include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7471,7 +6880,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7479,7 +6888,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7677,6 +7086,8 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7696,7 +7107,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -7793,7 +7204,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7801,7 +7212,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7854,8 +7265,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -7928,7 +7337,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -7949,7 +7358,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -7957,7 +7366,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7965,14 +7374,6 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 6 flowey_lib_common::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -8001,12 +7402,6 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ - include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -8034,7 +7429,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8042,7 +7437,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8240,6 +7635,8 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8259,7 +7656,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -8335,7 +7732,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-windows-uid-7 + name: _internal-flowey-bootstrap-x86_64-windows-uid-6 path: ${{ runner.temp }}/bootstrapped-flowey job8: name: build artifacts (for VMM tests) [aarch64-linux] @@ -8379,10 +7776,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -8397,8 +7790,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8479,7 +7870,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build openvmm run: |- @@ -8492,7 +7883,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8505,7 +7896,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -8518,7 +7909,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- @@ -8531,7 +7922,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- @@ -8540,7 +7931,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -8553,7 +7944,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8573,7 +7964,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build openvmm run: |- @@ -8586,7 +7977,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8599,7 +7990,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build prep_steps run: |- @@ -8617,6 +8008,8 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8636,7 +8029,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -8644,46 +8037,13 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 - shell: bash - - name: build + archive 'vmm_tests' nextests - run: |- - flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 - flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 8 flowey_core::pipeline::artifact::publish 11 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 8 flowey_lib_hvlite::run_cargo_build 20 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 8 flowey_core::pipeline::artifact::publish 12 - flowey e 8 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 11 - flowey e 8 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 22 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -8709,18 +8069,6 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-tests-archive - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8763,12 +8111,6 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8817,8 +8159,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -8835,8 +8175,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8995,7 +8333,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -9015,7 +8353,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm run: |- @@ -9028,7 +8366,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9041,7 +8379,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build prep_steps run: |- @@ -9059,6 +8397,8 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9078,7 +8418,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -9093,39 +8433,13 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 9 flowey_lib_hvlite::run_cargo_build 20 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 9 flowey_core::pipeline::artifact::publish 12 - flowey e 9 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 11 - flowey e 9 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 22 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -9151,12 +8465,6 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9205,12 +8513,6 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index c994895ef49..22cb51257cd 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -49,7 +49,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -57,7 +57,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -263,7 +263,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -271,7 +271,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1686,7 +1686,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1694,7 +1694,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1836,6 +1836,8 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1855,7 +1857,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 15 flowey_lib_common::cache 2 - flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 15 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 15 flowey_lib_common::install_rust 3 @@ -1863,31 +1865,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 15 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 15 flowey_lib_common::publish_test_results 6 - flowey.exe e 15 flowey_lib_common::publish_test_results 7 - flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 15 flowey_lib_common::run_cargo_build 1 flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 15 flowey_lib_hvlite::build_xtask 1 @@ -1895,6 +1876,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1904,16 +1886,17 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 15 flowey_lib_common::publish_test_results 0 - flowey.exe e 15 flowey_lib_common::publish_test_results 1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 15 flowey_lib_common::publish_test_results 6 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 + flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1925,6 +1908,29 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 15 flowey_lib_common::publish_test_results 0 + flowey.exe e 15 flowey_lib_common::publish_test_results 1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 15 flowey_lib_common::publish_test_results 3 flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1933,13 +1939,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-native-junit-xml + name: x64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -2094,6 +2100,8 @@ jobs: run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 flowey e 16 flowey_lib_common::download_cargo_nextest 1 + flowey e 16 flowey_lib_common::download_cargo_nextest 2 + flowey e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2113,7 +2121,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 16 flowey_lib_common::cache 2 - flowey e 16 flowey_lib_common::download_cargo_nextest 2 + flowey e 16 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 16 flowey_lib_common::install_rust 3 @@ -2131,6 +2139,7 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 7 flowey v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2152,6 +2161,7 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 flowey v 16 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2173,6 +2183,7 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey v 16 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2209,6 +2220,7 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2230,6 +2242,7 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 3 flowey e 16 flowey_lib_common::publish_test_results 4 flowey v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2244,7 +2257,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -2389,12 +2402,9 @@ jobs: - name: cargo clippy run: flowey e 17 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 17 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 17 flowey_lib_common::run_cargo_clippy 8 + flowey e 17 flowey_lib_common::run_cargo_clippy 6 flowey e 17 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2424,6 +2434,8 @@ jobs: run: |- flowey e 17 flowey_lib_common::download_cargo_nextest 0 flowey e 17 flowey_lib_common::download_cargo_nextest 1 + flowey e 17 flowey_lib_common::download_cargo_nextest 2 + flowey e 17 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2443,7 +2455,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 17 flowey_lib_common::cache 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 2 + flowey e 17 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 17 flowey_lib_common::install_rust 3 @@ -2451,32 +2463,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 17 flowey_lib_common::install_cargo_nextest 0 - flowey e 17 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 17 flowey_lib_common::run_cargo_build 1 - flowey e 17 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 17 flowey_lib_hvlite::run_cargo_build 3 - flowey e 17 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 17 flowey_lib_hvlite::init_cross_build 3 - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 17 flowey_lib_common::publish_test_results 6 flowey e 17 flowey_lib_common::publish_test_results 7 flowey v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2485,19 +2482,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 17 flowey_lib_common::publish_test_results 9 flowey e 17 flowey_lib_common::publish_test_results 10 flowey v 17 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2506,19 +2504,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 17 flowey_lib_common::publish_test_results 12 flowey e 17 flowey_lib_common::publish_test_results 13 flowey v 17 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2527,19 +2526,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 17 flowey_lib_common::publish_test_results 15 flowey e 17 flowey_lib_common::publish_test_results 16 flowey v 17 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2548,19 +2548,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 17 flowey_lib_hvlite::init_cross_build 1 + flowey e 17 flowey_lib_common::run_cargo_build 1 + flowey e 17 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 17 flowey_lib_hvlite::run_cargo_build 3 + flowey e 17 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'x64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 17 flowey_lib_common::publish_test_results 0 flowey e 17 flowey_lib_common::publish_test_results 1 flowey v 17 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2569,19 +2585,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 17 flowey_lib_common::publish_test_results 3 flowey e 17 flowey_lib_common::publish_test_results 4 flowey v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2590,13 +2607,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2635,7 +2652,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2643,7 +2660,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2785,6 +2802,8 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2804,7 +2823,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 18 flowey_lib_common::cache 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 18 flowey_lib_common::install_rust 3 @@ -2812,31 +2831,10 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 18 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 18 flowey_lib_hvlite::init_cross_build 1 - flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - shell: bash - - name: generate nextest command - run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 18 flowey_lib_common::publish_test_results 6 - flowey.exe e 18 flowey_lib_common::publish_test_results 7 - flowey.exe v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 18 flowey_lib_hvlite::init_cross_build 3 shell: bash - - id: flowey_lib_common__publish_test_results__8 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml - path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- - flowey.exe e 18 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 18 flowey_lib_common::run_cargo_build 1 flowey.exe e 18 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 18 flowey_lib_hvlite::build_xtask 1 @@ -2844,6 +2842,7 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey.exe e 18 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2853,16 +2852,17 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 18 flowey_lib_common::publish_test_results 0 - flowey.exe e 18 flowey_lib_common::publish_test_results 1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 18 flowey_lib_common::publish_test_results 6 + flowey.exe e 18 flowey_lib_common::publish_test_results 7 + flowey.exe v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__2 + - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar1 }} + path: ${{ env.floweyvar3 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2874,6 +2874,29 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 3 + flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey.exe e 18 flowey_lib_common::publish_test_results 0 + flowey.exe e 18 flowey_lib_common::publish_test_results 1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__publish_test_results__2 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-native-junit-xml + path: ${{ env.floweyvar1 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: generate nextest command + run: |- + flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 18 flowey_lib_common::publish_test_results 3 flowey.exe e 18 flowey_lib_common::publish_test_results 4 flowey.exe v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2882,13 +2905,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml + name: aarch64-windows-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey.exe e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2927,7 +2950,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2935,7 +2958,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2981,48 +3004,22 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 - flowey e 19 flowey_lib_common::download_cargo_nextest 0 - flowey e 19 flowey_lib_common::download_cargo_nextest 1 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey e 19 flowey_lib_common::cache 0 - flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 - flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar6 }} - path: ${{ env.floweyvar7 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3291,7 +3322,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3471,7 +3502,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3479,7 +3510,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3621,12 +3652,9 @@ jobs: - name: cargo clippy run: flowey e 20 flowey_lib_common::run_cargo_clippy 7 shell: bash - - name: cargo clippy - run: flowey e 20 flowey_lib_common::run_cargo_clippy 6 - shell: bash - name: cargo clippy run: |- - flowey e 20 flowey_lib_common::run_cargo_clippy 8 + flowey e 20 flowey_lib_common::run_cargo_clippy 6 flowey e 20 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3656,6 +3684,8 @@ jobs: run: |- flowey e 20 flowey_lib_common::download_cargo_nextest 0 flowey e 20 flowey_lib_common::download_cargo_nextest 1 + flowey e 20 flowey_lib_common::download_cargo_nextest 2 + flowey e 20 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3675,7 +3705,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 20 flowey_lib_common::cache 2 - flowey e 20 flowey_lib_common::download_cargo_nextest 2 + flowey e 20 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 20 flowey_lib_common::install_rust 3 @@ -3683,32 +3713,17 @@ jobs: - name: installing cargo-nextest run: |- flowey e 20 flowey_lib_common::install_cargo_nextest 0 - flowey e 20 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build xtask - run: |- - flowey e 20 flowey_lib_common::run_cargo_build 1 - flowey e 20 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 20 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 20 flowey_lib_hvlite::run_cargo_build 3 - flowey e 20 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 20 flowey_lib_hvlite::init_cross_build 3 - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 4 shell: bash - name: generate nextest command - run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 20 flowey_lib_common::publish_test_results 6 flowey e 20 flowey_lib_common::publish_test_results 7 flowey v 20 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3717,19 +3732,20 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 20 flowey_lib_common::publish_test_results 9 flowey e 20 flowey_lib_common::publish_test_results 10 flowey v 20 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3738,19 +3754,20 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 4 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 9 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 20 flowey_lib_common::publish_test_results 12 flowey e 20 flowey_lib_common::publish_test_results 13 flowey v 20 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3759,19 +3776,20 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 7 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 6 flowey e 20 flowey_lib_common::publish_test_results 15 flowey e 20 flowey_lib_common::publish_test_results 16 flowey v 20 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3780,19 +3798,35 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command + - name: cargo build xtask run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 20 flowey_lib_hvlite::init_cross_build 1 + flowey e 20 flowey_lib_common::run_cargo_build 1 + flowey e 20 flowey_lib_hvlite::run_cargo_build 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: split debug symbols run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 20 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 20 flowey_lib_hvlite::run_cargo_build 3 + flowey e 20 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 0 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0 + shell: bash + - name: generate nextest command + run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + shell: bash + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + run: |- + flowey e 20 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 20 flowey_lib_common::publish_test_results 0 flowey e 20 flowey_lib_common::publish_test_results 1 flowey v 20 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -3801,19 +3835,20 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 3 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 5 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 20 flowey_lib_common::publish_test_results 3 flowey e 20 flowey_lib_common::publish_test_results 4 flowey v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3822,13 +3857,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 7 flowey e 20 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3898,47 +3933,58 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create gh-release-download cache dir - run: flowey.exe e 21 flowey_lib_common::download_gh_release 0 + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 21 flowey_lib_common::cache 8 - flowey.exe v 21 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 - flowey.exe v 21 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 + flowey.exe e 21 flowey_lib_common::cache 0 + flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 shell: bash - - id: flowey_lib_common__cache__9 + - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar8 }} - path: ${{ env.floweyvar9 }} - name: 'Restore cache: gh-release-download' - - name: download artifacts from github releases + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest run: |- - flowey.exe v 21 'flowey_lib_common::cache:20:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__9.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5656,7 +5659,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5720,6 +5723,8 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5739,7 +5744,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 + flowey e 27 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5766,7 +5771,18 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 27 flowey_core::pipeline::artifact::resolve 8 + flowey e 27 flowey_core::pipeline::artifact::resolve 4 + flowey e 27 flowey_core::pipeline::artifact::resolve 1 + flowey e 27 flowey_core::pipeline::artifact::resolve 2 + flowey e 27 flowey_core::pipeline::artifact::resolve 3 + flowey e 27 flowey_core::pipeline::artifact::resolve 0 + flowey e 27 flowey_core::pipeline::artifact::resolve 7 + flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5985,7 +5980,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6047,6 +6042,74 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash + - name: create cargo-nextest cache dir + run: |- + flowey.exe e 28 flowey_lib_common::download_cargo_nextest 0 + flowey.exe e 28 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 28 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 28 flowey_lib_common::download_cargo_nextest 3 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 28 flowey_lib_common::cache 0 + flowey.exe v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + flowey.exe v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar4 }} + path: ${{ env.floweyvar5 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey.exe v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -6313,7 +6303,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 29 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 29 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 29 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 29 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 29 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 29 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -6321,6 +6311,8 @@ jobs: run: |- flowey e 29 flowey_lib_common::download_cargo_nextest 0 flowey e 29 flowey_lib_common::download_cargo_nextest 1 + flowey e 29 flowey_lib_common::download_cargo_nextest 2 + flowey e 29 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -6340,7 +6332,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 29 flowey_lib_common::cache 2 - flowey e 29 flowey_lib_common::download_cargo_nextest 2 + flowey e 29 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -6367,8 +6359,7 @@ jobs: run: |- flowey e 29 flowey_lib_common::system_info 0 flowey e 29 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 29 flowey_core::pipeline::artifact::resolve 6 + flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 shell: bash - name: create gh-release-download cache dir run: flowey e 29 flowey_lib_common::download_gh_release 0 @@ -6402,9 +6393,12 @@ jobs: - name: unpack QEMU archive run: |- flowey e 29 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 29 flowey_core::pipeline::artifact::resolve 4 + flowey e 29 flowey_core::pipeline::artifact::resolve 6 + flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 - flowey v 29 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7164,7 +7148,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7217,8 +7201,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -7291,7 +7273,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -7308,7 +7290,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -7316,7 +7298,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7324,14 +7306,6 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 4 flowey_lib_common::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7360,12 +7334,6 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ - include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7393,7 +7361,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7401,7 +7369,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7599,6 +7567,8 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7618,7 +7588,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -7715,7 +7685,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7723,7 +7693,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7776,8 +7746,6 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" - echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -7850,7 +7818,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build hypestv run: |- @@ -7871,7 +7839,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -7879,7 +7847,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7887,14 +7855,6 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey.exe e 6 flowey_lib_common::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 - flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 - flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -7923,12 +7883,6 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ - include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -7956,7 +7910,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7964,7 +7918,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8162,6 +8116,8 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8181,7 +8137,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -8301,10 +8257,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -8319,8 +8271,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8401,7 +8351,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build openvmm run: |- @@ -8414,7 +8364,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8427,7 +8377,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -8440,7 +8390,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgstool run: |- @@ -8453,7 +8403,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build vmgs_lib run: |- @@ -8462,7 +8412,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build igvmfilegen run: |- @@ -8475,7 +8425,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8495,7 +8445,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build openvmm run: |- @@ -8508,7 +8458,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8521,7 +8471,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build prep_steps run: |- @@ -8539,6 +8489,8 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8558,7 +8510,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 + flowey e 8 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -8566,46 +8518,13 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 - shell: bash - - name: build + archive 'vmm_tests' nextests - run: |- - flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 - flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 - flowey e 8 flowey_core::pipeline::artifact::publish 11 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 8 flowey_lib_hvlite::run_cargo_build 20 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 8 flowey_core::pipeline::artifact::publish 12 - flowey e 8 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 8 flowey_lib_common::run_cargo_build 11 - flowey e 8 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 8 flowey_lib_hvlite::run_cargo_build 22 - flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -8631,18 +8550,6 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-musl-vmm-tests-archive - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8685,12 +8592,6 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8739,8 +8640,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -8757,8 +8656,6 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update - mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" - echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8917,7 +8814,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8937,7 +8834,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: cargo build openvmm run: |- @@ -8950,7 +8847,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8963,7 +8860,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build prep_steps run: |- @@ -8981,6 +8878,8 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9000,7 +8899,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 + flowey e 9 flowey_lib_common::download_cargo_nextest 4 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -9015,39 +8914,13 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 19 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 - flowey e 9 flowey_lib_hvlite::run_cargo_build 20 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 - flowey e 9 flowey_core::pipeline::artifact::publish 12 - flowey e 9 flowey_lib_hvlite::init_cross_build 13 - shell: bash - - name: cargo build vmm_perf - run: |- - flowey e 9 flowey_lib_common::run_cargo_build 11 - flowey e 9 flowey_lib_hvlite::run_cargo_build 21 - shell: bash - - name: split debug symbols - run: |- - flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 - flowey e 9 flowey_lib_hvlite::run_cargo_build 22 - flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 - flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -9073,12 +8946,6 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-musl-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9127,12 +8994,6 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true - - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-linux-vmm-perf-runner - path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ - include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: From d41ea3564c313565284088638046403c2050f66e Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Mon, 24 Aug 2026 17:11:18 +0200 Subject: [PATCH 4/7] addressing comments --- .github/workflows/openvmm-ci.yaml | 385 ++++-- .github/workflows/openvmm-pr-release.yaml | 287 +++- .github/workflows/openvmm-pr.yaml | 296 +++- Cargo.lock | 1 - ci-flowey/openvmm-pr.yaml | 1199 +++++++++-------- .../src/pipelines/checkin_gates.rs | 45 +- .../src/pipelines/vmm_tests_run.rs | 2 +- .../_jobs/local_custom_vmfirmwareigvm_dll.rs | 4 +- .../src/build_vmfirmwareigvm_dll.rs | 34 +- petri/src/vm/hyperv/hyperv.psm1 | 30 +- petri/src/vm/hyperv/mod.rs | 26 +- petri/src/vm/hyperv/powershell.rs | 45 - petri/src/vm/mod.rs | 70 +- petri/src/vm/openvmm/construct.rs | 13 +- tmk/tmk_tests/src/lib.rs | 2 +- vmm_tests/vmm_tests/Cargo.toml | 1 - .../vmm_tests/tests/tests/multiarch/vmgs.rs | 30 +- 17 files changed, 1497 insertions(+), 973 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index 189d188b30f..d6b78dcb0e9 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -3525,9 +3525,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3536,7 +3536,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3999,9 +3999,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4010,7 +4010,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -4281,9 +4281,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4292,7 +4292,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4569,9 +4569,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4580,7 +4580,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4852,15 +4852,16 @@ jobs: - job11 - job2 - job3 + - job30 - job7 if: github.event.pull_request.draft == false steps: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-14,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-11,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-11" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4869,7 +4870,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-14/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-11/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4885,6 +4886,7 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 23 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update @@ -4947,15 +4949,15 @@ jobs: run: |- flowey.exe e 23 flowey_lib_common::system_info 0 flowey.exe e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8 + flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 9 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 14 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 10 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 13 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 16 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 14 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 11 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 4 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 6 @@ -4963,25 +4965,12 @@ jobs: flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 0 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8 flowey.exe v 23 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -5193,7 +5159,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-12/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey echo '"debug"' | flowey v 24 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 24 '_internal_WORKING_DIR' --is-raw-string update @@ -6088,9 +6054,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-13,aarch64-guest_test_uefi,aarch64-linux-musl-openvmm,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-linux-vmm-tests-archive,aarch64-tmks,x64-linux-incubator}' + pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-14,aarch64-guest_test_uefi,aarch64-linux-musl-openvmm,aarch64-linux-musl-pipette,aarch64-linux-musl-tmk_vmm,aarch64-linux-vmm-tests-archive,aarch64-tmks,x64-linux-incubator}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -6099,7 +6065,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey echo '"debug"' | flowey v 27 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update @@ -6981,6 +6947,200 @@ jobs: path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ include-hidden-files: true job30: + name: build vmfirmwareigvm cvm [x64-windows] + runs-on: + - self-hosted + - 1ES.Pool=openvmm-gh-intel-westus3-v6 + - 1ES.ImageOverride=win-amd64-v2 + - JobId=job30-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} + permissions: + contents: read + id-token: write + needs: + - job11 + if: github.event.pull_request.draft == false + steps: + - run: | + set -x + i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; + sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y + curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y + . "$HOME/.cargo/env" + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + name: x64-openhcl-igvm-cvm + path: ${{ runner.temp }}/used_artifacts/x64-openhcl-igvm-cvm/ + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 30 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 30 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 30 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 30 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 30 flowey_lib_common::install_rust 2 + flowey.exe e 30 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 30 flowey_lib_common::git_checkout 0 + flowey.exe v 30 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey.exe v 30 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 30 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -7032,27 +7193,27 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey - echo '"debug"' | flowey v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 30 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 31 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 31 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 30 'verbose' update + cat <<'EOF' | flowey v 31 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 30 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 30 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 30 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 30 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 31 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 31 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 31 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 31 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update shell: bash - name: create gh cache dir - run: flowey e 30 flowey_lib_common::download_gh_cli 0 + run: flowey e 31 flowey_lib_common::download_gh_cli 0 shell: bash - name: Pre-processing cache vars run: |- - flowey e 30 flowey_lib_common::cache 0 - flowey v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 - flowey v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey e 31 flowey_lib_common::cache 0 + flowey v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 + flowey v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 @@ -7062,31 +7223,31 @@ jobs: name: 'Restore cache: gh-cli' - name: installing gh run: |- - flowey v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3306,7 +3306,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3772,9 +3772,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3783,7 +3783,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -4055,9 +4055,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4066,7 +4066,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4344,9 +4344,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4355,7 +4355,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4627,13 +4627,14 @@ jobs: - job11 - job2 - job3 + - job30 - job7 if: contains(github.event.pull_request.labels.*.name, 'release-ci-required') && github.event.pull_request.draft == false steps: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash @@ -4660,6 +4661,7 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 23 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 23 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 23 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 23 'artifact_use_from_x64-windows-openvmm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 23 'artifact_use_from_x64-windows-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 23 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update @@ -4722,15 +4724,15 @@ jobs: run: |- flowey.exe e 23 flowey_lib_common::system_info 0 flowey.exe e 23 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8 + flowey.exe e 23 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 9 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 14 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 10 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 13 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 16 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 14 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 3 - flowey.exe e 23 flowey_core::pipeline::artifact::resolve 11 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 12 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 4 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 5 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 6 @@ -4738,25 +4740,12 @@ jobs: flowey.exe e 23 flowey_core::pipeline::artifact::resolve 2 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 0 flowey.exe e 23 flowey_core::pipeline::artifact::resolve 7 + flowey.exe e 23 flowey_core::pipeline::artifact::resolve 8 flowey.exe v 23 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + name: x64-openhcl-igvm-cvm + path: ${{ runner.temp }}/used_artifacts/x64-openhcl-igvm-cvm/ + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 30 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 30 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 30 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 30 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 30 flowey_lib_common::install_rust 2 + flowey.exe e 30 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 30 flowey_lib_common::git_checkout 0 + flowey.exe v 30 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey.exe v 30 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 30 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3907,7 +3907,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4185,9 +4185,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4196,7 +4196,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4468,9 +4468,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4479,7 +4479,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4757,9 +4757,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4768,7 +4768,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe echo '"debug"' | flowey.exe v 24 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 24 '_internal_WORKING_DIR' --is-raw-string update @@ -5040,13 +5040,14 @@ jobs: - job12 - job2 - job3 + - job32 - job7 if: github.event.pull_request.draft == false steps: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-6,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-vmfirmwareigvm-cvm,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6" >> $GITHUB_PATH shell: bash @@ -5073,6 +5074,7 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 25 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-test-linux-direct" | flowey.exe v 25 'artifact_use_from_x64-openhcl-igvm-test-linux-direct' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-tmks" | flowey.exe v 25 'artifact_use_from_x64-tmks' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 25 'artifact_use_from_x64-vmfirmwareigvm-cvm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 25 'artifact_use_from_x64-windows-openvmm' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-pipette" | flowey.exe v 25 'artifact_use_from_x64-windows-pipette' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-prep_steps" | flowey.exe v 25 'artifact_use_from_x64-windows-prep_steps' --is-raw-string update @@ -5135,15 +5137,15 @@ jobs: run: |- flowey.exe e 25 flowey_lib_common::system_info 0 flowey.exe e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey.exe e 25 flowey_core::pipeline::artifact::resolve 8 + flowey.exe e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 9 - flowey.exe e 25 flowey_core::pipeline::artifact::resolve 12 - flowey.exe e 25 flowey_core::pipeline::artifact::resolve 14 - flowey.exe e 25 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 10 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 13 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 16 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 14 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 3 - flowey.exe e 25 flowey_core::pipeline::artifact::resolve 11 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 12 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 4 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 5 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 6 @@ -5151,25 +5153,12 @@ jobs: flowey.exe e 25 flowey_core::pipeline::artifact::resolve 2 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 0 flowey.exe e 25 flowey_core::pipeline::artifact::resolve 7 + flowey.exe e 25 flowey_core::pipeline::artifact::resolve 8 flowey.exe v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe "$OutDirNormal/flowey.exe" + working-directory: flowey_bootstrap + shell: bash + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + name: x64-openhcl-igvm-cvm + path: ${{ runner.temp }}/used_artifacts/x64-openhcl-igvm-cvm/ + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey.exe pipeline github --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out .github/workflows/openvmm-pr.yaml ci checkin-gates --config=pr + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe + + echo '"debug"' | flowey.exe v 32 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 32 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 32 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" + echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 32 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 32 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update + shell: bash + - name: add default cargo home to path + run: flowey.exe e 32 flowey_lib_common::install_rust 0 + shell: bash + - name: install Rust + run: flowey.exe e 32 flowey_lib_common::install_rust 1 + shell: bash + - name: detect active toolchain + run: |- + flowey.exe e 32 flowey_lib_common::install_rust 2 + flowey.exe e 32 flowey_lib_common::cfg_cargo_common_flags 0 + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey.exe e 32 flowey_lib_common::git_checkout 0 + flowey.exe v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey.exe v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey.exe v 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace < { - self.build.vmfirmwareigvm_cvm_x64 = true; + self.build.vmfirmwareigvm_cvm = true; self.build.openhcl_cvm = true; } diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs index 97152997c9f..b70056ee540 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs @@ -34,7 +34,9 @@ impl SimpleFlowNode for Node { let built_dll = ctx.reqv(|v| crate::build_vmfirmwareigvm_dll::Request { arch, - igvm_bin: ReadVar::from_static(igvm_payload), + igvm_bin: crate::build_vmfirmwareigvm_dll::IgvmInput::File(ReadVar::from_static( + igvm_payload, + )), // custom-vmfirmwareigvm-dll pipeline uses resource ID 1. resource_id: 1, // fixed version to signal that this is a custom dll diff --git a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs index 3a90f798e97..d8bdd824169 100644 --- a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs @@ -3,12 +3,20 @@ //! Build an instance of `vmfirmwareigvm.dll` +use crate::build_openhcl_igvm_from_recipe::OpenhclIgvmOutput; use crate::common::CommonArch; use crate::common::CommonTriple; use flowey::node::prelude::*; -use petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64_FILE_NAME; use std::collections::BTreeMap; +pub const UNUSED_DLL_VERSION: (u16, u16, u16, u16) = (0, 0, 0, 0); + +#[derive(Serialize, Deserialize)] +pub enum IgvmInput { + File(ReadVar), + Openhcl(ReadVar), +} + #[derive(Serialize, Deserialize)] pub struct VmfirmwareigvmDllOutput { #[serde(rename = "vmfirmwareigvm.dll")] @@ -20,7 +28,7 @@ impl Artifact for VmfirmwareigvmDllOutput {} flowey_request! { pub struct Request { pub arch: CommonArch, - pub igvm_bin: ReadVar, + pub igvm_bin: IgvmInput, /// ID to store the IGVM under within the `VMFW` resource type. pub resource_id: u32, /// (major, minor, patch, revision) @@ -30,21 +38,6 @@ flowey_request! { } } -/// Builds the x64 CVM resource DLL under the SNP resource ID for the VMGS boot test. -pub fn cvm_x64_test_dll( - ctx: &mut NodeCtx<'_>, - igvm_bin: ReadVar, -) -> ReadVar { - ctx.reqv(|v| Request { - arch: CommonArch::X86_64, - igvm_bin, - resource_id: 13515, - dll_version: ReadVar::from_static((0, 0, 0, 0)), - internal_dll_name: LATEST_CVM_X64_FILE_NAME.into(), - vmfirmwareigvm_dll: v, - }) -} - new_simple_flow_node!(struct Node); impl SimpleFlowNode for Node { @@ -64,6 +57,13 @@ impl SimpleFlowNode for Node { vmfirmwareigvm_dll, } = request; + let igvm_bin = match igvm_bin { + IgvmInput::File(igvm_bin) => igvm_bin, + IgvmInput::Openhcl(openhcl_igvm) => { + openhcl_igvm.map(ctx, |o| o.igvm_bin().to_path_buf()) + } + }; + let extra_env = ctx.emit_rust_stepv("determine vmfirmwareigvm_dll env vars", |ctx| { let igvm_bin = igvm_bin.claim(ctx); let dll_version = dll_version.claim(ctx); diff --git a/petri/src/vm/hyperv/hyperv.psm1 b/petri/src/vm/hyperv/hyperv.psm1 index dd0b9591e78..d48a14dde66 100644 --- a/petri/src/vm/hyperv/hyperv.psm1 +++ b/petri/src/vm/hyperv/hyperv.psm1 @@ -104,28 +104,6 @@ function Get-VmSasd # Hyper-V Configuration Cmdlets # -function Set-OpenHclVssdProperties -{ - [CmdletBinding()] - Param ( - [Parameter(Mandatory = $true)] - [hashtable] $VssdProperties, - - [bool] $EnableOpenHCL = $false, - - [string] $FirmwareFile = $null - ) - - if ($EnableOpenHCL -or $FirmwareFile) { - # A firmware file also implies the OpenHCL guest feature. - $VssdProperties["GuestFeatureSet"] = 0x00000201 - } - - if ($FirmwareFile) { - $VssdProperties["FirmwareFile"] = $FirmwareFile - } -} - # this function is optimized for performance and does minimal input validation function New-CustomVM { @@ -285,7 +263,13 @@ function New-CustomVM $vssdProperties["GuestStateEncryptionPolicy"] = $GuestStateEncryptionPolicy } - Set-OpenHclVssdProperties -VssdProperties $vssdProperties -EnableOpenHCL $EnableOpenHCL -FirmwareFile $FirmwareFile + if ($EnableOpenHCL -or $FirmwareFile) { + $vssdProperties["GuestFeatureSet"] = 0x00000201 + } + + if ($FirmwareFile) { + $vssdProperties["FirmwareFile"] = $FirmwareFile + } if ($FirmwareParameters) { $vssdProperties["FirmwareParameters"] = [System.Text.Encoding]::UTF8.GetBytes($FirmwareParameters) diff --git a/petri/src/vm/hyperv/mod.rs b/petri/src/vm/hyperv/mod.rs index 8b74d08befa..f4d6923f86b 100644 --- a/petri/src/vm/hyperv/mod.rs +++ b/petri/src/vm/hyperv/mod.rs @@ -11,6 +11,7 @@ use vmsocket::VmSocket; use crate::Disk; use crate::Drive; use crate::Firmware; +use crate::IgvmFirmwareSource; use crate::IsolationType; use crate::ModifyFn; use crate::NoPetriVmInspector; @@ -64,14 +65,6 @@ use vtl2_settings_proto::Vtl2Settings; const IGVM_FILE_NAME: &str = "igvm.bin"; -fn openhcl_firmware_path( - is_openhcl: bool, - load_openhcl_from_vmgs: bool, - temp_dir: &Path, -) -> Option { - (is_openhcl && !load_openhcl_from_vmgs).then(|| temp_dir.join(IGVM_FILE_NAME)) -} - /// The Hyper-V Petri backend #[derive(Debug)] pub struct HyperVPetriBackend {} @@ -190,11 +183,11 @@ impl PetriVmmBackend for HyperVPetriBackend { let temp_dir = tempfile::tempdir()?; - let igvm_file = openhcl_firmware_path( - properties.is_openhcl, - config.load_openhcl_from_vmgs, - temp_dir.path(), - ); + let igvm_file = matches!( + config.firmware.openhcl_firmware(), + Some(IgvmFirmwareSource::File(_)) + ) + .then(|| temp_dir.path().join(IGVM_FILE_NAME)); let mut openhcl_command_line = config.firmware.openhcl_config().map(|c| c.command_line()); @@ -448,8 +441,11 @@ impl PetriVmmBackend for HyperVPetriBackend { if properties.is_openhcl { if let Some(local_path) = &igvm_file { // Copy the IGVM file locally, since it is not accessible from a WSL filesystem - fs_err::copy(config.firmware.openhcl_firmware().unwrap(), local_path) - .context("failed to copy igvm file")?; + let Some(IgvmFirmwareSource::File(igvm_path)) = config.firmware.openhcl_firmware() + else { + unreachable!(); + }; + fs_err::copy(igvm_path.get(), local_path).context("failed to copy igvm file")?; acl_for_vm(local_path, Some(*vm.vmid()), false) .context("failed to set ACL for igvm file")?; } diff --git a/petri/src/vm/hyperv/powershell.rs b/petri/src/vm/hyperv/powershell.rs index d02eeba7ac2..1d20a97a00b 100644 --- a/petri/src/vm/hyperv/powershell.rs +++ b/petri/src/vm/hyperv/powershell.rs @@ -362,7 +362,6 @@ impl HyperVNewCustomVMArgs { pub async fn make_compatible(&mut self) -> anyhow::Result<()> { let available_properties = run_get_vssd_properties().await?; let property_exists = |name: &str| available_properties.iter().any(|x| x == name); - self.enable_openhcl |= self.firmware_file.is_some(); let is_openhcl = self.enable_openhcl; if let Some(guest_state_lifetime) = self.guest_state_lifetime.as_ref() @@ -2150,50 +2149,6 @@ pub async fn run_get_guest_state_file(vmid: &Guid, ps_mod: &Path) -> anyhow::Res Ok(PathBuf::from(output)) } -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn openhcl_from_vmgs_sets_guest_feature_without_firmware_file() { - let ps_mod = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("src/vm/hyperv/hyperv.psm1"); - let temp_dir = tempfile::tempdir().expect("failed to create temp directory"); - let firmware_file = super::super::openhcl_firmware_path(true, true, temp_dir.path()); - assert!(firmware_file.is_none()); - - let output = PowerShellBuilder::new() - .cmdlet("Import-Module") - .positional(&ps_mod) - .arg("ErrorAction", ps::RawVal::new("Stop")) - .next() - .cmdlet("$properties = @{}") - .next() - .cmdlet("Set-OpenHclVssdProperties") - .arg("VssdProperties", ps::RawVal::new("$properties")) - .arg("EnableOpenHCL", true) - .arg_opt("FirmwareFile", firmware_file) - .next() - .cmdlet("[PSCustomObject]@{ GuestFeatureSet = $properties['GuestFeatureSet']; HasFirmwareFile = $properties.ContainsKey('FirmwareFile') }") - .pipeline() - .cmdlet("ConvertTo-Json") - .flag("Compress") - .finish() - .build() - .output() - .expect("failed to run PowerShell"); - - assert!( - output.status.success(), - "PowerShell failed: {}", - String::from_utf8_lossy(&output.stderr) - ); - let properties: serde_json::Value = - serde_json::from_slice(&output.stdout).expect("invalid PowerShell JSON output"); - assert_eq!(properties["GuestFeatureSet"], 0x00000201); - assert_eq!(properties["HasFirmwareFile"], false); - } -} - /// Sets the VTL2 settings (in the `Base` namespace) for a VM. /// /// This should include the fixed VTL2 settings, as well as any storage diff --git a/petri/src/vm/mod.rs b/petri/src/vm/mod.rs index 75f8b320612..f618fabf1c2 100644 --- a/petri/src/vm/mod.rs +++ b/petri/src/vm/mod.rs @@ -235,8 +235,6 @@ pub struct PetriVmConfig { pub hibernation_enabled: bool, /// Whether to expose an IPMI KCS interface to the guest. pub ipmi_enabled: bool, - /// Flag whether to load the paravisor IGVM from the VMGS guest firmware file - pub load_openhcl_from_vmgs: bool, /// The amount of memory, in bytes, to assign to the VM pub memory: MemoryConfig, /// The processor topology for the VM @@ -466,7 +464,6 @@ impl PetriVmBuilder { firmware: artifacts.firmware, hibernation_enabled: false, ipmi_enabled: false, - load_openhcl_from_vmgs: false, memory: Default::default(), proc_topology: Default::default(), @@ -550,7 +547,6 @@ impl PetriVmBuilder { firmware: artifacts.firmware, hibernation_enabled: false, ipmi_enabled: false, - load_openhcl_from_vmgs: false, memory: Default::default(), proc_topology: Default::default(), @@ -1391,10 +1387,10 @@ impl PetriVmBuilder { /// Sets a custom OpenHCL IGVM file to use. pub fn with_custom_openhcl(mut self, artifact: ResolvedArtifact) -> Self { match &mut self.config.firmware { - Firmware::OpenhclLinuxDirect { igvm_path, .. } - | Firmware::OpenhclPcat { igvm_path, .. } - | Firmware::OpenhclUefi { igvm_path, .. } => { - *igvm_path = artifact.erase(); + Firmware::OpenhclLinuxDirect { igvm_firmware, .. } + | Firmware::OpenhclPcat { igvm_firmware, .. } + | Firmware::OpenhclUefi { igvm_firmware, .. } => { + *igvm_firmware = IgvmFirmwareSource::File(artifact.erase()); } Firmware::LinuxDirect { .. } | Firmware::Uefi { .. } | Firmware::Pcat { .. } => { panic!("Custom OpenHCL is only supported for OpenHCL firmware.") @@ -1403,13 +1399,18 @@ impl PetriVmBuilder { self } - /// Boot the paravisor from the IGVM stored in the VMGS guest firmware file + /// Boot the paravisor from VMGS pub fn with_openhcl_from_vmgs(mut self) -> Self { - assert!( - self.config.firmware.is_openhcl(), - "Loading OpenHCL from VMGS is only supported for OpenHCL firmware." - ); - self.config.load_openhcl_from_vmgs = true; + match &mut self.config.firmware { + Firmware::OpenhclLinuxDirect { igvm_firmware, .. } + | Firmware::OpenhclPcat { igvm_firmware, .. } + | Firmware::OpenhclUefi { igvm_firmware, .. } => { + *igvm_firmware = IgvmFirmwareSource::VmgsOrInBox; + } + Firmware::LinuxDirect { .. } | Firmware::Uefi { .. } | Firmware::Pcat { .. } => { + panic!("Loading OpenHCL from VMGS is only supported for OpenHCL firmware.") + } + } self } @@ -2699,6 +2700,15 @@ pub enum PetriHardwareSealingPolicy { SignerPolicy, } +/// Source for the IGVM firmware used to load OpenHCL. +#[derive(Debug)] +pub enum IgvmFirmwareSource { + /// Load the IGVM from the specified file. + File(ResolvedArtifact), + /// Load the IGVM from VMGS, falling back to the in-box firmware. + VmgsOrInBox, +} + /// Firmware to load into the test VM. // TODO: remove the guests from the firmware enum so that we don't pass them // to the VMM backend after we have already used them generically. @@ -2713,8 +2723,8 @@ pub enum Firmware { }, /// Boot Linux directly, without any firmware, with OpenHCL in VTL2. OpenhclLinuxDirect { - /// The path to the IGVM file to use. - igvm_path: ResolvedArtifact, + /// The source for the IGVM firmware. + igvm_firmware: IgvmFirmwareSource, /// OpenHCL configuration openhcl_config: OpenHclConfig, }, @@ -2733,8 +2743,8 @@ pub enum Firmware { OpenhclPcat { /// The guest OS the VM will boot into. guest: PcatGuest, - /// The path to the IGVM file to use. - igvm_path: ResolvedArtifact, + /// The source for the IGVM firmware. + igvm_firmware: IgvmFirmwareSource, /// The firmware to use. bios_firmware: ResolvedOptionalArtifact, /// The SVGA firmware to use. @@ -2757,8 +2767,8 @@ pub enum Firmware { guest: UefiGuest, /// The isolation type of the VM. isolation: Option, - /// The path to the IGVM file to use. - igvm_path: ResolvedArtifact, + /// The source for the IGVM firmware. + igvm_firmware: IgvmFirmwareSource, /// UEFI configuration uefi_config: UefiConfig, /// OpenHCL configuration @@ -2871,7 +2881,9 @@ impl Firmware { use petri_artifacts_vmm_test::artifacts::openhcl_igvm::*; match arch { MachineArch::X86_64 => Firmware::OpenhclLinuxDirect { - igvm_path: resolver.require(LATEST_LINUX_DIRECT_TEST_X64).erase(), + igvm_firmware: IgvmFirmwareSource::File( + resolver.require(LATEST_LINUX_DIRECT_TEST_X64).erase(), + ), openhcl_config: Default::default(), }, MachineArch::Aarch64 => todo!("Linux direct not yet supported on aarch64"), @@ -2895,7 +2907,7 @@ impl Firmware { use petri_artifacts_vmm_test::artifacts::openhcl_igvm::*; Firmware::OpenhclPcat { guest, - igvm_path: resolver.require(LATEST_STANDARD_X64).erase(), + igvm_firmware: IgvmFirmwareSource::File(resolver.require(LATEST_STANDARD_X64).erase()), bios_firmware: resolver.try_require(PCAT_FIRMWARE_X64).erase(), svga_firmware: resolver.try_require(SVGA_FIRMWARE_X64).erase(), openhcl_config: OpenHclConfig { @@ -2928,15 +2940,15 @@ impl Firmware { isolation: Option, ) -> Self { use petri_artifacts_vmm_test::artifacts::openhcl_igvm::*; - let igvm_path = match arch { + let igvm_firmware = IgvmFirmwareSource::File(match arch { MachineArch::X86_64 if isolation.is_some() => resolver.require(LATEST_CVM_X64).erase(), MachineArch::X86_64 => resolver.require(LATEST_STANDARD_X64).erase(), MachineArch::Aarch64 => resolver.require(LATEST_STANDARD_AARCH64).erase(), - }; + }); Firmware::OpenhclUefi { guest, isolation, - igvm_path, + igvm_firmware, uefi_config: Default::default(), openhcl_config: Default::default(), } @@ -3099,11 +3111,11 @@ impl Firmware { } #[cfg_attr(not(windows), expect(dead_code))] - fn openhcl_firmware(&self) -> Option<&Path> { + fn openhcl_firmware(&self) -> Option<&IgvmFirmwareSource> { match self { - Firmware::OpenhclLinuxDirect { igvm_path, .. } - | Firmware::OpenhclUefi { igvm_path, .. } - | Firmware::OpenhclPcat { igvm_path, .. } => Some(igvm_path.get()), + Firmware::OpenhclLinuxDirect { igvm_firmware, .. } + | Firmware::OpenhclUefi { igvm_firmware, .. } + | Firmware::OpenhclPcat { igvm_firmware, .. } => Some(igvm_firmware), Firmware::LinuxDirect { .. } | Firmware::Pcat { .. } | Firmware::Uefi { .. } => None, } } diff --git a/petri/src/vm/openvmm/construct.rs b/petri/src/vm/openvmm/construct.rs index b8a3cb634cb..cdd7d22f22c 100644 --- a/petri/src/vm/openvmm/construct.rs +++ b/petri/src/vm/openvmm/construct.rs @@ -9,6 +9,7 @@ use super::PetriVmResourcesOpenVmm; use crate::Drive; use crate::EfiDiagnosticsLogLevel; use crate::Firmware; +use crate::IgvmFirmwareSource; use crate::IsolationType; use crate::MemoryConfig; use crate::OpenHclConfig; @@ -121,7 +122,6 @@ impl PetriVmConfigOpenVmm { firmware, hibernation_enabled, ipmi_enabled, - load_openhcl_from_vmgs, memory, proc_topology, vmgs, @@ -136,7 +136,10 @@ impl PetriVmConfigOpenVmm { anyhow::bail!("Physical NVMe devices are only supported with the Hyper-V backend"); } - if load_openhcl_from_vmgs { + if matches!( + firmware.openhcl_firmware(), + Some(IgvmFirmwareSource::VmgsOrInBox) + ) { anyhow::bail!("loading OpenHCL from VMGS is only supported by the Hyper-V backend"); } @@ -1001,11 +1004,11 @@ impl PetriVmConfigSetupCore<'_> { ( MachineArch::X86_64, Firmware::OpenhclLinuxDirect { - igvm_path, + igvm_firmware: IgvmFirmwareSource::File(igvm_path), openhcl_config, } | Firmware::OpenhclUefi { - igvm_path, + igvm_firmware: IgvmFirmwareSource::File(igvm_path), guest: _, // load_boot_disk isolation: _, // new via Firmware::isolation uefi_config: _, // config_openhcl_vmbus_devices @@ -1097,7 +1100,7 @@ impl PetriVmConfigSetupCore<'_> { } }); - let file = File::open(igvm_path.clone()) + let file = File::open(igvm_path.get()) .context("failed to open openhcl firmware file")? .into(); LoadMode::Igvm { diff --git a/tmk/tmk_tests/src/lib.rs b/tmk/tmk_tests/src/lib.rs index cc12eebc5e4..e869d6aea6a 100644 --- a/tmk/tmk_tests/src/lib.rs +++ b/tmk/tmk_tests/src/lib.rs @@ -204,7 +204,7 @@ fn resolve_openhcl_tmks( petri::Firmware::OpenhclUefi { guest: petri::UefiGuest::None, isolation: None, - igvm_path, + igvm_firmware: petri::IgvmFirmwareSource::File(igvm_path), uefi_config: Default::default(), openhcl_config: Default::default(), }, diff --git a/vmm_tests/vmm_tests/Cargo.toml b/vmm_tests/vmm_tests/Cargo.toml index ac8ea8d986f..d04450a30e5 100644 --- a/vmm_tests/vmm_tests/Cargo.toml +++ b/vmm_tests/vmm_tests/Cargo.toml @@ -50,7 +50,6 @@ mesh.workspace = true pal.workspace = true pal_async.workspace = true unix_socket.workspace = true -vmgs_format.workspace = true vmgs_resources.workspace = true anyhow.workspace = true diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs index dade265b53c..754f9a84b88 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -use anyhow::Context; use petri::CommandError; use petri::PetriGuestStateLifetime; use petri::PetriVmBuilder; @@ -16,11 +15,6 @@ use petri_artifacts_vmm_test::artifacts::vmgstool::VMGSTOOL_NATIVE; use std::path::Path; use std::process::Command; use tempfile::TempDir; -use vmgs_format::VMGS_BYTES_PER_BLOCK; -use vmgs_format::VMGS_DEFAULT_CAPACITY; -use vmgs_format::VMGS_EXTENDED_FILE_TABLE_BLOCK_SIZE; -use vmgs_format::VMGS_FILE_TABLE_BLOCK_SIZE; -use vmgs_format::VMGS_MIN_FILE_BLOCK_OFFSET; use vmgs_resources::GuestStateEncryptionPolicy; use vmm_test_macros::openvmm_test; use vmm_test_macros::vmm_test; @@ -157,18 +151,7 @@ async fn vmgstool_create( Ok(()) } -/// Returns the capacity for a fresh VMGS plus one copy-on-write IGVM write. -fn vmgs_capacity_for_igvm(igvm_size_upper_bound: u64) -> u64 { - const FILE_TABLE_COPIES_DURING_REWRITE: u64 = 2; - - let block_size = u64::from(VMGS_BYTES_PER_BLOCK); - let payload_capacity = igvm_size_upper_bound.next_multiple_of(block_size); - let metadata_blocks = u64::from(VMGS_MIN_FILE_BLOCK_OFFSET) - + u64::from(VMGS_EXTENDED_FILE_TABLE_BLOCK_SIZE) - + FILE_TABLE_COPIES_DURING_REWRITE * u64::from(VMGS_FILE_TABLE_BLOCK_SIZE); - - VMGS_DEFAULT_CAPACITY.max(payload_capacity + metadata_blocks * block_size) -} +const VMGS_CAPACITY: u64 = 64 * 1024 * 1024; /// Verifies `copy-igvmfile` by booting OpenHCL from the resulting VMGS. #[vmm_test( @@ -185,21 +168,12 @@ async fn vmgstool_copy_igvmfile( let vmgs_path = temp_dir.path().join("test.vmgs"); let vmgstool_path = vmgstool.get(); - // DLL length is the upper bound of the embedded IGVM, so that the PE resource parsing is owned by vmgstool - let vmgs_size = vmgs_capacity_for_igvm( - vmfw_dll - .get() - .metadata() - .context("failed to stat vmfw dll")? - .len(), - ); - let mut cmd = Command::new(vmgstool_path); cmd.arg("create") .arg("--filepath") .arg(&vmgs_path) .arg("--file-size") - .arg(vmgs_size.to_string()); + .arg(VMGS_CAPACITY.to_string()); run_host_cmd(cmd).await?; let mut cmd = Command::new(vmgstool_path); From 5ad8b13bc6b7a06ef46a2a96dfc4bcfecea9dae0 Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Tue, 22 Sep 2026 10:34:48 +0200 Subject: [PATCH 5/7] flowey: adapt vmgstool integration tests to current artifact pipelines --- .github/workflows/openvmm-burn-in.yaml | 41 +- .github/workflows/openvmm-ci.yaml | 3804 ++++++++++------- .github/workflows/openvmm-pr-release.yaml | 3427 +++++++++------ .github/workflows/openvmm-pr.yaml | 2504 ++++++----- Cargo.lock | 1 + ci-flowey/openvmm-pr.yaml | 984 +++-- flowey/flowey_hvlite/Cargo.toml | 3 + .../src/pipelines/checkin_gates.rs | 7 +- .../src/pipelines/vmm_tests_run.rs | 41 + .../download_and_run_nextest_vmm_tests.rs | 5 +- .../local_build_and_run_nextest_vmm_tests.rs | 22 + .../_jobs/local_custom_vmfirmwareigvm_dll.rs | 1 - .../src/build_vmfirmwareigvm_dll.rs | 2 + .../src/download_vmm_tests_built_artifacts.rs | 10 + .../src/init_vmm_tests_content_dir.rs | 13 + openhcl/vmfirmwareigvm_dll/build.rs | 2 +- petri/src/vm/hyperv/mod.rs | 2 +- petri/src/vm/mod.rs | 3 +- 18 files changed, 6351 insertions(+), 4521 deletions(-) diff --git a/.github/workflows/openvmm-burn-in.yaml b/.github/workflows/openvmm-burn-in.yaml index c71b8747b16..4e085f45651 100644 --- a/.github/workflows/openvmm-burn-in.yaml +++ b/.github/workflows/openvmm-burn-in.yaml @@ -189,32 +189,32 @@ jobs: - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 7 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 2 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 3 shell: bash - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 1 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 15 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 16 shell: bash - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 2 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 5 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 6 shell: bash - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 0 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 16 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 17 shell: bash - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 8 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 3 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 4 shell: bash - name: download artifacts from github actions run run: |- flowey.exe e 0 flowey_lib_common::download_gh_artifact 9 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 13 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 2 shell: bash - name: download artifacts from github actions run run: |- @@ -223,13 +223,13 @@ jobs: shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 13 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 4 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 11 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 15 shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 15 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 6 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 14 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 5 shell: bash - name: download artifacts from github actions run run: |- @@ -238,18 +238,23 @@ jobs: shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 14 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 17 flowey.exe e 0 flowey_core::pipeline::artifact::resolve 8 shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 3 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 15 flowey.exe e 0 flowey_core::pipeline::artifact::resolve 9 shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 12 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 12 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 3 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 10 + shell: bash + - name: download artifacts from github actions run + run: |- + flowey.exe e 0 flowey_lib_common::download_gh_artifact 13 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 13 shell: bash - name: unpack openvmm-test-initrd archives run: flowey.exe e 0 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 @@ -339,8 +344,8 @@ jobs: shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 17 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 10 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 18 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 11 flowey.exe e 0 flowey_lib_hvlite::test_nextest_vmm_tests_archive 24 shell: bash - name: generate nextest command @@ -351,8 +356,8 @@ jobs: shell: bash - name: download artifacts from github actions run run: |- - flowey.exe e 0 flowey_lib_common::download_gh_artifact 11 - flowey.exe e 0 flowey_core::pipeline::artifact::resolve 11 + flowey.exe e 0 flowey_lib_common::download_gh_artifact 12 + flowey.exe e 0 flowey_core::pipeline::artifact::resolve 12 flowey.exe e 0 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 shell: bash - name: running vmm_test prep_steps diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index d6b78dcb0e9..c46ea16d36c 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -42,7 +42,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -50,7 +50,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -202,7 +202,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -210,7 +210,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -377,7 +377,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -385,7 +385,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -650,7 +650,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -658,7 +658,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1034,7 +1034,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1042,7 +1042,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1394,7 +1394,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1402,7 +1402,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1544,8 +1544,6 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1565,7 +1563,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 13 flowey_lib_common::cache 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 13 flowey_lib_common::install_rust 3 @@ -1573,10 +1571,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 13 flowey_lib_common::publish_test_results 6 + flowey.exe e 13 flowey_lib_common::publish_test_results 7 + flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 13 flowey_lib_common::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::build_xtask 1 @@ -1584,7 +1603,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1594,17 +1612,16 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 6 - flowey.exe e 13 flowey_lib_common::publish_test_results 7 - flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_common::publish_test_results 0 + flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1616,29 +1633,6 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 13 flowey_lib_common::publish_test_results 0 - flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 13 flowey_lib_common::publish_test_results 3 flowey.exe e 13 flowey_lib_common::publish_test_results 4 flowey.exe v 13 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1647,13 +1641,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-rust-junit-xml + name: x64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -1690,7 +1684,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1698,7 +1692,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1882,8 +1876,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 flowey e 14 flowey_lib_common::download_cargo_nextest 1 - flowey e 14 flowey_lib_common::download_cargo_nextest 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1903,7 +1895,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 14 flowey_lib_common::cache 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 4 + flowey e 14 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 14 flowey_lib_common::install_rust 3 @@ -1921,7 +1913,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 7 flowey v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -1943,7 +1934,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 flowey v 14 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -1965,7 +1955,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey v 14 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2002,7 +1991,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey v 14 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2024,7 +2012,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 3 flowey e 14 flowey_lib_common::publish_test_results 4 flowey v 14 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2039,7 +2026,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -2076,7 +2063,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2084,7 +2071,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2226,9 +2213,12 @@ jobs: - name: cargo clippy run: flowey e 15 flowey_lib_common::run_cargo_clippy 7 shell: bash + - name: cargo clippy + run: flowey e 15 flowey_lib_common::run_cargo_clippy 6 + shell: bash - name: cargo clippy run: |- - flowey e 15 flowey_lib_common::run_cargo_clippy 6 + flowey e 15 flowey_lib_common::run_cargo_clippy 8 flowey e 15 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2258,8 +2248,6 @@ jobs: run: |- flowey e 15 flowey_lib_common::download_cargo_nextest 0 flowey e 15 flowey_lib_common::download_cargo_nextest 1 - flowey e 15 flowey_lib_common::download_cargo_nextest 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2279,7 +2267,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 15 flowey_lib_common::cache 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 4 + flowey e 15 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 15 flowey_lib_common::install_rust 3 @@ -2287,17 +2275,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 15 flowey_lib_common::install_cargo_nextest 0 + flowey e 15 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 15 flowey_lib_common::run_cargo_build 1 + flowey e 15 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 15 flowey_lib_hvlite::run_cargo_build 3 + flowey e 15 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 15 flowey_lib_hvlite::init_cross_build 3 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 flowey e 15 flowey_lib_common::publish_test_results 6 flowey e 15 flowey_lib_common::publish_test_results 7 flowey v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2306,20 +2309,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 flowey e 15 flowey_lib_common::publish_test_results 9 flowey e 15 flowey_lib_common::publish_test_results 10 flowey v 15 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2328,20 +2330,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 flowey e 15 flowey_lib_common::publish_test_results 12 flowey e 15 flowey_lib_common::publish_test_results 13 flowey v 15 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2350,20 +2351,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 flowey e 15 flowey_lib_common::publish_test_results 15 flowey e 15 flowey_lib_common::publish_test_results 16 flowey v 15 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2372,35 +2372,19 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 15 flowey_lib_hvlite::init_cross_build 1 - flowey e 15 flowey_lib_common::run_cargo_build 1 - flowey e 15 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 15 flowey_lib_hvlite::run_cargo_build 3 - flowey e 15 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: |- + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 flowey e 15 flowey_lib_common::publish_test_results 0 flowey e 15 flowey_lib_common::publish_test_results 1 flowey v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2409,20 +2393,19 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 flowey e 15 flowey_lib_common::publish_test_results 3 flowey e 15 flowey_lib_common::publish_test_results 4 flowey v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2431,13 +2414,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2474,7 +2457,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2482,7 +2465,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2624,8 +2607,6 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2645,7 +2626,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 16 flowey_lib_common::cache 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 16 flowey_lib_common::install_rust 3 @@ -2653,10 +2634,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 16 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 16 flowey_lib_common::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::build_xtask 1 @@ -2664,7 +2666,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2674,17 +2675,16 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 - flowey.exe e 16 flowey_lib_common::publish_test_results 7 - flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_common::publish_test_results 0 + flowey.exe e 16 flowey_lib_common::publish_test_results 1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2696,29 +2696,6 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 16 flowey_lib_common::publish_test_results 0 - flowey.exe e 16 flowey_lib_common::publish_test_results 1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 16 flowey_lib_common::publish_test_results 3 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2727,13 +2704,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml + name: aarch64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2770,7 +2747,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2778,7 +2755,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2824,22 +2801,48 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - - name: add default cargo home to path - run: flowey e 17 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 17 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain + - name: create cargo-nextest cache dir run: |- - flowey e 17 flowey_lib_common::install_rust 2 flowey e 17 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 17 flowey_lib_common::download_cargo_nextest 0 + flowey e 17 flowey_lib_common::download_cargo_nextest 1 shell: bash - - name: checking if packages need to be installed - run: flowey e 17 flowey_lib_common::install_dist_pkg 0 + - name: Pre-processing cache vars + run: |- + flowey e 17 flowey_lib_common::cache 0 + flowey v 17 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 + flowey v 17 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 shell: bash - - name: installing packages - run: flowey e 17 flowey_lib_common::install_dist_pkg 1 + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey v 17 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3140,7 +3109,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3282,9 +3251,12 @@ jobs: - name: cargo clippy run: flowey e 18 flowey_lib_common::run_cargo_clippy 7 shell: bash + - name: cargo clippy + run: flowey e 18 flowey_lib_common::run_cargo_clippy 6 + shell: bash - name: cargo clippy run: |- - flowey e 18 flowey_lib_common::run_cargo_clippy 6 + flowey e 18 flowey_lib_common::run_cargo_clippy 8 flowey e 18 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3314,8 +3286,6 @@ jobs: run: |- flowey e 18 flowey_lib_common::download_cargo_nextest 0 flowey e 18 flowey_lib_common::download_cargo_nextest 1 - flowey e 18 flowey_lib_common::download_cargo_nextest 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3335,7 +3305,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 18 flowey_lib_common::cache 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 4 + flowey e 18 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 18 flowey_lib_common::install_rust 3 @@ -3343,17 +3313,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 18 flowey_lib_common::install_cargo_nextest 0 + flowey e 18 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 18 flowey_lib_common::run_cargo_build 1 + flowey e 18 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 18 flowey_lib_hvlite::run_cargo_build 3 + flowey e 18 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 18 flowey_lib_hvlite::init_cross_build 3 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 7 flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3362,20 +3347,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 flowey e 18 flowey_lib_common::publish_test_results 9 flowey e 18 flowey_lib_common::publish_test_results 10 flowey v 18 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3384,20 +3368,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 flowey e 18 flowey_lib_common::publish_test_results 12 flowey e 18 flowey_lib_common::publish_test_results 13 flowey v 18 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3406,20 +3389,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 flowey e 18 flowey_lib_common::publish_test_results 15 flowey e 18 flowey_lib_common::publish_test_results 16 flowey v 18 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3428,57 +3410,40 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 18 flowey_lib_hvlite::init_cross_build 1 - flowey e 18 flowey_lib_common::run_cargo_build 1 - flowey e 18 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols + - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 18 flowey_lib_hvlite::run_cargo_build 3 - flowey e 18 flowey_lib_hvlite::build_xtask 1 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: determine unit test exclusions + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 - shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests - run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey e 18 flowey_lib_common::publish_test_results 0 - flowey e 18 flowey_lib_common::publish_test_results 1 - flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 18 flowey_lib_common::publish_test_results 0 + flowey e 18 flowey_lib_common::publish_test_results 1 + flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 flowey e 18 flowey_lib_common::publish_test_results 3 flowey e 18 flowey_lib_common::publish_test_results 4 flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3487,13 +3452,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3525,9 +3490,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-16,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3536,7 +3501,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3562,79 +3527,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 19 flowey_lib_common::cache 0 - flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3826,7 +3803,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3999,9 +3976,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-15,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-16,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4010,7 +3987,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -4036,59 +4013,53 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 + - name: create gh-release-download cache dir + run: flowey.exe e 20 flowey_lib_common::download_gh_release 0 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 20 flowey_lib_common::cache 0 - flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 20 flowey_lib_common::cache 8 + flowey.exe v 20 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 20 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 shell: bash - - id: flowey_lib_common__cache__1 + - id: flowey_lib_common__cache__9 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases run: |- - flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4292,7 +4282,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4318,79 +4308,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4580,7 +4582,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-15/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4606,79 +4608,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 22 flowey_lib_common::cache 0 - flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4870,7 +4884,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-11/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4897,58 +4911,47 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 + - name: create gh-release-download cache dir + run: flowey.exe e 23 flowey_lib_common::download_gh_release 0 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 23 flowey_lib_common::cache 0 - flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 23 flowey_lib_common::cache 8 + flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 shell: bash - - id: flowey_lib_common__cache__1 + - id: flowey_lib_common__cache__9 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases run: |- - flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5435,7 +5469,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5499,8 +5533,6 @@ jobs: run: |- flowey e 25 flowey_lib_common::download_cargo_nextest 0 flowey e 25 flowey_lib_common::download_cargo_nextest 1 - flowey e 25 flowey_lib_common::download_cargo_nextest 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5520,7 +5552,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 25 flowey_lib_common::cache 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 4 + flowey e 25 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5547,18 +5579,7 @@ jobs: run: |- flowey e 25 flowey_lib_common::system_info 0 flowey e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - flowey e 25 flowey_core::pipeline::artifact::resolve 8 - flowey e 25 flowey_core::pipeline::artifact::resolve 4 - flowey e 25 flowey_core::pipeline::artifact::resolve 1 - flowey e 25 flowey_core::pipeline::artifact::resolve 2 - flowey e 25 flowey_core::pipeline::artifact::resolve 3 - flowey e 25 flowey_core::pipeline::artifact::resolve 0 - flowey e 25 flowey_core::pipeline::artifact::resolve 7 - flowey v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5755,7 +5797,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5817,74 +5859,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 26 flowey_lib_common::cache 0 - flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 26 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -6065,7 +6112,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-15/flowey echo '"debug"' | flowey v 27 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 27 '_internal_WORKING_DIR' --is-raw-string update @@ -6077,7 +6124,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 27 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 27 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 27 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -6085,8 +6132,6 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -6106,7 +6151,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 4 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -6133,7 +6178,8 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 27 flowey_core::pipeline::artifact::resolve 6 shell: bash - name: create gh-release-download cache dir run: flowey e 27 flowey_lib_common::download_gh_release 0 @@ -6167,12 +6213,9 @@ jobs: - name: unpack QEMU archive run: |- flowey e 27 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 27 flowey_core::pipeline::artifact::resolve 6 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey e 27 flowey_core::pipeline::artifact::resolve 4 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> "$GITHUB_PATH" - rustup show - if: runner.os == 'Linux' - name: rustup (Linux) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'X64' - name: rustup (Windows X64) - shell: bash - - run: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH - if: runner.os == 'Windows' && runner.arch == 'ARM64' - name: rustup (Windows ARM64) - shell: bash - - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - path: flowey_bootstrap - - name: Build flowey - run: | - set -x - CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci - OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - mkdir -p "$OutDirNormal" - mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" - mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" - working-directory: flowey_bootstrap - shell: bash - - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + pattern: '{_internal-flowey-bootstrap-x86_64-linux-uid-13,x64-linux-openvmm,x64-linux-vmm-perf-runner}' + path: ${{ runner.temp }}/used_artifacts/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - - name: πŸŒΌπŸ”Ž Self-check YAML - run: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - ${{ runner.temp }} - EOF - ) - flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci - shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-13/flowey echo '"debug"' | flowey v 28 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 28 '_internal_WORKING_DIR' --is-raw-string update @@ -6379,61 +6395,116 @@ jobs: cat <<'EOF' | flowey v 28 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 28 'artifact_use_from_x64-linux-openvmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-perf-runner" | flowey v 28 'artifact_use_from_x64-linux-vmm-perf-runner' --is-raw-string update shell: bash - - name: check if openvmm needs to be cloned + - name: install vmm tests deps (linux) run: |- - flowey e 28 flowey_lib_common::git_checkout 0 - flowey v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 28 flowey_core::pipeline::artifact::resolve 1 + flowey e 28 flowey_core::pipeline::artifact::resolve 0 + flowey e 28 flowey_lib_hvlite::install_vmm_tests_external_deps 0 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: checking if packages need to be installed + run: flowey e 28 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 28 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 28 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars run: |- - flowey v 28 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> "$GITHUB_PATH" @@ -6443,7 +6514,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6451,7 +6522,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6470,6 +6541,11 @@ jobs: mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" working-directory: flowey_bootstrap shell: bash + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + pattern: '{x64-linux-musl-openvmm,x64-linux-musl-vmm-perf-runner}' + path: ${{ runner.temp }}/used_artifacts/ - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH @@ -6496,53 +6572,97 @@ jobs: cat <<'EOF' | flowey v 29 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 29 'artifact_use_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update shell: bash - - name: check if openvmm needs to be cloned + - name: install vmm tests deps (linux) run: |- - flowey e 29 flowey_lib_common::git_checkout 0 - flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 29 flowey_core::pipeline::artifact::resolve 1 + flowey e 29 flowey_core::pipeline::artifact::resolve 0 + flowey e 29 flowey_lib_hvlite::install_vmm_tests_external_deps 0 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: checking if packages need to be installed + run: flowey e 29 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 29 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 29 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars run: |- - flowey v 29 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6577,7 +6697,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6822,137 +6942,624 @@ jobs: flowey e 3 flowey_lib_hvlite::run_cargo_build 8 flowey e 3 flowey_lib_hvlite::run_cargo_build 9 shell: bash - - name: cargo build simple_tmk + - name: cargo build simple_tmk + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 6 + flowey e 3 flowey_lib_hvlite::run_cargo_build 10 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 1 + flowey e 3 flowey_lib_hvlite::run_cargo_build 11 + flowey e 3 flowey_lib_hvlite::build_tmks 1 + flowey e 3 flowey_core::pipeline::artifact::publish 4 + flowey e 3 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build tpm_guest_tests + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 9 + flowey e 3 flowey_lib_hvlite::run_cargo_build 20 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 3 + flowey e 3 flowey_lib_hvlite::run_cargo_build 21 + flowey e 3 flowey_lib_hvlite::build_tpm_guest_tests 0 + flowey e 3 flowey_core::pipeline::artifact::publish 5 + shell: bash + - name: extract Aarch64 sysroot.tar.gz + run: |- + flowey e 3 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 1 + flowey e 3 flowey_lib_hvlite::init_cross_build 2 + shell: bash + - name: cargo build pipette + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 3 + flowey e 3 flowey_lib_hvlite::run_cargo_build 4 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 3 flowey_lib_hvlite::run_cargo_build 5 + flowey e 3 flowey_lib_hvlite::build_pipette 0 + flowey e 3 flowey_core::pipeline::artifact::publish 6 + flowey e 3 flowey_lib_hvlite::init_cross_build 3 + shell: bash + - name: cargo build tmk_vmm + run: |- + flowey e 3 flowey_lib_common::run_cargo_build 7 + flowey e 3 flowey_lib_hvlite::run_cargo_build 16 + shell: bash + - name: split debug symbols + run: |- + flowey e 3 flowey_lib_hvlite::run_split_debug_info 2 + flowey e 3 flowey_lib_hvlite::run_cargo_build 17 + flowey e 3 flowey_lib_hvlite::build_tmk_vmm 0 + flowey e 3 flowey_core::pipeline::artifact::publish 7 + shell: bash + - name: 'validate cache entry: gh-release-download' + run: flowey e 3 flowey_lib_common::cache 3 + shell: bash + - name: πŸŒΌπŸ“¦ Publish aarch64-guest_test_uefi + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-guest_test_uefi + path: ${{ runner.temp }}/publish_artifacts/aarch64-guest_test_uefi/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-pipette + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-pipette + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-pipette/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-tmk_vmm + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-tmk_vmm + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-tmk_vmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-tpm_guest_tests + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-tpm_guest_tests + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-tpm_guest_tests/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-tmks + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-tmks + path: ${{ runner.temp }}/publish_artifacts/aarch64-tmks/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-guest_test_uefi + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-guest_test_uefi + path: ${{ runner.temp }}/publish_artifacts/x64-guest_test_uefi/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-incubator + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-incubator + path: ${{ runner.temp }}/publish_artifacts/x64-linux-incubator/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-pipette + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-musl-pipette + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-pipette/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-tmk_vmm + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-musl-tmk_vmm + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-tmk_vmm/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-tpm_guest_tests + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-tpm_guest_tests + path: ${{ runner.temp }}/publish_artifacts/x64-linux-tpm_guest_tests/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-tmks + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-tmks + path: ${{ runner.temp }}/publish_artifacts/x64-tmks/ + include-hidden-files: true + job30: + name: run vmm-perf [x64-windows-amd] + timeout-minutes: 120 + runs-on: + - self-hosted + - 1ES.Pool=openvmm-gh-amd-westus3-v6 + - 1ES.ImageOverride=win-amd64-v2 + - JobId=job30-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} + permissions: + contents: read + id-token: write + needs: + - job6 + - job7 + if: github.event.pull_request.draft == false + steps: + - name: πŸŒΌπŸ“¦ Download artifacts + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-16,x64-windows-openvmm,x64-windows-vmm-perf-runner}' + path: ${{ runner.temp }}/used_artifacts/ + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe + + echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 30 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 30 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update + shell: bash + - name: install vmm tests deps (windows) + run: |- + flowey.exe e 30 flowey_core::pipeline::artifact::resolve 1 + flowey.exe e 30 flowey_core::pipeline::artifact::resolve 0 + flowey.exe e 30 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + shell: bash + - name: create gh-release-download cache dir + run: flowey.exe e 30 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 30 flowey_lib_common::cache 0 + flowey.exe v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey.exe v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-16/flowey.exe + + echo '"debug"' | flowey.exe v 31 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 31 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 31 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update + shell: bash + - name: install vmm tests deps (windows) + run: |- + flowey.exe e 31 flowey_core::pipeline::artifact::resolve 1 + flowey.exe e 31 flowey_core::pipeline::artifact::resolve 0 + flowey.exe e 31 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + shell: bash + - name: create gh-release-download cache dir + run: flowey.exe e 31 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 31 flowey_lib_common::cache 0 + flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 32 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 32 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 32 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 32 flowey_lib_common::git_checkout 0 + flowey v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-ci.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-ci.yaml ci checkin-gates --config=ci + shell: bash + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey + + echo '"debug"' | flowey v 33 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 33 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 33 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: check if openvmm needs to be cloned run: |- - flowey e 3 flowey_lib_common::run_cargo_build 6 - flowey e 3 flowey_lib_hvlite::run_cargo_build 10 + flowey e 33 flowey_lib_common::git_checkout 0 + flowey v 33 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 33 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - name: split debug symbols + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 1 - flowey e 3 flowey_lib_hvlite::run_cargo_build 11 - flowey e 3 flowey_lib_hvlite::build_tmks 1 - flowey e 3 flowey_core::pipeline::artifact::publish 4 - flowey e 3 flowey_lib_hvlite::init_cross_build 1 + flowey v 33 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6981,7 +7588,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7025,32 +7632,32 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 34 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 34 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 30 'verbose' update + cat <<'EOF' | flowey.exe v 34 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" - echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 30 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 30 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 34 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 34 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 30 flowey_lib_common::install_rust 0 + run: flowey.exe e 34 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 30 flowey_lib_common::install_rust 1 + run: flowey.exe e 34 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 30 flowey_lib_common::install_rust 2 - flowey.exe e 30 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 34 flowey_lib_common::install_rust 2 + flowey.exe e 34 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 30 flowey_lib_common::git_checkout 0 - flowey.exe v 30 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey.exe v 30 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 34 flowey_lib_common::git_checkout 0 + flowey.exe v 34 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey.exe v 34 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 @@ -7062,27 +7669,27 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 30 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-15" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -7193,27 +7796,27 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-14/flowey + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-15/flowey - echo '"debug"' | flowey v 31 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey v 31 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey v 35 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 35 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey v 31 'verbose' update + cat <<'EOF' | flowey v 35 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 31 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 31 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 31 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 31 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmgstool" | flowey v 35 'artifact_use_from_aarch64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-windows-vmgstool" | flowey v 35 'artifact_use_from_aarch64-windows-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmgstool" | flowey v 35 'artifact_use_from_x64-linux-vmgstool' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-windows-vmgstool" | flowey v 35 'artifact_use_from_x64-windows-vmgstool' --is-raw-string update shell: bash - name: create gh cache dir - run: flowey e 31 flowey_lib_common::download_gh_cli 0 + run: flowey e 35 flowey_lib_common::download_gh_cli 0 shell: bash - name: Pre-processing cache vars run: |- - flowey e 31 flowey_lib_common::cache 0 - flowey v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 - flowey v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey e 35 flowey_lib_common::cache 0 + flowey v 35 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar2 + flowey v 35 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 shell: bash - id: flowey_lib_common__cache__1 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 @@ -7223,31 +7826,31 @@ jobs: name: 'Restore cache: gh-cli' - name: installing gh run: |- - flowey v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7320,7 +7923,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7373,6 +7976,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -7445,7 +8050,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -7462,7 +8067,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7470,7 +8075,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7478,6 +8083,14 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 4 flowey_lib_common::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7506,6 +8119,12 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ + include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7531,7 +8150,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7539,7 +8158,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7737,8 +8356,6 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7758,7 +8375,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -7853,7 +8470,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7861,7 +8478,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7914,6 +8531,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -7986,7 +8605,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -8007,7 +8626,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -8015,7 +8634,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8023,6 +8642,14 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 6 flowey_lib_common::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -8051,6 +8678,12 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ + include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -8076,7 +8709,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8084,7 +8717,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8282,8 +8915,6 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8303,7 +8934,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -8379,7 +9010,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-windows-uid-15 + name: _internal-flowey-bootstrap-x86_64-windows-uid-16 path: ${{ runner.temp }}/bootstrapped-flowey job8: name: build artifacts (for VMM tests) [aarch64-linux] @@ -8406,7 +9037,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8414,7 +9045,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8465,6 +9096,10 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -8479,6 +9114,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8559,7 +9196,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -8572,7 +9209,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8585,7 +9222,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -8598,7 +9235,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -8611,7 +9248,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -8620,7 +9257,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -8633,7 +9270,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8653,7 +9290,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -8666,7 +9303,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 + flowey e 8 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8679,7 +9316,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -8697,8 +9334,6 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8718,7 +9353,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 4 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -8726,13 +9361,46 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: build + archive 'vmm_tests' nextests + run: |- + flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 + flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 + flowey e 8 flowey_core::pipeline::artifact::publish 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 8 flowey_lib_hvlite::run_cargo_build 20 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 8 flowey_core::pipeline::artifact::publish 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 11 + flowey e 8 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 22 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -8758,6 +9426,18 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-tests-archive + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8800,6 +9480,12 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8812,7 +9498,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-14 + name: _internal-flowey-bootstrap-x86_64-linux-uid-15 path: ${{ runner.temp }}/bootstrapped-flowey job9: name: build artifacts (for VMM tests) [x64-linux] @@ -8839,7 +9525,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8847,7 +9533,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8898,6 +9584,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -8914,6 +9602,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -9072,7 +9762,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -9092,7 +9782,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -9105,7 +9795,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9118,7 +9808,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -9136,8 +9826,6 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9157,7 +9845,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 4 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -9172,13 +9860,39 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 9 flowey_lib_hvlite::run_cargo_build 20 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 9 flowey_core::pipeline::artifact::publish 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 22 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -9204,6 +9918,12 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9252,6 +9972,12 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index 1e41a7f2dc4..d5255ba3ca1 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -50,7 +50,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -58,7 +58,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -264,7 +264,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -272,7 +272,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1273,7 +1273,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1281,7 +1281,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1423,8 +1423,6 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 13 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1444,7 +1442,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 13 flowey_lib_common::cache 2 - flowey.exe e 13 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 13 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 13 flowey_lib_common::install_rust 3 @@ -1452,10 +1450,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 13 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 13 flowey_lib_common::publish_test_results 6 + flowey.exe e 13 flowey_lib_common::publish_test_results 7 + flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 13 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 13 flowey_lib_common::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 13 flowey_lib_hvlite::build_xtask 1 @@ -1463,7 +1482,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 13 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1473,17 +1491,16 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 13 flowey_lib_common::publish_test_results 6 - flowey.exe e 13 flowey_lib_common::publish_test_results 7 - flowey.exe v 13 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 13 flowey_lib_common::publish_test_results 0 + flowey.exe e 13 flowey_lib_common::publish_test_results 1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1495,29 +1512,6 @@ jobs: run: |- flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 13 flowey_lib_common::publish_test_results 0 - flowey.exe e 13 flowey_lib_common::publish_test_results 1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 13 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 13 flowey_lib_common::publish_test_results 3 flowey.exe e 13 flowey_lib_common::publish_test_results 4 flowey.exe v 13 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1526,13 +1520,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-rust-junit-xml + name: x64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -1687,8 +1681,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::download_cargo_nextest 0 flowey e 14 flowey_lib_common::download_cargo_nextest 1 - flowey e 14 flowey_lib_common::download_cargo_nextest 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1708,7 +1700,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 14 flowey_lib_common::cache 2 - flowey e 14 flowey_lib_common::download_cargo_nextest 4 + flowey e 14 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 14 flowey_lib_common::install_rust 3 @@ -1726,7 +1718,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 8 flowey e 14 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 14 flowey_lib_common::publish_test_results 6 flowey e 14 flowey_lib_common::publish_test_results 7 flowey v 14 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -1748,7 +1739,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 6 flowey e 14 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 14 flowey_lib_common::publish_test_results 9 flowey e 14 flowey_lib_common::publish_test_results 10 flowey v 14 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -1770,7 +1760,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 2 flowey e 14 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 14 flowey_lib_common::publish_test_results 12 flowey e 14 flowey_lib_common::publish_test_results 13 flowey v 14 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -1807,7 +1796,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 0 flowey e 14 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_common::publish_test_results 0 flowey e 14 flowey_lib_common::publish_test_results 1 flowey v 14 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -1829,7 +1817,6 @@ jobs: run: |- flowey e 14 flowey_lib_common::run_cargo_nextest_run 4 flowey e 14 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 14 flowey_lib_common::publish_test_results 3 flowey e 14 flowey_lib_common::publish_test_results 4 flowey v 14 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1844,7 +1831,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -1989,9 +1976,12 @@ jobs: - name: cargo clippy run: flowey e 15 flowey_lib_common::run_cargo_clippy 7 shell: bash + - name: cargo clippy + run: flowey e 15 flowey_lib_common::run_cargo_clippy 6 + shell: bash - name: cargo clippy run: |- - flowey e 15 flowey_lib_common::run_cargo_clippy 6 + flowey e 15 flowey_lib_common::run_cargo_clippy 8 flowey e 15 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2021,8 +2011,6 @@ jobs: run: |- flowey e 15 flowey_lib_common::download_cargo_nextest 0 flowey e 15 flowey_lib_common::download_cargo_nextest 1 - flowey e 15 flowey_lib_common::download_cargo_nextest 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2042,7 +2030,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 15 flowey_lib_common::cache 2 - flowey e 15 flowey_lib_common::download_cargo_nextest 4 + flowey e 15 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 15 flowey_lib_common::install_rust 3 @@ -2050,17 +2038,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 15 flowey_lib_common::install_cargo_nextest 0 + flowey e 15 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 15 flowey_lib_common::run_cargo_build 1 + flowey e 15 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 15 flowey_lib_hvlite::run_cargo_build 3 + flowey e 15 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 15 flowey_lib_hvlite::init_cross_build 3 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 flowey e 15 flowey_lib_common::publish_test_results 6 flowey e 15 flowey_lib_common::publish_test_results 7 flowey v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2069,20 +2072,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 flowey e 15 flowey_lib_common::publish_test_results 9 flowey e 15 flowey_lib_common::publish_test_results 10 flowey v 15 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2091,20 +2093,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 9 flowey e 15 flowey_lib_common::publish_test_results 12 flowey e 15 flowey_lib_common::publish_test_results 13 flowey v 15 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2113,20 +2114,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 7 flowey e 15 flowey_lib_common::publish_test_results 15 flowey e 15 flowey_lib_common::publish_test_results 16 flowey v 15 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2135,35 +2135,19 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 15 flowey_lib_hvlite::init_cross_build 1 - flowey e 15 flowey_lib_common::run_cargo_build 1 - flowey e 15 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 15 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 15 flowey_lib_hvlite::run_cargo_build 3 - flowey e 15 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - name: generate nextest command - run: flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: |- + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 11 flowey e 15 flowey_lib_common::publish_test_results 0 flowey e 15 flowey_lib_common::publish_test_results 1 flowey v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2172,20 +2156,19 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 15 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 15 flowey_lib_common::run_cargo_nextest_run 3 flowey e 15 flowey_lib_common::publish_test_results 3 flowey e 15 flowey_lib_common::publish_test_results 4 flowey v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2194,13 +2177,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2239,7 +2222,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2247,7 +2230,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2389,8 +2372,6 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 16 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2410,7 +2391,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 16 flowey_lib_common::cache 2 - flowey.exe e 16 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 16 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 16 flowey_lib_common::install_rust 3 @@ -2418,10 +2399,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 16 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 16 flowey_lib_common::publish_test_results 6 + flowey.exe e 16 flowey_lib_common::publish_test_results 7 + flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 16 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 16 flowey_lib_common::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 16 flowey_lib_hvlite::build_xtask 1 @@ -2429,7 +2431,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 16 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2439,17 +2440,16 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 16 flowey_lib_common::publish_test_results 6 - flowey.exe e 16 flowey_lib_common::publish_test_results 7 - flowey.exe v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 16 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 16 flowey_lib_common::publish_test_results 0 + flowey.exe e 16 flowey_lib_common::publish_test_results 1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2461,29 +2461,6 @@ jobs: run: |- flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 16 flowey_lib_common::publish_test_results 0 - flowey.exe e 16 flowey_lib_common::publish_test_results 1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 16 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 16 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 16 flowey_lib_common::publish_test_results 3 flowey.exe e 16 flowey_lib_common::publish_test_results 4 flowey.exe v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2492,13 +2469,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml + name: aarch64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2537,7 +2514,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2545,7 +2522,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2705,8 +2682,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::download_cargo_nextest 0 flowey e 17 flowey_lib_common::download_cargo_nextest 1 - flowey e 17 flowey_lib_common::download_cargo_nextest 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2726,7 +2701,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 17 flowey_lib_common::cache 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 4 + flowey e 17 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 17 flowey_lib_common::install_rust 3 @@ -2744,7 +2719,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 17 flowey_lib_common::publish_test_results 6 flowey e 17 flowey_lib_common::publish_test_results 7 flowey v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2766,7 +2740,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 17 flowey_lib_common::publish_test_results 9 flowey e 17 flowey_lib_common::publish_test_results 10 flowey v 17 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2788,7 +2761,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 17 flowey_lib_common::publish_test_results 12 flowey e 17 flowey_lib_common::publish_test_results 13 flowey v 17 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2825,7 +2797,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 17 flowey_lib_common::publish_test_results 0 flowey e 17 flowey_lib_common::publish_test_results 1 flowey v 17 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2847,7 +2818,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 17 flowey_lib_common::publish_test_results 3 flowey e 17 flowey_lib_common::publish_test_results 4 flowey v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2862,7 +2832,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-gnu @@ -2901,7 +2871,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2909,7 +2879,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3052,8 +3022,11 @@ jobs: run: flowey e 18 flowey_lib_common::run_cargo_clippy 7 shell: bash - name: cargo clippy - run: |- - flowey e 18 flowey_lib_common::run_cargo_clippy 6 + run: flowey e 18 flowey_lib_common::run_cargo_clippy 6 + shell: bash + - name: cargo clippy + run: |- + flowey e 18 flowey_lib_common::run_cargo_clippy 8 flowey e 18 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3083,8 +3056,6 @@ jobs: run: |- flowey e 18 flowey_lib_common::download_cargo_nextest 0 flowey e 18 flowey_lib_common::download_cargo_nextest 1 - flowey e 18 flowey_lib_common::download_cargo_nextest 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3104,7 +3075,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 18 flowey_lib_common::cache 2 - flowey e 18 flowey_lib_common::download_cargo_nextest 4 + flowey e 18 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 18 flowey_lib_common::install_rust 3 @@ -3112,17 +3083,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 18 flowey_lib_common::install_cargo_nextest 0 + flowey e 18 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 18 flowey_lib_common::run_cargo_build 1 + flowey e 18 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 18 flowey_lib_hvlite::run_cargo_build 3 + flowey e 18 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 18 flowey_lib_hvlite::init_cross_build 3 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 flowey e 18 flowey_lib_common::publish_test_results 6 flowey e 18 flowey_lib_common::publish_test_results 7 flowey v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3131,20 +3117,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 flowey e 18 flowey_lib_common::publish_test_results 9 flowey e 18 flowey_lib_common::publish_test_results 10 flowey v 18 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3153,20 +3138,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 9 flowey e 18 flowey_lib_common::publish_test_results 12 flowey e 18 flowey_lib_common::publish_test_results 13 flowey v 18 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3175,20 +3159,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 7 flowey e 18 flowey_lib_common::publish_test_results 15 flowey e 18 flowey_lib_common::publish_test_results 16 flowey v 18 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3197,35 +3180,19 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 18 flowey_lib_hvlite::init_cross_build 1 - flowey e 18 flowey_lib_common::run_cargo_build 1 - flowey e 18 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 18 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 18 flowey_lib_hvlite::run_cargo_build 3 - flowey e 18 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - name: generate nextest command - run: flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: |- + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 11 flowey e 18 flowey_lib_common::publish_test_results 0 flowey e 18 flowey_lib_common::publish_test_results 1 flowey v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -3234,20 +3201,19 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 18 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 18 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 18 flowey_lib_common::run_cargo_nextest_run 3 flowey e 18 flowey_lib_common::publish_test_results 3 flowey e 18 flowey_lib_common::publish_test_results 4 flowey v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3256,13 +3222,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3295,9 +3261,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-openhcl-igvm,x64-openhcl-igvm-cvm,x64-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3306,7 +3272,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe echo '"debug"' | flowey.exe v 19 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 19 '_internal_WORKING_DIR' --is-raw-string update @@ -3332,79 +3298,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 19 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 19 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 19 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 19 flowey_lib_common::cache 0 - flowey.exe v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3598,7 +3576,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3772,9 +3750,9 @@ jobs: - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-7,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' + pattern: '{_internal-flowey-bootstrap-x86_64-windows-uid-8,x64-guest_test_uefi,x64-linux-musl-pipette,x64-linux-musl-tmk_vmm,x64-linux-tpm_guest_tests,x64-mi-secure-openhcl-igvm,x64-mi-secure-openhcl-igvm-cvm,x64-mi-secure-openhcl-igvm-test-linux-direct,x64-tmks,x64-windows-openvmm,x64-windows-pipette,x64-windows-prep_steps,x64-windows-test_igvm_agent_rpc_server,x64-windows-tmk_vmm,x64-windows-tpm_guest_tests,x64-windows-vmgstool,x64-windows-vmgstool-dev,x64-windows-vmm-tests-archive}' path: ${{ runner.temp }}/used_artifacts/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7" >> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -3783,7 +3761,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe echo '"debug"' | flowey.exe v 20 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 20 '_internal_WORKING_DIR' --is-raw-string update @@ -3809,79 +3787,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 20 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 20 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 20 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 20 flowey_lib_common::cache 0 - flowey.exe v 20 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 20 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 20 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4066,7 +4057,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe echo '"debug"' | flowey.exe v 21 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 21 '_internal_WORKING_DIR' --is-raw-string update @@ -4092,79 +4083,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4355,7 +4358,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-7/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe echo '"debug"' | flowey.exe v 22 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 22 '_internal_WORKING_DIR' --is-raw-string update @@ -4381,58 +4384,47 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 22 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 22 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 22 flowey_lib_common::download_cargo_nextest 3 + - name: create gh-release-download cache dir + run: flowey.exe e 22 flowey_lib_common::download_gh_release 0 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 22 flowey_lib_common::cache 0 - flowey.exe v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 22 flowey_lib_common::cache 8 + flowey.exe v 22 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 22 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 shell: bash - - id: flowey_lib_common__cache__1 + - id: flowey_lib_common__cache__9 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases run: |- - flowey.exe v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH - name: πŸŒΌπŸ›« Initialize job @@ -4645,7 +4660,7 @@ jobs: AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-6/flowey.exe + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe echo '"debug"' | flowey.exe v 23 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey.exe v 23 '_internal_WORKING_DIR' --is-raw-string update @@ -4672,58 +4687,47 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 23 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 23 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 23 flowey_lib_common::download_cargo_nextest 3 + - name: create gh-release-download cache dir + run: flowey.exe e 23 flowey_lib_common::download_gh_release 0 shell: bash - name: Pre-processing cache vars run: |- - flowey.exe e 23 flowey_lib_common::cache 0 - flowey.exe v 23 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 23 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 + flowey.exe e 23 flowey_lib_common::cache 8 + flowey.exe v 23 'flowey_lib_common::cache:18:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar8 + flowey.exe v 23 'flowey_lib_common::cache:17:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar9 shell: bash - - id: flowey_lib_common__cache__1 + - id: flowey_lib_common__cache__9 uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest + key: ${{ env.floweyvar8 }} + path: ${{ env.floweyvar9 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases run: |- - flowey.exe v 23 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5212,7 +5247,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5276,8 +5311,6 @@ jobs: run: |- flowey e 25 flowey_lib_common::download_cargo_nextest 0 flowey e 25 flowey_lib_common::download_cargo_nextest 1 - flowey e 25 flowey_lib_common::download_cargo_nextest 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5297,7 +5330,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 25 flowey_lib_common::cache 2 - flowey e 25 flowey_lib_common::download_cargo_nextest 4 + flowey e 25 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5324,18 +5357,7 @@ jobs: run: |- flowey e 25 flowey_lib_common::system_info 0 flowey e 25 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 25 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - flowey e 25 flowey_core::pipeline::artifact::resolve 8 - flowey e 25 flowey_core::pipeline::artifact::resolve 4 - flowey e 25 flowey_core::pipeline::artifact::resolve 1 - flowey e 25 flowey_core::pipeline::artifact::resolve 2 - flowey e 25 flowey_core::pipeline::artifact::resolve 3 - flowey e 25 flowey_core::pipeline::artifact::resolve 0 - flowey e 25 flowey_core::pipeline::artifact::resolve 7 - flowey v 25 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5533,7 +5576,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5595,74 +5638,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 26 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 26 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 26 flowey_lib_common::cache 0 - flowey.exe v 26 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 26 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 26 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -5856,7 +5904,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 27 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 27 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 27 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 27 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 27 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -5864,8 +5912,6 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5885,7 +5931,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 4 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5912,7 +5958,8 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 27 flowey_core::pipeline::artifact::resolve 6 shell: bash - name: create gh-release-download cache dir run: flowey e 27 flowey_lib_common::download_gh_release 0 @@ -5946,12 +5993,9 @@ jobs: - name: unpack QEMU archive run: |- flowey e 27 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 27 flowey_core::pipeline::artifact::resolve 6 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey e 27 flowey_core::pipeline::artifact::resolve 4 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH @@ -6116,74 +6176,177 @@ jobs: cat <<'EOF' | flowey v 28 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/x64-linux-openvmm" | flowey v 28 'artifact_use_from_x64-linux-openvmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-vmm-perf-runner" | flowey v 28 'artifact_use_from_x64-linux-vmm-perf-runner' --is-raw-string update shell: bash - - name: check if openvmm needs to be cloned + - name: install vmm tests deps (linux) run: |- - flowey e 28 flowey_lib_common::git_checkout 0 - flowey v 28 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 28 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 28 flowey_core::pipeline::artifact::resolve 1 + flowey e 28 flowey_core::pipeline::artifact::resolve 0 + flowey e 28 flowey_lib_hvlite::install_vmm_tests_external_deps 0 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: checking if packages need to be installed + run: flowey e 28 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 28 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 28 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars run: |- - flowey v 28 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> "$GITHUB_PATH" + rustup show + if: runner.os == 'Linux' + name: rustup (Linux) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'X64' + name: rustup (Windows X64) + shell: bash + - run: | + set -x + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 + ./rustup-init.exe -y --default-toolchain=1.95.0 + echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH + if: runner.os == 'Windows' && runner.arch == 'ARM64' + name: rustup (Windows ARM64) + shell: bash + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + path: flowey_bootstrap + - name: Build flowey + run: | + set -x + CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-unknown-linux-gnu --profile flowey-ci + OutDirNormal=$(echo "${{ runner.temp }}/bootstrapped-flowey" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + mkdir -p "$OutDirNormal" + mv ./.github/workflows/openvmm-pr-release.yaml "$OutDirNormal/pipeline.yaml" + mv target/x86_64-unknown-linux-gnu/flowey-ci/flowey_hvlite "$OutDirNormal/flowey" + working-directory: flowey_bootstrap + shell: bash - name: πŸŒΌπŸ“¦ Download artifacts uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c with: - name: _internal-flowey-bootstrap-x86_64-linux-uid-1 - path: ${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/ - - run: echo "${{ runner.temp }}/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1" >> $GITHUB_PATH + pattern: '{x64-linux-musl-openvmm,x64-linux-musl-vmm-perf-runner}' + path: ${{ runner.temp }}/used_artifacts/ + - run: echo "${{ runner.temp }}/bootstrapped-flowey" >> $GITHUB_PATH shell: bash name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ”Ž Self-check YAML + run: |- + ESCAPED_AGENT_TEMPDIR=$( + cat <<'EOF' | sed 's/\\/\\\\/g' + ${{ runner.temp }} + EOF + ) + flowey pipeline github --runtime $ESCAPED_AGENT_TEMPDIR/bootstrapped-flowey/pipeline.yaml --out .github/workflows/openvmm-pr-release.yaml ci checkin-gates --config=pr-release + shell: bash - name: πŸŒΌπŸ›« Initialize job run: | AgentTempDirNormal="${{ runner.temp }}" AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV - chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey echo '"debug"' | flowey v 29 'FLOWEY_LOG' update echo "${{ runner.temp }}/work" | flowey v 29 '_internal_WORKING_DIR' --is-raw-string update @@ -6191,53 +6354,97 @@ jobs: cat <<'EOF' | flowey v 29 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_x64-linux-musl-openvmm' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 29 'artifact_use_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update shell: bash - - name: check if openvmm needs to be cloned + - name: install vmm tests deps (linux) run: |- - flowey e 29 flowey_lib_common::git_checkout 0 - flowey v 29 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey v 29 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey e 29 flowey_core::pipeline::artifact::resolve 1 + flowey e 29 flowey_core::pipeline::artifact::resolve 0 + flowey e 29 flowey_lib_hvlite::install_vmm_tests_external_deps 0 shell: bash - - id: flowey_lib_common__git_checkout__1 - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 - with: - fetch-depth: '1' - path: repo0 - persist-credentials: ${{ env.floweyvar1 }} - name: checkout repo openvmm - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: report cloned repo directories + - name: checking if packages need to be installed + run: flowey e 29 flowey_lib_common::install_dist_pkg 0 + shell: bash + - name: installing packages + run: flowey e 29 flowey_lib_common::install_dist_pkg 1 + shell: bash + - name: create gh-release-download cache dir + run: flowey e 29 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars run: |- - flowey v 29 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe + + echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 30 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 30 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 30 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update + shell: bash + - name: install vmm tests deps (windows) + run: |- + flowey.exe e 30 flowey_core::pipeline::artifact::resolve 1 + flowey.exe e 30 flowey_core::pipeline::artifact::resolve 0 + flowey.exe e 30 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + shell: bash + - name: create gh-release-download cache dir + run: flowey.exe e 30 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 30 flowey_lib_common::cache 0 + flowey.exe v 30 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 30 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey.exe v 30 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-windows-uid-8/flowey.exe + + echo '"debug"' | flowey.exe v 31 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 31 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey.exe v 31 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-openvmm" | flowey.exe v 31 'artifact_use_from_x64-windows-openvmm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 31 'artifact_use_from_x64-windows-vmm-perf-runner' --is-raw-string update + shell: bash + - name: install vmm tests deps (windows) + run: |- + flowey.exe e 31 flowey_core::pipeline::artifact::resolve 1 + flowey.exe e 31 flowey_core::pipeline::artifact::resolve 0 + flowey.exe e 31 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + shell: bash + - name: create gh-release-download cache dir + run: flowey.exe e 31 flowey_lib_common::download_gh_release 0 + shell: bash + - name: Pre-processing cache vars + run: |- + flowey.exe e 31 flowey_lib_common::cache 0 + flowey.exe v 31 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar3 + flowey.exe v 31 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 + shell: bash + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar4 }} + name: 'Restore cache: gh-release-download' + - name: download artifacts from github releases + run: |- + flowey.exe v 31 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + + echo '"debug"' | flowey v 32 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 32 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 32 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: check if openvmm needs to be cloned + run: |- + flowey e 32 flowey_lib_common::git_checkout 0 + flowey v 32 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 32 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + shell: bash + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories + run: |- + flowey v 32 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH + shell: bash + name: πŸŒΌπŸ“¦ Add flowey to PATH + - name: πŸŒΌπŸ›« Initialize job + run: | + AgentTempDirNormal="${{ runner.temp }}" + AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') + echo "AgentTempDirNormal=$AgentTempDirNormal" >> $GITHUB_ENV + + chmod +x $AgentTempDirNormal/used_artifacts/_internal-flowey-bootstrap-x86_64-linux-uid-1/flowey + + echo '"debug"' | flowey v 33 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey v 33 '_internal_WORKING_DIR' --is-raw-string update + + cat <<'EOF' | flowey v 33 'verbose' update + ${{ inputs.verbose != '' && inputs.verbose || 'false' }} + EOF + shell: bash + - name: check if openvmm needs to be cloned run: |- - flowey e 3 flowey_lib_hvlite::run_split_debug_info 4 - flowey e 3 flowey_lib_hvlite::run_cargo_build 3 - flowey e 3 flowey_lib_hvlite::build_incubator 0 - flowey e 3 flowey_core::pipeline::artifact::publish 2 - flowey e 3 flowey_lib_hvlite::init_cross_build 4 + flowey e 33 flowey_lib_common::git_checkout 0 + flowey v 33 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey v 33 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - - name: cargo build guest_test_uefi + - id: flowey_lib_common__git_checkout__1 + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 + with: + fetch-depth: '1' + path: repo0 + persist-credentials: ${{ env.floweyvar1 }} + name: checkout repo openvmm + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} + - name: report cloned repo directories run: |- - flowey e 3 flowey_lib_common::run_cargo_build 0 - flowey e 3 flowey_lib_hvlite::run_cargo_build 0 + flowey v 33 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6634,7 +7246,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6678,32 +7290,32 @@ jobs: chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - echo '"debug"' | flowey.exe v 30 'FLOWEY_LOG' update - echo "${{ runner.temp }}/work" | flowey.exe v 30 '_internal_WORKING_DIR' --is-raw-string update + echo '"debug"' | flowey.exe v 34 'FLOWEY_LOG' update + echo "${{ runner.temp }}/work" | flowey.exe v 34 '_internal_WORKING_DIR' --is-raw-string update - cat <<'EOF' | flowey.exe v 30 'verbose' update + cat <<'EOF' | flowey.exe v 34 'verbose' update ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-vmfirmwareigvm-cvm" - echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 30 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update - echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 30 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\publish_artifacts\\x64-vmfirmwareigvm-cvm" | flowey.exe v 34 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update + echo "${{ runner.temp }}\\used_artifacts\\x64-openhcl-igvm-cvm" | flowey.exe v 34 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update shell: bash - name: add default cargo home to path - run: flowey.exe e 30 flowey_lib_common::install_rust 0 + run: flowey.exe e 34 flowey_lib_common::install_rust 0 shell: bash - name: install Rust - run: flowey.exe e 30 flowey_lib_common::install_rust 1 + run: flowey.exe e 34 flowey_lib_common::install_rust 1 shell: bash - name: detect active toolchain run: |- - flowey.exe e 30 flowey_lib_common::install_rust 2 - flowey.exe e 30 flowey_lib_common::cfg_cargo_common_flags 0 + flowey.exe e 34 flowey_lib_common::install_rust 2 + flowey.exe e 34 flowey_lib_common::cfg_cargo_common_flags 0 shell: bash - name: check if openvmm needs to be cloned run: |- - flowey.exe e 30 flowey_lib_common::git_checkout 0 - flowey.exe v 30 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 - flowey.exe v 30 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 34 flowey_lib_common::git_checkout 0 + flowey.exe v 34 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env github floweyvar1 + flowey.exe v 34 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__git_checkout__1 uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 @@ -6715,27 +7327,27 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report cloned repo directories run: |- - flowey.exe v 30 'flowey_lib_common::git_checkout:4:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source github.workspace <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -6828,7 +7432,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6881,6 +7485,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -6953,7 +7559,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -6970,7 +7576,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -6978,7 +7584,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -6986,6 +7592,14 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 4 flowey_lib_common::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7014,6 +7628,12 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ + include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7041,7 +7661,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7049,7 +7669,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7247,8 +7867,6 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7268,7 +7886,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -7365,7 +7983,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7373,7 +7991,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7426,6 +8044,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -7498,7 +8118,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -7519,7 +8139,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7527,7 +8147,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7535,6 +8155,14 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 6 flowey_lib_common::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -7563,6 +8191,12 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ + include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -7590,7 +8224,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7598,7 +8232,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7796,8 +8430,6 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7817,7 +8449,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -7893,7 +8525,7 @@ jobs: - name: 🌼πŸ₯Ύ Publish bootstrapped flowey uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: _internal-flowey-bootstrap-x86_64-windows-uid-7 + name: _internal-flowey-bootstrap-x86_64-windows-uid-8 path: ${{ runner.temp }}/bootstrapped-flowey job8: name: build artifacts (for VMM tests) [aarch64-linux] @@ -7937,6 +8569,10 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -7951,6 +8587,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8031,7 +8669,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -8044,7 +8682,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8057,7 +8695,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -8070,7 +8708,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -8083,7 +8721,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -8092,7 +8730,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -8105,7 +8743,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8125,7 +8763,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -8138,7 +8776,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 + flowey e 8 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8151,7 +8789,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -8169,8 +8807,6 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8190,7 +8826,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 4 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -8198,13 +8834,46 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: build + archive 'vmm_tests' nextests + run: |- + flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 + flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 + flowey e 8 flowey_core::pipeline::artifact::publish 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 8 flowey_lib_hvlite::run_cargo_build 20 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 8 flowey_core::pipeline::artifact::publish 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 11 + flowey e 8 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 22 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -8230,6 +8899,18 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-tests-archive + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8272,6 +8953,12 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8320,6 +9007,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -8336,6 +9025,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8494,7 +9185,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8514,7 +9205,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -8527,7 +9218,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8540,7 +9231,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -8558,8 +9249,6 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8579,7 +9268,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 4 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -8594,13 +9283,39 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 9 flowey_lib_hvlite::run_cargo_build 20 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 9 flowey_core::pipeline::artifact::publish 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 22 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -8626,6 +9341,12 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8674,6 +9395,12 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index b85c5e49dd1..bdad65a5272 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -49,7 +49,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -57,7 +57,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -263,7 +263,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -271,7 +271,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1686,7 +1686,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -1694,7 +1694,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -1836,8 +1836,6 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 15 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 15 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -1857,7 +1855,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 15 flowey_lib_common::cache 2 - flowey.exe e 15 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 15 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 15 flowey_lib_common::install_rust 3 @@ -1865,10 +1863,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 15 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 15 flowey_lib_common::publish_test_results 6 + flowey.exe e 15 flowey_lib_common::publish_test_results 7 + flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 15 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 15 flowey_lib_common::run_cargo_build 1 flowey.exe e 15 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 15 flowey_lib_hvlite::build_xtask 1 @@ -1876,7 +1895,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 15 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -1886,17 +1904,16 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 15 flowey_lib_common::publish_test_results 6 - flowey.exe e 15 flowey_lib_common::publish_test_results 7 - flowey.exe v 15 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 15 flowey_lib_common::publish_test_results 0 + flowey.exe e 15 flowey_lib_common::publish_test_results 1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: x64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: x64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -1908,29 +1925,6 @@ jobs: run: |- flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 15 flowey_lib_common::publish_test_results 0 - flowey.exe e 15 flowey_lib_common::publish_test_results 1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: x64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'x64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 15 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 15 flowey_lib_common::publish_test_results 3 flowey.exe e 15 flowey_lib_common::publish_test_results 4 flowey.exe v 15 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -1939,13 +1933,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-windows-unit-tests-crypto-rust-junit-xml + name: x64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-pc-windows-msvc @@ -2100,8 +2094,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::download_cargo_nextest 0 flowey e 16 flowey_lib_common::download_cargo_nextest 1 - flowey e 16 flowey_lib_common::download_cargo_nextest 2 - flowey e 16 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2121,7 +2113,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 16 flowey_lib_common::cache 2 - flowey e 16 flowey_lib_common::download_cargo_nextest 4 + flowey e 16 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 16 flowey_lib_common::install_rust 3 @@ -2139,7 +2131,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 8 flowey e 16 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey e 16 flowey_lib_common::publish_test_results 6 flowey e 16 flowey_lib_common::publish_test_results 7 flowey v 16 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2161,7 +2152,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 6 flowey e 16 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 4 flowey e 16 flowey_lib_common::publish_test_results 9 flowey e 16 flowey_lib_common::publish_test_results 10 flowey v 16 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2183,7 +2173,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 2 flowey e 16 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 5 flowey e 16 flowey_lib_common::publish_test_results 12 flowey e 16 flowey_lib_common::publish_test_results 13 flowey v 16 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2220,7 +2209,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 0 flowey e 16 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_common::publish_test_results 0 flowey e 16 flowey_lib_common::publish_test_results 1 flowey v 16 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2242,7 +2230,6 @@ jobs: run: |- flowey e 16 flowey_lib_common::run_cargo_nextest_run 4 flowey e 16 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 2 flowey e 16 flowey_lib_common::publish_test_results 3 flowey e 16 flowey_lib_common::publish_test_results 4 flowey v 16 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2257,7 +2244,7 @@ jobs: if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 16 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 16 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-gnu @@ -2402,9 +2389,12 @@ jobs: - name: cargo clippy run: flowey e 17 flowey_lib_common::run_cargo_clippy 7 shell: bash + - name: cargo clippy + run: flowey e 17 flowey_lib_common::run_cargo_clippy 6 + shell: bash - name: cargo clippy run: |- - flowey e 17 flowey_lib_common::run_cargo_clippy 6 + flowey e 17 flowey_lib_common::run_cargo_clippy 8 flowey e 17 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -2434,8 +2424,6 @@ jobs: run: |- flowey e 17 flowey_lib_common::download_cargo_nextest 0 flowey e 17 flowey_lib_common::download_cargo_nextest 1 - flowey e 17 flowey_lib_common::download_cargo_nextest 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2455,7 +2443,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 17 flowey_lib_common::cache 2 - flowey e 17 flowey_lib_common::download_cargo_nextest 4 + flowey e 17 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 17 flowey_lib_common::install_rust 3 @@ -2463,17 +2451,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 17 flowey_lib_common::install_cargo_nextest 0 + flowey e 17 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 17 flowey_lib_common::run_cargo_build 1 + flowey e 17 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 17 flowey_lib_hvlite::run_cargo_build 3 + flowey e 17 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 17 flowey_lib_hvlite::init_cross_build 3 - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'x64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 flowey e 17 flowey_lib_common::publish_test_results 6 flowey e 17 flowey_lib_common::publish_test_results 7 flowey v 17 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -2482,20 +2485,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-rust-junit-xml + name: x64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 flowey e 17 flowey_lib_common::publish_test_results 9 flowey e 17 flowey_lib_common::publish_test_results 10 flowey v 17 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -2504,20 +2506,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: x64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 9 flowey e 17 flowey_lib_common::publish_test_results 12 flowey e 17 flowey_lib_common::publish_test_results 13 flowey v 17 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -2526,20 +2527,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: x64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 7 flowey e 17 flowey_lib_common::publish_test_results 15 flowey e 17 flowey_lib_common::publish_test_results 16 flowey v 17 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -2548,35 +2548,19 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-all-junit-xml + name: x64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 17 flowey_lib_hvlite::init_cross_build 1 - flowey e 17 flowey_lib_common::run_cargo_build 1 - flowey e 17 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols - run: |- - flowey e 17 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 17 flowey_lib_hvlite::run_cargo_build 3 - flowey e 17 flowey_lib_hvlite::build_xtask 1 - shell: bash - - name: determine unit test exclusions - run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - name: generate nextest command - run: flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + run: |- + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: run 'x64-linux-musl-unit-tests-base' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 11 flowey e 17 flowey_lib_common::publish_test_results 0 flowey e 17 flowey_lib_common::publish_test_results 1 flowey v 17 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 @@ -2585,20 +2569,19 @@ jobs: - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-base-junit-xml + name: x64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 17 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 17 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 17 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 17 flowey_lib_common::run_cargo_nextest_run 3 flowey e 17 flowey_lib_common::publish_test_results 3 flowey e 17 flowey_lib_common::publish_test_results 4 flowey v 17 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2607,13 +2590,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: x64-linux-musl-unit-tests-crypto-native-junit-xml + name: x64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 17 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 17 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for x86_64-unknown-linux-musl @@ -2652,7 +2635,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2660,7 +2643,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -2802,8 +2785,6 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 18 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -2823,7 +2804,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 18 flowey_lib_common::cache 2 - flowey.exe e 18 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 18 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 18 flowey_lib_common::install_rust 3 @@ -2831,10 +2812,31 @@ jobs: - name: installing cargo-nextest run: |- flowey.exe e 18 flowey_lib_common::install_cargo_nextest 0 - flowey.exe e 18 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 18 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 + shell: bash + - name: generate nextest command + run: flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + shell: bash + - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests + run: |- + flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 4 + flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 5 + flowey.exe e 18 flowey_lib_common::publish_test_results 6 + flowey.exe e 18 flowey_lib_common::publish_test_results 7 + flowey.exe v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 + flowey.exe v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash + - id: flowey_lib_common__publish_test_results__8 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-unit-tests-crypto-rust-junit-xml + path: ${{ env.floweyvar3 }} + name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: cargo build xtask run: |- + flowey.exe e 18 flowey_lib_hvlite::init_cross_build 3 flowey.exe e 18 flowey_lib_common::run_cargo_build 1 flowey.exe e 18 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 18 flowey_lib_hvlite::build_xtask 1 @@ -2842,7 +2844,6 @@ jobs: - name: determine unit test exclusions run: |- flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey.exe e 18 flowey_lib_hvlite::init_cross_build 1 flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command @@ -2852,17 +2853,16 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 0 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 1 - flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey.exe e 18 flowey_lib_common::publish_test_results 6 - flowey.exe e 18 flowey_lib_common::publish_test_results 7 - flowey.exe v 18 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 - flowey.exe v 18 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey.exe e 18 flowey_lib_common::publish_test_results 0 + flowey.exe e 18 flowey_lib_common::publish_test_results 1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - - id: flowey_lib_common__publish_test_results__8 + - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: aarch64-windows-unit-tests-base-junit-xml - path: ${{ env.floweyvar3 }} + path: ${{ env.floweyvar1 }} name: 'publish test results: aarch64-windows-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command @@ -2874,29 +2874,6 @@ jobs: run: |- flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 2 flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 3 - flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 2 - flowey.exe e 18 flowey_lib_common::publish_test_results 0 - flowey.exe e 18 flowey_lib_common::publish_test_results 1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey.exe v 18 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION - shell: bash - - id: flowey_lib_common__publish_test_results__2 - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a - with: - name: aarch64-windows-unit-tests-crypto-native-junit-xml - path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' - if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: generate nextest command - run: |- - flowey.exe e 18 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey.exe e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - shell: bash - - name: run 'aarch64-windows-unit-tests-crypto-rust' nextest tests - run: |- - flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 4 - flowey.exe e 18 flowey_lib_common::run_cargo_nextest_run 5 - flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 3 flowey.exe e 18 flowey_lib_common::publish_test_results 3 flowey.exe e 18 flowey_lib_common::publish_test_results 4 flowey.exe v 18 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -2905,13 +2882,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-windows-unit-tests-crypto-rust-junit-xml + name: aarch64-windows-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-windows-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-windows-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey.exe e 18 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey.exe e 18 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-pc-windows-msvc @@ -2950,7 +2927,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -2958,7 +2935,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3004,22 +2981,48 @@ jobs: ${{ inputs.verbose != '' && inputs.verbose || 'false' }} EOF shell: bash - - name: add default cargo home to path - run: flowey e 19 flowey_lib_common::install_rust 0 - shell: bash - - name: install Rust - run: flowey e 19 flowey_lib_common::install_rust 1 - shell: bash - - name: detect active toolchain + - name: create cargo-nextest cache dir run: |- - flowey e 19 flowey_lib_common::install_rust 2 flowey e 19 flowey_lib_common::cfg_cargo_common_flags 0 + flowey e 19 flowey_lib_common::download_cargo_nextest 0 + flowey e 19 flowey_lib_common::download_cargo_nextest 1 shell: bash - - name: checking if packages need to be installed - run: flowey e 19 flowey_lib_common::install_dist_pkg 0 + - name: Pre-processing cache vars + run: |- + flowey e 19 flowey_lib_common::cache 0 + flowey v 19 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar6 + flowey v 19 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar7 shell: bash - - name: installing packages - run: flowey e 19 flowey_lib_common::install_dist_pkg 1 + - id: flowey_lib_common__cache__1 + uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 + with: + key: ${{ env.floweyvar6 }} + path: ${{ env.floweyvar7 }} + name: 'Restore cache: cargo-nextest' + - name: downloading cargo-nextest + run: |- + flowey v 19 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3322,7 +3291,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3502,7 +3471,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -3510,7 +3479,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -3652,9 +3621,12 @@ jobs: - name: cargo clippy run: flowey e 20 flowey_lib_common::run_cargo_clippy 7 shell: bash + - name: cargo clippy + run: flowey e 20 flowey_lib_common::run_cargo_clippy 6 + shell: bash - name: cargo clippy run: |- - flowey e 20 flowey_lib_common::run_cargo_clippy 6 + flowey e 20 flowey_lib_common::run_cargo_clippy 8 flowey e 20 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: cargo build xtask @@ -3684,8 +3656,6 @@ jobs: run: |- flowey e 20 flowey_lib_common::download_cargo_nextest 0 flowey e 20 flowey_lib_common::download_cargo_nextest 1 - flowey e 20 flowey_lib_common::download_cargo_nextest 2 - flowey e 20 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -3705,7 +3675,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 20 flowey_lib_common::cache 2 - flowey e 20 flowey_lib_common::download_cargo_nextest 4 + flowey e 20 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 20 flowey_lib_common::install_rust 3 @@ -3713,17 +3683,32 @@ jobs: - name: installing cargo-nextest run: |- flowey e 20 flowey_lib_common::install_cargo_nextest 0 + flowey e 20 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build xtask + run: |- + flowey e 20 flowey_lib_common::run_cargo_build 1 + flowey e 20 flowey_lib_hvlite::run_cargo_build 2 + shell: bash + - name: split debug symbols + run: |- + flowey e 20 flowey_lib_hvlite::run_split_debug_info 0 + flowey e 20 flowey_lib_hvlite::run_cargo_build 3 + flowey e 20 flowey_lib_hvlite::build_xtask 1 + shell: bash + - name: determine unit test exclusions + run: |- + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 0 flowey e 20 flowey_lib_hvlite::init_cross_build 3 - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0 shell: bash - name: generate nextest command - run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 5 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 8 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 9 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 3 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 0 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 flowey e 20 flowey_lib_common::publish_test_results 6 flowey e 20 flowey_lib_common::publish_test_results 7 flowey v 20 'flowey_lib_common::publish_test_results:12:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar3 @@ -3732,20 +3717,19 @@ jobs: - id: flowey_lib_common__publish_test_results__8 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml + name: aarch64-linux-musl-unit-tests-base-junit-xml path: ${{ env.floweyvar3 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 3 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 2 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 6 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 7 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 4 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 4 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 5 flowey e 20 flowey_lib_common::publish_test_results 9 flowey e 20 flowey_lib_common::publish_test_results 10 flowey v 20 'flowey_lib_common::publish_test_results:17:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar4 @@ -3754,20 +3738,19 @@ jobs: - id: flowey_lib_common__publish_test_results__11 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml path: ${{ env.floweyvar4 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 5 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 4 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 3 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-rust' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 10 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 11 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 5 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 8 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 9 flowey e 20 flowey_lib_common::publish_test_results 12 flowey e 20 flowey_lib_common::publish_test_results 13 flowey v 20 'flowey_lib_common::publish_test_results:22:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar5 @@ -3776,20 +3759,19 @@ jobs: - id: flowey_lib_common__publish_test_results__14 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-rust-junit-xml path: ${{ env.floweyvar5 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-rust (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 3 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 2 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-openssl' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 2 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 3 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 6 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 6 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 7 flowey e 20 flowey_lib_common::publish_test_results 15 flowey e 20 flowey_lib_common::publish_test_results 16 flowey v 20 'flowey_lib_common::publish_test_results:27:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar6 @@ -3798,57 +3780,40 @@ jobs: - id: flowey_lib_common__publish_test_results__17 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-openssl-junit-xml path: ${{ env.floweyvar6 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - - name: cargo build xtask - run: |- - flowey e 20 flowey_lib_hvlite::init_cross_build 1 - flowey e 20 flowey_lib_common::run_cargo_build 1 - flowey e 20 flowey_lib_hvlite::run_cargo_build 2 - shell: bash - - name: split debug symbols + - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_split_debug_info 0 - flowey e 20 flowey_lib_hvlite::run_cargo_build 3 - flowey e 20 flowey_lib_hvlite::build_xtask 1 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 5 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 4 shell: bash - - name: determine unit test exclusions + - name: run 'aarch64-linux-musl-unit-tests-crypto-symcrypt' nextest tests run: |- - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 0 - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 0 - shell: bash - - name: generate nextest command - run: flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 5 - shell: bash - - name: run 'aarch64-linux-musl-unit-tests-base' nextest tests - run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 0 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 1 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 1 - flowey e 20 flowey_lib_common::publish_test_results 0 - flowey e 20 flowey_lib_common::publish_test_results 1 - flowey v 20 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 - flowey v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION + flowey e 20 flowey_lib_common::run_cargo_nextest_run 10 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 11 + flowey e 20 flowey_lib_common::publish_test_results 0 + flowey e 20 flowey_lib_common::publish_test_results 1 + flowey v 20 'flowey_lib_common::publish_test_results:2:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar1 + flowey v 20 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env github FLOWEY_CONDITION shell: bash - id: flowey_lib_common__publish_test_results__2 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-base-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-symcrypt-junit-xml path: ${{ env.floweyvar1 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-base (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: generate nextest command run: |- - flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 2 - flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + flowey e 20 flowey_lib_hvlite::run_cargo_nextest_run 1 + flowey e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 shell: bash - - name: run 'aarch64-linux-musl-unit-tests-crypto-native' nextest tests + - name: run 'aarch64-linux-musl-unit-tests-crypto-all' nextest tests run: |- - flowey e 20 flowey_lib_common::run_cargo_nextest_run 4 - flowey e 20 flowey_lib_common::run_cargo_nextest_run 5 - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 2 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 2 + flowey e 20 flowey_lib_common::run_cargo_nextest_run 3 flowey e 20 flowey_lib_common::publish_test_results 3 flowey e 20 flowey_lib_common::publish_test_results 4 flowey v 20 'flowey_lib_common::publish_test_results:7:flowey_lib_common/src/publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env github floweyvar2 @@ -3857,13 +3822,13 @@ jobs: - id: flowey_lib_common__publish_test_results__5 uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: - name: aarch64-linux-musl-unit-tests-crypto-native-junit-xml + name: aarch64-linux-musl-unit-tests-crypto-all-junit-xml path: ${{ env.floweyvar2 }} - name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-native (JUnit XML)' + name: 'publish test results: aarch64-linux-musl-unit-tests-crypto-all (JUnit XML)' if: ${{ fromJSON(env.FLOWEY_CONDITION) }} - name: report test results to overall pipeline status run: |- - flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 7 + flowey e 20 flowey_lib_hvlite::build_nextest_unit_tests 1 flowey e 20 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 shell: bash - name: run doctests for aarch64-unknown-linux-musl @@ -3933,79 +3898,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmgstool-dev" | flowey.exe v 21 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\x64-windows-vmm-tests-archive" | flowey.exe v 21 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 21 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 21 flowey_lib_common::cache 0 - flowey.exe v 21 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 21 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 21 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5625,7 +5659,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -5689,8 +5723,6 @@ jobs: run: |- flowey e 27 flowey_lib_common::download_cargo_nextest 0 flowey e 27 flowey_lib_common::download_cargo_nextest 1 - flowey e 27 flowey_lib_common::download_cargo_nextest 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -5710,7 +5742,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 27 flowey_lib_common::cache 2 - flowey e 27 flowey_lib_common::download_cargo_nextest 4 + flowey e 27 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -5737,18 +5769,7 @@ jobs: run: |- flowey e 27 flowey_lib_common::system_info 0 flowey e 27 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 27 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - flowey e 27 flowey_core::pipeline::artifact::resolve 8 - flowey e 27 flowey_core::pipeline::artifact::resolve 4 - flowey e 27 flowey_core::pipeline::artifact::resolve 1 - flowey e 27 flowey_core::pipeline::artifact::resolve 2 - flowey e 27 flowey_core::pipeline::artifact::resolve 3 - flowey e 27 flowey_core::pipeline::artifact::resolve 0 - flowey e 27 flowey_core::pipeline::artifact::resolve 7 - flowey v 27 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -5946,7 +5988,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -6008,74 +6050,6 @@ jobs: echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmgstool-dev" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmgstool-dev' --is-raw-string update echo "${{ runner.temp }}\\used_artifacts\\aarch64-windows-vmm-tests-archive" | flowey.exe v 28 'artifact_use_from_aarch64-windows-vmm-tests-archive' --is-raw-string update shell: bash - - name: create cargo-nextest cache dir - run: |- - flowey.exe e 28 flowey_lib_common::download_cargo_nextest 0 - flowey.exe e 28 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 28 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 28 flowey_lib_common::download_cargo_nextest 3 - shell: bash - - name: Pre-processing cache vars - run: |- - flowey.exe e 28 flowey_lib_common::cache 0 - flowey.exe v 28 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar4 - flowey.exe v 28 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env github floweyvar5 - shell: bash - - id: flowey_lib_common__cache__1 - uses: actions/cache@caa296126883cff596d87d8935842f9db880ef25 - with: - key: ${{ env.floweyvar4 }} - path: ${{ env.floweyvar5 }} - name: 'Restore cache: cargo-nextest' - - name: downloading cargo-nextest - run: |- - flowey.exe v 28 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source steps.flowey_lib_common__cache__1.outputs.cache-hit <> $GITHUB_PATH shell: bash @@ -6269,7 +6316,7 @@ jobs: echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-openvmm" | flowey v 29 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-pipette" | flowey v 29 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-tmk_vmm" | flowey v 29 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 29 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update + echo "$AgentTempDirNormal/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 29 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/aarch64-tmks" | flowey v 29 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$AgentTempDirNormal/used_artifacts/x64-linux-incubator" | flowey v 29 'artifact_use_from_x64-linux-incubator' --is-raw-string update shell: bash @@ -6277,8 +6324,6 @@ jobs: run: |- flowey e 29 flowey_lib_common::download_cargo_nextest 0 flowey e 29 flowey_lib_common::download_cargo_nextest 1 - flowey e 29 flowey_lib_common::download_cargo_nextest 2 - flowey e 29 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -6298,7 +6343,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 29 flowey_lib_common::cache 2 - flowey e 29 flowey_lib_common::download_cargo_nextest 4 + flowey e 29 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: check if openvmm needs to be cloned run: |- @@ -6325,7 +6370,8 @@ jobs: run: |- flowey e 29 flowey_lib_common::system_info 0 flowey e 29 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + flowey e 29 flowey_core::pipeline::artifact::resolve 6 shell: bash - name: create gh-release-download cache dir run: flowey e 29 flowey_lib_common::download_gh_release 0 @@ -6359,12 +6405,9 @@ jobs: - name: unpack QEMU archive run: |- flowey e 29 flowey_lib_hvlite::resolve_openvmm_qemu 0 - flowey e 29 flowey_core::pipeline::artifact::resolve 6 - flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 flowey e 29 flowey_core::pipeline::artifact::resolve 4 - flowey e 29 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - flowey v 29 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_core/src/node/github_context.rs' --is-raw-string update --env-source runner.temp <> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7047,7 +7100,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7302,7 +7355,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7310,7 +7363,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7363,6 +7416,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-ohcldiag-dev" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmgs_lib" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\aarch64-windows-vmm-perf-runner" | flowey.exe v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 4 flowey_lib_common::install_rust 0 @@ -7435,7 +7490,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -7452,7 +7507,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey.exe e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 4 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -7460,7 +7515,7 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 4 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 4 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -7468,6 +7523,14 @@ jobs: flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 4 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 4 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 4 flowey_lib_common::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 4 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 4 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 4 flowey_lib_common::cache 3 @@ -7496,6 +7559,12 @@ jobs: name: aarch64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-windows-vmm-perf-runner/ + include-hidden-files: true job5: name: build artifacts (for VMM tests) [aarch64-windows] runs-on: @@ -7523,7 +7592,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7531,7 +7600,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7729,8 +7798,6 @@ jobs: run: |- flowey.exe e 5 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 5 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -7750,7 +7817,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 5 flowey_lib_common::cache 2 - flowey.exe e 5 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 5 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 5 flowey_lib_common::install_rust 3 @@ -7847,7 +7914,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -7855,7 +7922,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -7908,6 +7975,8 @@ jobs: echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-ohcldiag-dev" | flowey.exe v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmgs_lib" echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmgs_lib" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-windows-vmm-perf-runner" + echo "${{ runner.temp }}\\publish_artifacts\\x64-windows-vmm-perf-runner" | flowey.exe v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update shell: bash - name: add default cargo home to path run: flowey.exe e 6 flowey_lib_common::install_rust 0 @@ -7980,7 +8049,7 @@ jobs: - name: symlink protoc run: |- flowey.exe e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build hypestv run: |- @@ -8001,7 +8070,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey.exe e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 flowey.exe e 6 flowey_core::pipeline::artifact::publish 1 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 2 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build igvmfilegen run: |- @@ -8009,7 +8078,7 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 1 flowey.exe e 6 flowey_lib_hvlite::build_igvmfilegen 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 2 - flowey.exe e 6 flowey_lib_hvlite::init_cross_build 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8017,6 +8086,14 @@ jobs: flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 2 flowey.exe e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 flowey.exe e 6 flowey_core::pipeline::artifact::publish 3 + flowey.exe e 6 flowey_lib_hvlite::init_cross_build 1 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey.exe e 6 flowey_lib_common::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::run_cargo_build 4 + flowey.exe e 6 flowey_lib_hvlite::build_vmm_perf 0 + flowey.exe e 6 flowey_core::pipeline::artifact::publish 4 shell: bash - name: 'validate cache entry: gh-release-download' run: flowey.exe e 6 flowey_lib_common::cache 3 @@ -8045,6 +8122,12 @@ jobs: name: x64-windows-vmgs_lib path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmgs_lib/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-windows-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-windows-vmm-perf-runner/ + include-hidden-files: true job7: name: build artifacts (for VMM tests) [x64-windows] runs-on: @@ -8072,7 +8155,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'X64' @@ -8080,7 +8163,7 @@ jobs: shell: bash - run: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/aarch64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo "$USERPROFILE\\.cargo\\bin" >> $GITHUB_PATH if: runner.os == 'Windows' && runner.arch == 'ARM64' @@ -8278,8 +8361,6 @@ jobs: run: |- flowey.exe e 7 flowey_lib_common::download_cargo_nextest 0 flowey.exe e 7 flowey_lib_common::download_cargo_nextest 1 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8299,7 +8380,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey.exe e 7 flowey_lib_common::cache 2 - flowey.exe e 7 flowey_lib_common::download_cargo_nextest 4 + flowey.exe e 7 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey.exe e 7 flowey_lib_common::install_rust 3 @@ -8419,6 +8500,10 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-ohcldiag-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-openvmm" @@ -8433,6 +8518,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmgstool-dev" | flowey v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-perf-runner" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/aarch64-linux-vmm-tests-archive" | flowey v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8513,7 +8600,7 @@ jobs: - name: symlink protoc run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 0 + flowey e 8 flowey_lib_hvlite::init_cross_build 1 shell: bash - name: cargo build openvmm run: |- @@ -8526,7 +8613,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 5 flowey e 8 flowey_lib_hvlite::build_openvmm 0 flowey e 8 flowey_core::pipeline::artifact::publish 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 2 + flowey e 8 flowey_lib_hvlite::init_cross_build 3 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8539,7 +8626,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 9 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 0 flowey e 8 flowey_core::pipeline::artifact::publish 1 - flowey e 8 flowey_lib_hvlite::init_cross_build 5 + flowey e 8 flowey_lib_hvlite::init_cross_build 6 shell: bash - name: cargo build vmgstool run: |- @@ -8552,7 +8639,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 18 flowey e 8 flowey_lib_hvlite::build_vmgstool 0 flowey e 8 flowey_core::pipeline::artifact::publish 2 - flowey e 8 flowey_lib_hvlite::init_cross_build 4 + flowey e 8 flowey_lib_hvlite::init_cross_build 5 shell: bash - name: cargo build vmgstool run: |- @@ -8565,7 +8652,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 16 flowey e 8 flowey_lib_hvlite::build_vmgstool 1 flowey e 8 flowey_core::pipeline::artifact::publish 3 - flowey e 8 flowey_lib_hvlite::init_cross_build 3 + flowey e 8 flowey_lib_hvlite::init_cross_build 4 shell: bash - name: cargo build vmgs_lib run: |- @@ -8574,7 +8661,7 @@ jobs: flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 flowey e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 flowey e 8 flowey_core::pipeline::artifact::publish 4 - flowey e 8 flowey_lib_hvlite::init_cross_build 1 + flowey e 8 flowey_lib_hvlite::init_cross_build 2 shell: bash - name: cargo build igvmfilegen run: |- @@ -8587,7 +8674,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 1 flowey e 8 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 8 flowey_core::pipeline::artifact::publish 5 - flowey e 8 flowey_lib_hvlite::init_cross_build 6 + flowey e 8 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8607,7 +8694,7 @@ jobs: - name: extract Aarch64 sysroot.tar.gz run: |- flowey e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 8 + flowey e 8 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -8620,7 +8707,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 7 flowey e 8 flowey_lib_hvlite::build_openvmm 1 flowey e 8 flowey_core::pipeline::artifact::publish 7 - flowey e 8 flowey_lib_hvlite::init_cross_build 9 + flowey e 8 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -8633,7 +8720,7 @@ jobs: flowey e 8 flowey_lib_hvlite::run_cargo_build 11 flowey e 8 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 8 flowey_core::pipeline::artifact::publish 8 - flowey e 8 flowey_lib_hvlite::init_cross_build 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -8651,8 +8738,6 @@ jobs: run: |- flowey e 8 flowey_lib_common::download_cargo_nextest 0 flowey e 8 flowey_lib_common::download_cargo_nextest 1 - flowey e 8 flowey_lib_common::download_cargo_nextest 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -8672,7 +8757,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 8 flowey_lib_common::cache 2 - flowey e 8 flowey_lib_common::download_cargo_nextest 4 + flowey e 8 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 8 flowey_lib_common::install_rust 3 @@ -8680,13 +8765,46 @@ jobs: - name: installing cargo-nextest run: |- flowey e 8 flowey_lib_common::install_cargo_nextest 0 - flowey e 8 flowey_lib_hvlite::init_cross_build 7 + flowey e 8 flowey_lib_hvlite::init_cross_build 0 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 8 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 8 flowey_core::pipeline::artifact::publish 10 + flowey e 8 flowey_lib_hvlite::init_cross_build 9 + shell: bash + - name: build + archive 'vmm_tests' nextests + run: |- + flowey e 8 flowey_lib_common::run_cargo_nextest_archive 1 + flowey e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 + flowey e 8 flowey_core::pipeline::artifact::publish 11 + flowey e 8 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 8 flowey_lib_hvlite::run_cargo_build 20 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 8 flowey_core::pipeline::artifact::publish 12 + flowey e 8 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 8 flowey_lib_common::run_cargo_build 11 + flowey e 8 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 8 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 8 flowey_lib_hvlite::run_cargo_build 22 + flowey e 8 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 8 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 8 flowey_lib_common::cache 3 @@ -8712,6 +8830,18 @@ jobs: name: aarch64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-perf-runner/ + include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-musl-vmm-tests-archive + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-musl-vmm-tests-archive/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8754,6 +8884,12 @@ jobs: name: aarch64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: aarch64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/aarch64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -8802,6 +8938,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-openvmm_vhost" | flowey v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-musl-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-ohcldiag-dev" @@ -8818,6 +8956,8 @@ jobs: echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmgstool-dev" | flowey v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" + echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-perf-runner" | flowey v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" echo "$AgentTempDirNormal/publish_artifacts/x64-linux-vmm-tests-archive" | flowey v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update shell: bash @@ -8976,7 +9116,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 1 flowey e 9 flowey_lib_hvlite::build_igvmfilegen 0 flowey e 9 flowey_core::pipeline::artifact::publish 5 - flowey e 9 flowey_lib_hvlite::init_cross_build 7 + flowey e 9 flowey_lib_hvlite::init_cross_build 8 shell: bash - name: cargo build ohcldiag-dev run: |- @@ -8996,7 +9136,7 @@ jobs: - name: extract X86_64 sysroot.tar.gz run: |- flowey e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - flowey e 9 flowey_lib_hvlite::init_cross_build 9 + flowey e 9 flowey_lib_hvlite::init_cross_build 10 shell: bash - name: cargo build openvmm run: |- @@ -9009,7 +9149,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 7 flowey e 9 flowey_lib_hvlite::build_openvmm 1 flowey e 9 flowey_core::pipeline::artifact::publish 7 - flowey e 9 flowey_lib_hvlite::init_cross_build 10 + flowey e 9 flowey_lib_hvlite::init_cross_build 11 shell: bash - name: cargo build openvmm_vhost run: |- @@ -9022,7 +9162,7 @@ jobs: flowey e 9 flowey_lib_hvlite::run_cargo_build 11 flowey e 9 flowey_lib_hvlite::build_openvmm_vhost 1 flowey e 9 flowey_core::pipeline::artifact::publish 8 - flowey e 9 flowey_lib_hvlite::init_cross_build 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 12 shell: bash - name: cargo build prep_steps run: |- @@ -9040,8 +9180,6 @@ jobs: run: |- flowey e 9 flowey_lib_common::download_cargo_nextest 0 flowey e 9 flowey_lib_common::download_cargo_nextest 1 - flowey e 9 flowey_lib_common::download_cargo_nextest 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 3 shell: bash - name: Pre-processing cache vars run: |- @@ -9061,7 +9199,7 @@ jobs: ${{ steps.flowey_lib_common__cache__1.outputs.cache-hit }} EOF flowey e 9 flowey_lib_common::cache 2 - flowey e 9 flowey_lib_common::download_cargo_nextest 4 + flowey e 9 flowey_lib_common::download_cargo_nextest 2 shell: bash - name: report $CARGO_HOME run: flowey e 9 flowey_lib_common::install_rust 3 @@ -9076,13 +9214,39 @@ jobs: flowey e 9 flowey_lib_common::run_cargo_nextest_archive 0 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 flowey e 9 flowey_core::pipeline::artifact::publish 10 - flowey e 9 flowey_lib_hvlite::init_cross_build 8 + flowey e 9 flowey_lib_hvlite::init_cross_build 9 shell: bash - name: build + archive 'vmm_tests' nextests run: |- flowey e 9 flowey_lib_common::run_cargo_nextest_archive 1 flowey e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 flowey e 9 flowey_core::pipeline::artifact::publish 11 + flowey e 9 flowey_lib_hvlite::init_cross_build 7 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 19 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 9 + flowey e 9 flowey_lib_hvlite::run_cargo_build 20 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 0 + flowey e 9 flowey_core::pipeline::artifact::publish 12 + flowey e 9 flowey_lib_hvlite::init_cross_build 13 + shell: bash + - name: cargo build vmm_perf + run: |- + flowey e 9 flowey_lib_common::run_cargo_build 11 + flowey e 9 flowey_lib_hvlite::run_cargo_build 21 + shell: bash + - name: split debug symbols + run: |- + flowey e 9 flowey_lib_hvlite::run_split_debug_info 10 + flowey e 9 flowey_lib_hvlite::run_cargo_build 22 + flowey e 9 flowey_lib_hvlite::build_vmm_perf 1 + flowey e 9 flowey_core::pipeline::artifact::publish 13 shell: bash - name: 'validate cache entry: cargo-nextest' run: flowey e 9 flowey_lib_common::cache 3 @@ -9108,6 +9272,12 @@ jobs: name: x64-linux-musl-openvmm_vhost path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-openvmm_vhost/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-musl-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-musl-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: @@ -9156,6 +9326,12 @@ jobs: name: x64-linux-vmgstool-dev path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmgstool-dev/ include-hidden-files: true + - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a + with: + name: x64-linux-vmm-perf-runner + path: ${{ runner.temp }}/publish_artifacts/x64-linux-vmm-perf-runner/ + include-hidden-files: true - name: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: diff --git a/Cargo.lock b/Cargo.lock index 5a8a700fb8e..bde4d0ed22d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2343,6 +2343,7 @@ dependencies = [ "serde", "serde_json", "target-lexicon", + "test_with_tracing", "vmm_test_images", ] diff --git a/ci-flowey/openvmm-pr.yaml b/ci-flowey/openvmm-pr.yaml index 6f9700faf31..67492b3875b 100644 --- a/ci-flowey/openvmm-pr.yaml +++ b/ci-flowey/openvmm-pr.yaml @@ -44,7 +44,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -417,9 +417,11 @@ jobs: displayName: cargo clippy - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_clippy 7 displayName: cargo clippy + - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_clippy 6 + displayName: cargo clippy - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_clippy 6 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_clippy 8 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_cross_build 0 displayName: cargo clippy - bash: |- @@ -445,8 +447,6 @@ jobs: set -e $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -467,168 +467,164 @@ jobs: EOF $(FLOWEY_BIN) e 15 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME - bash: |- set -e $(FLOWEY_BIN) e 15 flowey_lib_common::install_cargo_nextest 0 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_cross_build 3 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_cross_build 1 displayName: installing cargo-nextest - - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 + - bash: |- + set -e + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_build 1 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_build 2 + displayName: cargo build xtask + - bash: |- + set -e + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_split_debug_info 0 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_build 3 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_xtask 1 + displayName: split debug symbols + - bash: |- + set -e + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 + displayName: determine unit test exclusions + - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 8 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 9 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 3 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 0 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 1 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 5 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 8 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 4 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:8:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar5 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar1 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests + displayName: run 'x64-linux-musl-unit-tests-base' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar5) - testRunTitle: x64-linux-musl-unit-tests-crypto-rust - displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' + testResultsFiles: $(floweyvar1) + testRunTitle: x64-linux-musl-unit-tests-base + displayName: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 - $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 + $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 6 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 7 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 4 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 4 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 5 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 7 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 6 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 4 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 6 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:6:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar4 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar3 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:15:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests + displayName: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar4) - testRunTitle: x64-linux-musl-unit-tests-crypto-openssl - displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' + testResultsFiles: $(floweyvar3) + testRunTitle: x64-linux-musl-unit-tests-crypto-native + displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 - $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 4 + $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 3 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 10 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 11 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 5 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 8 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 9 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 9 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 10 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 8 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 8 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:10:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar6 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:8:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar5 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:20:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests + displayName: run 'x64-linux-musl-unit-tests-crypto-rust' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar6) - testRunTitle: x64-linux-musl-unit-tests-crypto-symcrypt - displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' + testResultsFiles: $(floweyvar5) + testRunTitle: x64-linux-musl-unit-tests-crypto-rust + displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-rust (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 3 + $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 2 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 2 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 3 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 6 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 6 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 7 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 11 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 2 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 6 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 10 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar2 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:6:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar4 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:25:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests + displayName: run 'x64-linux-musl-unit-tests-crypto-openssl' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar2) - testRunTitle: x64-linux-musl-unit-tests-crypto-all - displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' + testResultsFiles: $(floweyvar4) + testRunTitle: x64-linux-musl-unit-tests-crypto-openssl + displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-openssl (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::init_cross_build 1 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_build 1 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_build 2 - displayName: cargo build xtask - - bash: |- - set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_split_debug_info 0 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_build 3 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_xtask 1 - displayName: split debug symbols - - bash: |- - set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 0 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 0 - displayName: determine unit test exclusions - - bash: $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 5 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 5 + $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 4 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 0 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 10 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 11 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 1 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 0 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 10 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 0 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar1 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:10:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar6 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-base' nextest tests + displayName: run 'x64-linux-musl-unit-tests-crypto-symcrypt' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar1) - testRunTitle: x64-linux-musl-unit-tests-base - displayName: 'publish test results: x64-linux-musl-unit-tests-base (JUnit XML)' + testResultsFiles: $(floweyvar6) + testRunTitle: x64-linux-musl-unit-tests-crypto-symcrypt + displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-symcrypt (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 2 - $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::run_cargo_nextest_run 1 + $(FLOWEY_BIN) e 15 flowey_lib_common::gen_cargo_nextest_run_cmd 0 displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 4 - $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 5 - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 2 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 2 + $(FLOWEY_BIN) e 15 flowey_lib_common::run_cargo_nextest_run 3 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 4 + $(FLOWEY_BIN) e 15 flowey_lib_common::ado_task_publish_test_results 2 $(FLOWEY_BIN) e 15 flowey_lib_common::publish_test_results 2 - $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar3 + $FLOWEY_BIN v 15 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar2 $FLOWEY_BIN v 15 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-linux-musl-unit-tests-crypto-native' nextest tests + displayName: run 'x64-linux-musl-unit-tests-crypto-all' nextest tests - task: PublishTestResults@2 inputs: testResultsFormat: JUnit - testResultsFiles: $(floweyvar3) - testRunTitle: x64-linux-musl-unit-tests-crypto-native - displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-native (JUnit XML)' + testResultsFiles: $(floweyvar2) + testRunTitle: x64-linux-musl-unit-tests-crypto-all + displayName: 'publish test results: x64-linux-musl-unit-tests-crypto-all (JUnit XML)' condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 7 + $(FLOWEY_BIN) e 15 flowey_lib_hvlite::build_nextest_unit_tests 1 $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 15 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 @@ -769,8 +765,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -791,7 +785,7 @@ jobs: EOF $(FLOWEY_BIN) e 14 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 14 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME @@ -807,7 +801,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 8 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 9 - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 3 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 5 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 8 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 4 @@ -830,7 +823,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 6 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 7 - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 4 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 7 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 6 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 6 @@ -853,7 +845,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 2 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 3 - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 5 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 9 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 2 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 8 @@ -890,7 +881,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 0 @@ -913,7 +903,6 @@ jobs: set -e $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 4 $(FLOWEY_BIN) e 14 flowey_lib_common::run_cargo_nextest_run 5 - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 2 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 3 $(FLOWEY_BIN) e 14 flowey_lib_common::ado_task_publish_test_results 4 $(FLOWEY_BIN) e 14 flowey_lib_common::publish_test_results 2 @@ -929,7 +918,7 @@ jobs: condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 6 + $(FLOWEY_BIN) e 14 flowey_lib_hvlite::build_nextest_unit_tests 1 $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 14 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 @@ -962,7 +951,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -1107,8 +1096,6 @@ jobs: set -e $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -1129,17 +1116,38 @@ jobs: EOF $(FLOWEY_BIN) e 13 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME - bash: |- set -e $(FLOWEY_BIN) e 13 flowey_lib_common::install_cargo_nextest 0 - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 13 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 displayName: installing cargo-nextest + - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 + displayName: generate nextest command + - bash: |- + set -e + $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 4 + $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 5 + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 5 + $(FLOWEY_BIN) e 13 flowey_lib_common::ado_task_publish_test_results 4 + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 4 + $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar3 + $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION + displayName: run 'x64-windows-unit-tests-crypto-rust' nextest tests + - task: PublishTestResults@2 + inputs: + testResultsFormat: JUnit + testResultsFiles: $(floweyvar3) + testRunTitle: x64-windows-unit-tests-crypto-rust + displayName: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' + condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e + $(FLOWEY_BIN) e 13 flowey_lib_hvlite::init_cross_build 3 $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_build 1 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_xtask 1 @@ -1147,7 +1155,6 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 0 - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::init_cross_build 1 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_nextest_run 0 displayName: determine unit test exclusions - bash: $(FLOWEY_BIN) e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 2 @@ -1156,12 +1163,11 @@ jobs: set -e $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 5 + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 13 flowey_lib_common::ado_task_publish_test_results 0 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 4 - $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar1 - $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:10:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 0 + $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:0:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar1 + $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION displayName: run 'x64-windows-unit-tests-base' nextest tests - task: PublishTestResults@2 inputs: @@ -1179,12 +1185,11 @@ jobs: set -e $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 2 $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 3 - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 2 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 1 + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 3 $(FLOWEY_BIN) e 13 flowey_lib_common::ado_task_publish_test_results 2 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 0 - $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar2 - $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:0:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION + $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 2 + $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:2:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar2 + $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION displayName: run 'x64-windows-unit-tests-crypto-native' nextest tests - task: PublishTestResults@2 inputs: @@ -1195,30 +1200,7 @@ jobs: condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - bash: |- set -e - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::run_cargo_nextest_run 2 - $(FLOWEY_BIN) e 13 flowey_lib_common::gen_cargo_nextest_run_cmd 1 - displayName: generate nextest command - - bash: |- - set -e - $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 4 - $(FLOWEY_BIN) e 13 flowey_lib_common::run_cargo_nextest_run 5 - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 3 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 13 flowey_lib_common::ado_task_publish_test_results 4 - $(FLOWEY_BIN) e 13 flowey_lib_common::publish_test_results 2 - $FLOWEY_BIN v 13 'flowey_lib_common::ado_task_publish_test_results:4:flowey_lib_common/src/ado_task_publish_test_results.rs' --is-raw-string --condvar flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs write-to-env ado floweyvar3 - $FLOWEY_BIN v 13 'flowey_lib_common::publish_test_results:5:flowey_lib_common/src/publish_test_results.rs' write-to-env ado FLOWEY_CONDITION - displayName: run 'x64-windows-unit-tests-crypto-rust' nextest tests - - task: PublishTestResults@2 - inputs: - testResultsFormat: JUnit - testResultsFiles: $(floweyvar3) - testRunTitle: x64-windows-unit-tests-crypto-rust - displayName: 'publish test results: x64-windows-unit-tests-crypto-rust (JUnit XML)' - condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - - bash: |- - set -e - $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 4 + $(FLOWEY_BIN) e 13 flowey_lib_hvlite::build_nextest_unit_tests 1 $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::build_and_run_nextest_unit_tests 0 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 13 flowey_lib_hvlite::_jobs::build_and_run_doc_tests 0 @@ -1826,7 +1808,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -2211,6 +2193,8 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-openvmm_vhost" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-perf-runner" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-vmm-perf-runner' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-musl-vmm-tests-archive" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-ohcldiag-dev" @@ -2227,6 +2211,8 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgstool" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-vmgstool' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmgstool-dev" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgstool-dev" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-perf-runner" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-linux-vmm-tests-archive" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-tests-archive" | $FLOWEY_BIN v 9 'artifact_publish_from_x64-linux-vmm-tests-archive' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job @@ -2378,7 +2364,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 5 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 7 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 8 displayName: split debug symbols - bash: |- set -e @@ -2397,7 +2383,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 9 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 10 displayName: extract X86_64 sysroot.tar.gz - bash: |- set -e @@ -2410,7 +2396,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 7 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm 1 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 7 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 10 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 11 displayName: split debug symbols - bash: |- set -e @@ -2423,7 +2409,7 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 11 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_openvmm_vhost 1 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 8 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 11 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 12 displayName: split debug symbols - bash: |- set -e @@ -2441,8 +2427,6 @@ jobs: set -e $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -2463,7 +2447,7 @@ jobs: EOF $(FLOWEY_BIN) e 9 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME @@ -2477,14 +2461,40 @@ jobs: $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 0 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 0 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 10 - $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 8 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 9 displayName: build + archive 'vmm_tests' nextests - bash: |- set -e $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_nextest_archive 1 $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_nextest_vmm_tests 1 $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 11 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 7 displayName: build + archive 'vmm_tests' nextests + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 10 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 19 + displayName: cargo build vmm_perf + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 9 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 20 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_vmm_perf 0 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 12 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::init_cross_build 13 + displayName: split debug symbols + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_common::run_cargo_build 11 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 21 + displayName: cargo build vmm_perf + - bash: |- + set -e + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_split_debug_info 10 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::run_cargo_build 22 + $(FLOWEY_BIN) e 9 flowey_lib_hvlite::build_vmm_perf 1 + $(FLOWEY_BIN) e 9 flowey_core::pipeline::artifact::publish 13 + displayName: split debug symbols - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' - bash: $(FLOWEY_BIN) e 9 flowey_lib_common::cache 7 @@ -2498,6 +2508,9 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-openvmm_vhost displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-openvmm_vhost artifact: x64-linux-musl-openvmm_vhost + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-perf-runner + artifact: x64-linux-musl-vmm-perf-runner - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-musl-vmm-tests-archive displayName: πŸŒΌπŸ“¦ Publish x64-linux-musl-vmm-tests-archive artifact: x64-linux-musl-vmm-tests-archive @@ -2522,6 +2535,9 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmgstool-dev displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmgstool-dev artifact: x64-linux-vmgstool-dev + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmm-perf-runner + artifact: x64-linux-vmm-perf-runner - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-linux-vmm-tests-archive displayName: πŸŒΌπŸ“¦ Publish x64-linux-vmm-tests-archive artifact: x64-linux-vmm-tests-archive @@ -2567,6 +2583,10 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-openvmm' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-openvmm_vhost' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-vmm-perf-runner" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-vmm-perf-runner' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-vmm-tests-archive" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-ohcldiag-dev" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-ohcldiag-dev' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-openvmm" @@ -2581,6 +2601,8 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgstool" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-vmgstool' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-vmgstool-dev" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgstool-dev" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-vmgstool-dev' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmm-perf-runner" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-vmm-perf-runner' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-linux-vmm-tests-archive" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmm-tests-archive" | $FLOWEY_BIN v 8 'artifact_publish_from_aarch64-linux-vmm-tests-archive' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job @@ -2654,7 +2676,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 0 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 1 displayName: symlink protoc - bash: |- set -e @@ -2667,7 +2689,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 5 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 3 displayName: split debug symbols - bash: |- set -e @@ -2680,7 +2702,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 9 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm_vhost 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 1 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 5 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 6 displayName: split debug symbols - bash: |- set -e @@ -2693,7 +2715,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 18 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_vmgstool 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 2 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 4 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 5 displayName: split debug symbols - bash: |- set -e @@ -2706,7 +2728,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 16 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_vmgstool 1 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 3 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 4 displayName: split debug symbols - bash: |- set -e @@ -2715,7 +2737,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 0 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 4 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 2 displayName: cargo build vmgs_lib - bash: |- set -e @@ -2728,7 +2750,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 5 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 6 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 8 displayName: split debug symbols - bash: |- set -e @@ -2747,7 +2769,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 8 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 10 displayName: extract Aarch64 sysroot.tar.gz - bash: |- set -e @@ -2760,7 +2782,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 7 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm 1 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 7 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 9 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 11 displayName: split debug symbols - bash: |- set -e @@ -2773,7 +2795,7 @@ jobs: $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 11 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_openvmm_vhost 1 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 8 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 10 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 12 displayName: split debug symbols - bash: |- set -e @@ -2791,8 +2813,6 @@ jobs: set -e $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -2813,21 +2833,54 @@ jobs: EOF $(FLOWEY_BIN) e 8 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME - bash: |- set -e $(FLOWEY_BIN) e 8 flowey_lib_common::install_cargo_nextest 0 - $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 7 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 0 displayName: installing cargo-nextest - bash: |- set -e $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_nextest_archive 0 $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_nextest_vmm_tests 0 $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 10 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 9 displayName: build + archive 'vmm_tests' nextests + - bash: |- + set -e + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_nextest_archive 1 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_nextest_vmm_tests 1 + $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 11 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 7 + displayName: build + archive 'vmm_tests' nextests + - bash: |- + set -e + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 10 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 19 + displayName: cargo build vmm_perf + - bash: |- + set -e + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 9 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 20 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_vmm_perf 0 + $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 12 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::init_cross_build 13 + displayName: split debug symbols + - bash: |- + set -e + $(FLOWEY_BIN) e 8 flowey_lib_common::run_cargo_build 11 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 21 + displayName: cargo build vmm_perf + - bash: |- + set -e + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_split_debug_info 10 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::run_cargo_build 22 + $(FLOWEY_BIN) e 8 flowey_lib_hvlite::build_vmm_perf 1 + $(FLOWEY_BIN) e 8 flowey_core::pipeline::artifact::publish 13 + displayName: split debug symbols - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' - bash: $(FLOWEY_BIN) e 8 flowey_lib_common::cache 7 @@ -2841,6 +2894,12 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-openvmm_vhost displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-openvmm_vhost artifact: aarch64-linux-musl-openvmm_vhost + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-perf-runner + artifact: aarch64-linux-musl-vmm-perf-runner + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-musl-vmm-tests-archive + displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-musl-vmm-tests-archive + artifact: aarch64-linux-musl-vmm-tests-archive - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-ohcldiag-dev displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-ohcldiag-dev artifact: aarch64-linux-ohcldiag-dev @@ -2862,6 +2921,9 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmgstool-dev displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmgstool-dev artifact: aarch64-linux-vmgstool-dev + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-perf-runner + artifact: aarch64-linux-vmm-perf-runner - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-linux-vmm-tests-archive displayName: πŸŒΌπŸ“¦ Publish aarch64-linux-vmm-tests-archive artifact: aarch64-linux-vmm-tests-archive @@ -2889,7 +2951,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -3094,8 +3156,6 @@ jobs: set -e $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -3116,7 +3176,7 @@ jobs: EOF $(FLOWEY_BIN) e 7 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 7 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME @@ -3188,7 +3248,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -3253,6 +3313,8 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-ohcldiag-dev" | $FLOWEY_BIN v 6 'artifact_publish_from_x64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-vmgs_lib" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgs_lib" | $FLOWEY_BIN v 6 'artifact_publish_from_x64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-windows-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmm-perf-runner" | $FLOWEY_BIN v 6 'artifact_publish_from_x64-windows-vmm-perf-runner' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::install_rust 0 displayName: install Rust @@ -3320,7 +3382,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 2 displayName: symlink protoc - bash: |- set -e @@ -3341,7 +3403,7 @@ jobs: $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_and_test_vmgs_lib 2 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 1 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 3 displayName: test vmgs_lib - bash: |- set -e @@ -3349,7 +3411,7 @@ jobs: $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 2 - $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 4 displayName: cargo build igvmfilegen - bash: |- set -e @@ -3357,7 +3419,15 @@ jobs: $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 2 $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_ohcldiag_dev 0 $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 3 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::init_cross_build 1 displayName: cargo build ohcldiag-dev + - bash: |- + set -e + $(FLOWEY_BIN) e 6 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::run_cargo_build 4 + $(FLOWEY_BIN) e 6 flowey_lib_hvlite::build_vmm_perf 0 + $(FLOWEY_BIN) e 6 flowey_core::pipeline::artifact::publish 4 + displayName: cargo build vmm_perf - bash: $(FLOWEY_BIN) e 6 flowey_lib_common::cache 3 displayName: 'validate cache entry: gh-release-download' - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-hypestv @@ -3372,6 +3442,9 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmgs_lib displayName: πŸŒΌπŸ“¦ Publish x64-windows-vmgs_lib artifact: x64-windows-vmgs_lib + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-windows-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish x64-windows-vmm-perf-runner + artifact: x64-windows-vmm-perf-runner - job: job5 displayName: build artifacts (for VMM tests) [aarch64-windows] pool: @@ -3396,7 +3469,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -3601,8 +3674,6 @@ jobs: set -e $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -3623,7 +3694,7 @@ jobs: EOF $(FLOWEY_BIN) e 5 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: $(FLOWEY_BIN) e 5 flowey_lib_common::install_rust 2 displayName: report $CARGO_HOME @@ -3690,7 +3761,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -3755,6 +3826,8 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-ohcldiag-dev" | $FLOWEY_BIN v 4 'artifact_publish_from_aarch64-windows-ohcldiag-dev' --is-raw-string update mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-vmgs_lib" echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgs_lib" | $FLOWEY_BIN v 4 'artifact_publish_from_aarch64-windows-vmgs_lib' --is-raw-string update + mkdir -p "$(AgentTempDirNormal)/publish_artifacts/aarch64-windows-vmm-perf-runner" + echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmm-perf-runner" | $FLOWEY_BIN v 4 'artifact_publish_from_aarch64-windows-vmm-perf-runner' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::install_rust 0 displayName: install Rust @@ -3822,7 +3895,7 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 1 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 2 displayName: symlink protoc - bash: |- set -e @@ -3839,7 +3912,7 @@ jobs: $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 0 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_and_test_vmgs_lib 1 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 1 - $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 2 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 3 displayName: cargo build vmgs_lib - bash: |- set -e @@ -3847,7 +3920,7 @@ jobs: $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 1 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_igvmfilegen 0 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 2 - $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 3 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 4 displayName: cargo build igvmfilegen - bash: |- set -e @@ -3855,7 +3928,15 @@ jobs: $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 2 $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_ohcldiag_dev 0 $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 3 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::init_cross_build 1 displayName: cargo build ohcldiag-dev + - bash: |- + set -e + $(FLOWEY_BIN) e 4 flowey_lib_common::run_cargo_build 4 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::run_cargo_build 4 + $(FLOWEY_BIN) e 4 flowey_lib_hvlite::build_vmm_perf 0 + $(FLOWEY_BIN) e 4 flowey_core::pipeline::artifact::publish 4 + displayName: cargo build vmm_perf - bash: $(FLOWEY_BIN) e 4 flowey_lib_common::cache 3 displayName: 'validate cache entry: gh-release-download' - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-hypestv @@ -3870,6 +3951,9 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmgs_lib displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-vmgs_lib artifact: aarch64-windows-vmgs_lib + - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/aarch64-windows-vmm-perf-runner + displayName: πŸŒΌπŸ“¦ Publish aarch64-windows-vmm-perf-runner + artifact: aarch64-windows-vmm-perf-runner - job: job3 displayName: build artifacts (shared VMM tests) [linux] pool: @@ -4227,10 +4311,10 @@ jobs: artifact: aarch64-linux-musl-tmk_vmm path: $(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-tmk_vmm - task: DownloadPipelineArtifact@2 - displayName: πŸŒΌπŸ“¦ Download aarch64-linux-vmm-tests-archive + displayName: πŸŒΌπŸ“¦ Download aarch64-linux-musl-vmm-tests-archive inputs: - artifact: aarch64-linux-vmm-tests-archive - path: $(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-vmm-tests-archive + artifact: aarch64-linux-musl-vmm-tests-archive + path: $(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-vmm-tests-archive - task: DownloadPipelineArtifact@2 displayName: πŸŒΌπŸ“¦ Download aarch64-tmks inputs: @@ -4263,7 +4347,7 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-openvmm" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-linux-musl-openvmm' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-pipette" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-linux-musl-pipette' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-tmk_vmm" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-linux-musl-tmk_vmm' --is-raw-string update - echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-vmm-tests-archive" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-linux-vmm-tests-archive' --is-raw-string update + echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-linux-musl-vmm-tests-archive" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-linux-musl-vmm-tests-archive' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/aarch64-tmks" | $FLOWEY_BIN v 20 'artifact_use_from_aarch64-tmks' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-linux-incubator" | $FLOWEY_BIN v 20 'artifact_use_from_x64-linux-incubator' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job @@ -4271,8 +4355,6 @@ jobs: set -e $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -4293,7 +4375,7 @@ jobs: EOF $(FLOWEY_BIN) e 20 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: |- set -e @@ -4320,7 +4402,8 @@ jobs: set -e $(FLOWEY_BIN) e 20 flowey_lib_common::system_info 0 $(FLOWEY_BIN) e 20 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + $(FLOWEY_BIN) e 20 flowey_core::pipeline::artifact::resolve 6 displayName: print system info - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::download_gh_release 0 displayName: create gh-release-download cache dir @@ -4352,12 +4435,9 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 20 flowey_lib_hvlite::resolve_openvmm_qemu 0 - $(FLOWEY_BIN) e 20 flowey_core::pipeline::artifact::resolve 6 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 $(FLOWEY_BIN) e 20 flowey_core::pipeline::artifact::resolve 4 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - $FLOWEY_BIN v 20 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 + $FLOWEY_BIN v 20 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' $(Pipeline.Workspace) EOF $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 @@ -4371,6 +4451,15 @@ jobs: displayName: checking if packages need to be installed - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::install_dist_pkg 1 displayName: installing packages + - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::download_uefi_mu_msvm 0 + displayName: unpack mu_msvm package (aarch64) + - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 + displayName: unpack openvmm-test-virtio-win archive + - bash: |- + set -e + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::init_vmm_tests_content_dir 0 + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + displayName: setting up vmm_tests content dir - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::download_azcopy 0 displayName: extract azcopy from archive - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 @@ -4380,10 +4469,6 @@ jobs: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 $(FLOWEY_BIN) e 20 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 displayName: downloading VMM test disk images - - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::download_uefi_mu_msvm 0 - displayName: unpack mu_msvm package (aarch64) - - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 - displayName: unpack openvmm-test-virtio-win archive - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::init_vmm_tests_env 0 displayName: setting up vmm_tests env - bash: |- @@ -4394,18 +4479,17 @@ jobs: displayName: compute incubator target runner env - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::gen_cargo_nextest_run_cmd 0 displayName: generate nextest command - - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::install_vmm_tests_deps 0 + - bash: $(FLOWEY_BIN) e 20 flowey_lib_hvlite::install_vmm_tests_external_deps 0 displayName: install vmm tests deps (linux) - bash: |- set -e $(FLOWEY_BIN) e 20 flowey_lib_common::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 20 flowey_lib_common::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 displayName: run 'vmm_tests' nextest tests - bash: |- set -e - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 $(FLOWEY_BIN) e 20 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 20 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 20 flowey_lib_common::publish_test_results 0 @@ -4423,7 +4507,8 @@ jobs: set -e $(FLOWEY_BIN) e 20 flowey_lib_common::publish_test_results 2 $(FLOWEY_BIN) e 20 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 9 + $(FLOWEY_BIN) e 20 flowey_lib_common::publish_test_results 4 + $(FLOWEY_BIN) e 20 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 20 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' @@ -4453,7 +4538,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') @@ -4704,8 +4789,6 @@ jobs: set -e $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -4726,7 +4809,7 @@ jobs: EOF $(FLOWEY_BIN) e 19 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 19 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: |- set -e @@ -4753,18 +4836,7 @@ jobs: set -e $(FLOWEY_BIN) e 19 flowey_lib_common::system_info 0 $(FLOWEY_BIN) e 19 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 8 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 2 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 3 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 4 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 1 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 0 - $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 7 - $FLOWEY_BIN v 19 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' - $(Pipeline.Workspace) - EOF - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 displayName: print system info - bash: $(FLOWEY_BIN) e 19 flowey_lib_common::install_dist_pkg 0 displayName: checking if packages need to be installed @@ -4801,6 +4873,17 @@ jobs: set -e $(FLOWEY_BIN) e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 $(FLOWEY_BIN) e 19 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 + $FLOWEY_BIN v 19 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:2:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' + $(Pipeline.Workspace) + EOF + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 8 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 2 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 3 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 4 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 1 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 0 + $(FLOWEY_BIN) e 19 flowey_core::pipeline::artifact::resolve 7 displayName: downloading VMM test disk images - bash: $(FLOWEY_BIN) e 19 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 displayName: unpack openvmm-test-initrd archives @@ -4810,6 +4893,11 @@ jobs: displayName: unpack mu_msvm package (x64) - bash: $(FLOWEY_BIN) e 19 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 displayName: unpack openvmm-test-virtio-win archive + - bash: |- + set -e + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::init_vmm_tests_content_dir 0 + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + displayName: setting up vmm_tests content dir - bash: |- set -e $(FLOWEY_BIN) e 19 flowey_lib_hvlite::init_vmm_tests_env 0 @@ -4824,8 +4912,8 @@ jobs: displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::install_vmm_tests_deps 0 - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 displayName: install vmm tests deps (linux) - bash: $(FLOWEY_BIN) e 19 flowey_lib_hvlite::run_prep_steps 0 displayName: running vmm_test prep_steps @@ -4833,11 +4921,10 @@ jobs: set -e $(FLOWEY_BIN) e 19 flowey_lib_common::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 19 flowey_lib_common::run_cargo_nextest_run 1 - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 + $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 displayName: run 'vmm_tests' nextest tests - bash: |- set -e - $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 $(FLOWEY_BIN) e 19 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 19 flowey_lib_common::ado_task_publish_test_results 0 @@ -4856,6 +4943,7 @@ jobs: set -e $(FLOWEY_BIN) e 19 flowey_lib_common::publish_test_results 2 $(FLOWEY_BIN) e 19 flowey_lib_common::publish_test_results 3 + $(FLOWEY_BIN) e 19 flowey_lib_common::publish_test_results 4 $(FLOWEY_BIN) e 19 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 19 flowey_lib_common::cache 3 @@ -5005,12 +5093,81 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool-dev" | $FLOWEY_BIN v 18 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 18 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job + - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_gh_release 0 + displayName: create gh-release-download cache dir + - bash: |- + set -e + $(FLOWEY_BIN) e 18 flowey_lib_common::cache 4 + $FLOWEY_BIN v 18 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 + $FLOWEY_BIN v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 + displayName: Pre-processing cache vars + - task: Cache@2 + inputs: + key: $(floweyvar6) + path: $(floweyvar5) + cacheHitVar: FLOWEY_CACHE_HITVAR + displayName: 'Restore cache: gh-release-download' + - bash: |- + set -e + $FLOWEY_BIN v 18 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' + $(FLOWEY_CACHE_HITVAR) + EOF + $(FLOWEY_BIN) e 18 flowey_lib_common::cache 6 + displayName: map ADO hitvar to flowey + - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_gh_release 1 + displayName: download artifacts from github releases + - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_azcopy 0 + displayName: extract azcopy from archive + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 + displayName: calculating required VMM tests disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 + displayName: downloading VMM test disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 + $FLOWEY_BIN v 18 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' + $(Pipeline.Workspace) + EOF + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 8 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 9 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 12 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 14 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 15 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 13 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 3 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 11 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 4 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 5 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 6 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 1 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 2 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 0 + $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 7 + displayName: remove leftover Hyper-V VMs + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 + displayName: unpack openvmm-test-initrd archives + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 + displayName: unpack openvmm-test-linux archives + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_uefi_mu_msvm 0 + displayName: unpack mu_msvm package (x64) + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 + displayName: unpack openvmm-test-virtio-win archive + - bash: |- + set -e + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::init_vmm_tests_content_dir 0 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + displayName: setting up vmm_tests content dir + - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::init_vmm_tests_env 0 + displayName: setting up vmm_tests env - bash: |- set -e $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -5031,7 +5188,7 @@ jobs: EOF $(FLOWEY_BIN) e 18 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: |- set -e @@ -5058,74 +5215,11 @@ jobs: set -e $(FLOWEY_BIN) e 18 flowey_lib_common::system_info 0 $(FLOWEY_BIN) e 18 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 8 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 9 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 12 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 14 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 15 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 13 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 3 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 11 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 4 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 5 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 6 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 1 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 2 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 0 - $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 7 - $FLOWEY_BIN v 18 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' - $(Pipeline.Workspace) - EOF - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - displayName: print system info - - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_gh_release 0 - displayName: create gh-release-download cache dir - - bash: |- - set -e - $(FLOWEY_BIN) e 18 flowey_lib_common::cache 4 - $FLOWEY_BIN v 18 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 - $FLOWEY_BIN v 18 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 - displayName: Pre-processing cache vars - - task: Cache@2 - inputs: - key: $(floweyvar6) - path: $(floweyvar5) - cacheHitVar: FLOWEY_CACHE_HITVAR - displayName: 'Restore cache: gh-release-download' - - bash: |- - set -e - $FLOWEY_BIN v 18 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' - $(FLOWEY_CACHE_HITVAR) - EOF - $(FLOWEY_BIN) e 18 flowey_lib_common::cache 6 - displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_gh_release 1 - displayName: download artifacts from github releases - - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::download_azcopy 0 - displayName: extract azcopy from archive - - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 - displayName: calculating required VMM tests disk images - - bash: |- - set -e - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 - displayName: downloading VMM test disk images - - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - displayName: unpack openvmm-test-initrd archives - - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 - displayName: unpack openvmm-test-linux archives - - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::download_uefi_mu_msvm 0 - displayName: unpack mu_msvm package (x64) - - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 - displayName: unpack openvmm-test-virtio-win archive - - bash: |- - set -e - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::init_vmm_tests_env 0 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 $(FLOWEY_BIN) e 18 flowey_lib_hvlite::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 18 flowey_core::pipeline::artifact::resolve 16 $(FLOWEY_BIN) e 18 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 - displayName: setting up vmm_tests env + displayName: print system info - bash: |- set -e $(FLOWEY_BIN) e 18 flowey_lib_common::gen_cargo_nextest_run_cmd 0 @@ -5133,8 +5227,8 @@ jobs: displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::install_vmm_tests_deps 0 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 displayName: install vmm tests deps (windows) - bash: $(FLOWEY_BIN) e 18 flowey_lib_hvlite::run_prep_steps 0 displayName: running vmm_test prep_steps @@ -5148,12 +5242,11 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 18 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 displayName: stopping test_igvm_agent_rpc_server - bash: |- set -e - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 $(FLOWEY_BIN) e 18 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 18 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 18 flowey_lib_common::publish_test_results 0 @@ -5171,7 +5264,8 @@ jobs: set -e $(FLOWEY_BIN) e 18 flowey_lib_common::publish_test_results 2 $(FLOWEY_BIN) e 18 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 + $(FLOWEY_BIN) e 18 flowey_lib_common::publish_test_results 4 + $(FLOWEY_BIN) e 18 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 18 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' @@ -5320,12 +5414,81 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool-dev" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 17 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job + - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 0 + displayName: create gh-release-download cache dir + - bash: |- + set -e + $(FLOWEY_BIN) e 17 flowey_lib_common::cache 4 + $FLOWEY_BIN v 17 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 + $FLOWEY_BIN v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 + displayName: Pre-processing cache vars + - task: Cache@2 + inputs: + key: $(floweyvar6) + path: $(floweyvar5) + cacheHitVar: FLOWEY_CACHE_HITVAR + displayName: 'Restore cache: gh-release-download' + - bash: |- + set -e + $FLOWEY_BIN v 17 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' + $(FLOWEY_CACHE_HITVAR) + EOF + $(FLOWEY_BIN) e 17 flowey_lib_common::cache 6 + displayName: map ADO hitvar to flowey + - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 1 + displayName: download artifacts from github releases + - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_azcopy 0 + displayName: extract azcopy from archive + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 + displayName: calculating required VMM tests disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 + displayName: downloading VMM test disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 + $FLOWEY_BIN v 17 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' + $(Pipeline.Workspace) + EOF + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 9 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 12 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 14 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 15 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 13 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 3 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 11 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 4 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 5 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 6 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 1 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 2 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 0 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 7 + $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 8 + displayName: remove leftover Hyper-V VMs + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 + displayName: unpack openvmm-test-initrd archives + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 + displayName: unpack openvmm-test-linux archives + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_uefi_mu_msvm 0 + displayName: unpack mu_msvm package (x64) + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 + displayName: unpack openvmm-test-virtio-win archive + - bash: |- + set -e + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::init_vmm_tests_content_dir 0 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + displayName: setting up vmm_tests content dir + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::init_vmm_tests_env 0 + displayName: setting up vmm_tests env - bash: |- set -e $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -5346,7 +5509,7 @@ jobs: EOF $(FLOWEY_BIN) e 17 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: |- set -e @@ -5373,79 +5536,16 @@ jobs: set -e $(FLOWEY_BIN) e 17 flowey_lib_common::system_info 0 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 11 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 4 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 5 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 6 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 1 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 2 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 0 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 7 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 8 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 9 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 12 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 14 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 15 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 13 - $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 3 - $FLOWEY_BIN v 17 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' - $(Pipeline.Workspace) - EOF - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - displayName: print system info - - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 0 - displayName: create gh-release-download cache dir - - bash: |- - set -e - $(FLOWEY_BIN) e 17 flowey_lib_common::cache 4 - $FLOWEY_BIN v 17 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 - $FLOWEY_BIN v 17 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 - displayName: Pre-processing cache vars - - task: Cache@2 - inputs: - key: $(floweyvar6) - path: $(floweyvar5) - cacheHitVar: FLOWEY_CACHE_HITVAR - displayName: 'Restore cache: gh-release-download' - - bash: |- - set -e - $FLOWEY_BIN v 17 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' - $(FLOWEY_CACHE_HITVAR) - EOF - $(FLOWEY_BIN) e 17 flowey_lib_common::cache 6 - displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_gh_release 1 - displayName: download artifacts from github releases - - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::download_azcopy 0 - displayName: extract azcopy from archive - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 - displayName: calculating required VMM tests disk images - - bash: |- - set -e - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 - displayName: downloading VMM test disk images - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - displayName: unpack openvmm-test-initrd archives - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 - displayName: unpack openvmm-test-linux archives - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::download_uefi_mu_msvm 0 - displayName: unpack mu_msvm package (x64) - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 - displayName: unpack openvmm-test-virtio-win archive - - bash: |- - set -e - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::init_vmm_tests_env 0 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 17 flowey_core::pipeline::artifact::resolve 16 $(FLOWEY_BIN) e 17 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 - displayName: setting up vmm_tests env + displayName: print system info - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::gen_cargo_nextest_run_cmd 0 displayName: generate nextest command - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::run_test_igvm_agent_rpc_server 0 displayName: starting test_igvm_agent_rpc_server - - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::install_vmm_tests_deps 0 + - bash: $(FLOWEY_BIN) e 17 flowey_lib_hvlite::install_vmm_tests_external_deps 0 displayName: install vmm tests deps (windows) - bash: |- set -e @@ -5455,12 +5555,11 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 17 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 displayName: stopping test_igvm_agent_rpc_server - bash: |- set -e - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 17 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 0 @@ -5478,7 +5577,8 @@ jobs: set -e $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 2 $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 + $(FLOWEY_BIN) e 17 flowey_lib_common::publish_test_results 4 + $(FLOWEY_BIN) e 17 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 17 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' @@ -5627,12 +5727,81 @@ jobs: echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmgstool-dev" | $FLOWEY_BIN v 16 'artifact_use_from_x64-windows-vmgstool-dev' --is-raw-string update echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-windows-vmm-tests-archive" | $FLOWEY_BIN v 16 'artifact_use_from_x64-windows-vmm-tests-archive' --is-raw-string update displayName: πŸŒΌπŸ›« Initialize job + - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 0 + displayName: create gh-release-download cache dir + - bash: |- + set -e + $(FLOWEY_BIN) e 16 flowey_lib_common::cache 4 + $FLOWEY_BIN v 16 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 + $FLOWEY_BIN v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 + displayName: Pre-processing cache vars + - task: Cache@2 + inputs: + key: $(floweyvar6) + path: $(floweyvar5) + cacheHitVar: FLOWEY_CACHE_HITVAR + displayName: 'Restore cache: gh-release-download' + - bash: |- + set -e + $FLOWEY_BIN v 16 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' + $(FLOWEY_CACHE_HITVAR) + EOF + $(FLOWEY_BIN) e 16 flowey_lib_common::cache 6 + displayName: map ADO hitvar to flowey + - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 1 + displayName: download artifacts from github releases + - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_azcopy 0 + displayName: extract azcopy from archive + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 + displayName: calculating required VMM tests disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 + displayName: downloading VMM test disk images + - bash: |- + set -e + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::cleanup_leftover_hyperv_vms 0 + $FLOWEY_BIN v 16 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:3:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' + $(Pipeline.Workspace) + EOF + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 8 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 9 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 12 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 14 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 15 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 13 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 3 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 11 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 4 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 5 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 6 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 1 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 2 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 0 + $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 7 + displayName: remove leftover Hyper-V VMs + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 + displayName: unpack openvmm-test-initrd archives + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 + displayName: unpack openvmm-test-linux archives + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0 + displayName: unpack mu_msvm package (x64) + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 + displayName: unpack openvmm-test-virtio-win archive + - bash: |- + set -e + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_vmm_tests_content_dir 0 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + displayName: setting up vmm_tests content dir + - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_vmm_tests_env 0 + displayName: setting up vmm_tests env - bash: |- set -e $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 0 $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 1 - $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 2 - $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 3 displayName: create cargo-nextest cache dir - bash: |- set -e @@ -5653,7 +5822,7 @@ jobs: EOF $(FLOWEY_BIN) e 16 flowey_lib_common::cache 2 displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 4 + - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_cargo_nextest 2 displayName: downloading cargo-nextest - bash: |- set -e @@ -5680,74 +5849,11 @@ jobs: set -e $(FLOWEY_BIN) e 16 flowey_lib_common::system_info 0 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 2 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 8 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 9 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 12 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 14 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 15 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 13 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 3 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 11 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 4 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 5 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 6 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 1 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 2 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 0 - $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 7 - $FLOWEY_BIN v 16 'flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive:0:flowey_lib_hvlite/src/_jobs/consume_and_test_nextest_vmm_tests_archive.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' - $(Pipeline.Workspace) - EOF - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 1 - displayName: print system info - - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 0 - displayName: create gh-release-download cache dir - - bash: |- - set -e - $(FLOWEY_BIN) e 16 flowey_lib_common::cache 4 - $FLOWEY_BIN v 16 'flowey_lib_common::cache:8:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar5 - $FLOWEY_BIN v 16 'flowey_lib_common::cache:9:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar6 - displayName: Pre-processing cache vars - - task: Cache@2 - inputs: - key: $(floweyvar6) - path: $(floweyvar5) - cacheHitVar: FLOWEY_CACHE_HITVAR - displayName: 'Restore cache: gh-release-download' - - bash: |- - set -e - $FLOWEY_BIN v 16 'flowey_lib_common::cache:11:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' - $(FLOWEY_CACHE_HITVAR) - EOF - $(FLOWEY_BIN) e 16 flowey_lib_common::cache 6 - displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_gh_release 1 - displayName: download artifacts from github releases - - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::download_azcopy 0 - displayName: extract azcopy from archive - - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 0 - displayName: calculating required VMM tests disk images - - bash: |- - set -e - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 1 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_openvmm_vmm_tests_artifacts 2 - displayName: downloading VMM test disk images - - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - displayName: unpack openvmm-test-initrd archives - - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 - displayName: unpack openvmm-test-linux archives - - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::download_uefi_mu_msvm 0 - displayName: unpack mu_msvm package (x64) - - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::resolve_openvmm_test_virtio_win 0 - displayName: unpack openvmm-test-virtio-win archive - - bash: |- - set -e - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::init_vmm_tests_env 0 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_cargo_nextest_run 0 $(FLOWEY_BIN) e 16 flowey_core::pipeline::artifact::resolve 16 $(FLOWEY_BIN) e 16 flowey_lib_hvlite::test_nextest_vmm_tests_archive 0 - displayName: setting up vmm_tests env + displayName: print system info - bash: |- set -e $(FLOWEY_BIN) e 16 flowey_lib_common::gen_cargo_nextest_run_cmd 0 @@ -5755,8 +5861,8 @@ jobs: displayName: generate nextest command - bash: |- set -e - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::install_vmm_tests_deps 0 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 3 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::install_vmm_tests_external_deps 0 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 displayName: install vmm tests deps (windows) - bash: $(FLOWEY_BIN) e 16 flowey_lib_hvlite::run_prep_steps 0 displayName: running vmm_test prep_steps @@ -5770,12 +5876,11 @@ jobs: - bash: |- set -e $(FLOWEY_BIN) e 16 flowey_lib_hvlite::stop_test_igvm_agent_rpc_server 0 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 4 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 displayName: stopping test_igvm_agent_rpc_server - bash: |- set -e - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 5 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 6 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 $(FLOWEY_BIN) e 16 flowey_lib_common::publish_test_results 1 $(FLOWEY_BIN) e 16 flowey_lib_common::ado_task_publish_test_results 0 $(FLOWEY_BIN) e 16 flowey_lib_common::publish_test_results 0 @@ -5793,7 +5898,8 @@ jobs: set -e $(FLOWEY_BIN) e 16 flowey_lib_common::publish_test_results 2 $(FLOWEY_BIN) e 16 flowey_lib_common::publish_test_results 3 - $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 7 + $(FLOWEY_BIN) e 16 flowey_lib_common::publish_test_results 4 + $(FLOWEY_BIN) e 16 flowey_lib_hvlite::_jobs::consume_and_test_nextest_vmm_tests_archive 8 displayName: report test results to overall pipeline status - bash: $(FLOWEY_BIN) e 16 flowey_lib_common::cache 3 displayName: 'validate cache entry: cargo-nextest' @@ -5823,7 +5929,7 @@ jobs: displayName: rustup (Linux) - bash: | set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 --output rustup-init + curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 ./rustup-init.exe -y --default-toolchain=1.95.0 echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' condition: eq(variables['Agent.OS'], 'Windows_NT') diff --git a/flowey/flowey_hvlite/Cargo.toml b/flowey/flowey_hvlite/Cargo.toml index 314058d0a53..4b8c7c8a49f 100644 --- a/flowey/flowey_hvlite/Cargo.toml +++ b/flowey/flowey_hvlite/Cargo.toml @@ -25,6 +25,9 @@ serde = { workspace = true, features = ["std"] } serde_json.workspace = true target-lexicon = { workspace = true, features = ["serde_support"] } +[dev-dependencies] +test_with_tracing.workspace = true + [lints] workspace = true diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 97270327acb..613dde2b4de 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -195,7 +195,6 @@ impl IntoPipeline for CheckinGatesCli { let (pub_vmfirmwareigvm_cvm_x64, use_vmfirmwareigvm_cvm_x64) = pipeline.new_typed_artifact("x64-vmfirmwareigvm-cvm"); - let mut pub_vmfirmwareigvm_cvm_x64 = Some(pub_vmfirmwareigvm_cvm_x64); // initialize the various "VmmTestsArtifactsBuilder" containers, which // are used to "skim off" various artifacts that the VMM test jobs @@ -1415,7 +1414,7 @@ impl IntoPipeline for CheckinGatesCli { .map_err(|missing| { anyhow::anyhow!("missing required windows-amd vmm_tests artifact: {missing}") })?; - let vmm_tests_artifacts_windows_amd_snp_x86: ResolveVmmTestsDepArtifacts = { + let vmm_tests_artifacts_windows_amd_snp_x86: ResolveVmmTestsBuiltArtifacts = { let resolve = vmm_tests_artifacts_windows_x86 .clone() .finish() @@ -1424,7 +1423,6 @@ impl IntoPipeline for CheckinGatesCli { "missing required windows-amd-snp vmm_tests artifact: {missing}" ) })?; - let use_vmfirmwareigvm_cvm_x64 = use_vmfirmwareigvm_cvm_x64.clone(); Box::new(move |ctx| { let mut artifacts = resolve(ctx); artifacts.vmfirmwareigvm_cvm_x64 = @@ -1941,7 +1939,6 @@ impl IntoPipeline for CheckinGatesCli { { let use_openhcl_cvm = use_openhcl_cvm_for_vmfirmwareigvm_dll.unwrap(); - let pub_vmfirmwareigvm_cvm_x64 = pub_vmfirmwareigvm_cvm_x64.take().unwrap(); let job = pipeline .new_job( FlowPlatform::Windows, @@ -1956,7 +1953,7 @@ impl IntoPipeline for CheckinGatesCli { igvm_bin: flowey_lib_hvlite::build_vmfirmwareigvm_dll::IgvmInput::Openhcl( ctx.use_typed_artifact(&use_openhcl_cvm), ), - resource_id: 13515, + resource_id: flowey_lib_hvlite::build_vmfirmwareigvm_dll::SNP_RESOURCE_ID, dll_version: ReadVar::from_static( flowey_lib_hvlite::build_vmfirmwareigvm_dll::UNUSED_DLL_VERSION, ), diff --git a/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs b/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs index 8e513838f34..d8c1101d733 100644 --- a/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs +++ b/flowey/flowey_hvlite/src/pipelines/vmm_tests_run.rs @@ -983,3 +983,44 @@ pub(crate) fn resolve_incubator( ), }) } + +#[cfg(test)] +mod tests { + use super::*; + use petri_artifacts_vmm_test::artifacts::openhcl_igvm; + use petri_artifacts_vmm_test::artifacts::vmfw_dll; + use test_with_tracing::test; + + #[test] + fn cvm_dll_selects_cvm_igvm_and_dll() { + let mut selections = ResolvedArtifactSelections::default(); + selections + .resolve_artifact(vmfw_dll::LATEST_CVM_X64::GLOBAL_UNIQUE_ID) + .unwrap(); + + assert_eq!( + selections.build, + BuildSelections { + openhcl_cvm: true, + vmfirmwareigvm_cvm: true, + ..Default::default() + } + ); + } + + #[test] + fn cvm_igvm_does_not_select_dll() { + let mut selections = ResolvedArtifactSelections::default(); + selections + .resolve_artifact(openhcl_igvm::LATEST_CVM_X64::GLOBAL_UNIQUE_ID) + .unwrap(); + + assert_eq!( + selections.build, + BuildSelections { + openhcl_cvm: true, + ..Default::default() + } + ); + } +} diff --git a/flowey/flowey_lib_hvlite/src/_jobs/download_and_run_nextest_vmm_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/download_and_run_nextest_vmm_tests.rs index 6098f356e8b..c1eb5330885 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/download_and_run_nextest_vmm_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/download_and_run_nextest_vmm_tests.rs @@ -40,8 +40,11 @@ impl VmmTestsProfile { fn parameters(&self, ctx: &mut NodeCtx<'_>) -> VmmTestsParameters { match self { VmmTestsProfile::X64WindowsAll => { - let (built_artifacts, built_artifacts_write) = + let (mut built_artifacts, mut built_artifacts_write) = VmmTestsArtifactsBuilderWindowsX86::pair(ctx); + let (vmfirmwareigvm_cvm_x64, vmfirmwareigvm_cvm_x64_write) = ctx.new_var(); + built_artifacts.vmfirmwareigvm_cvm_x64 = Some(vmfirmwareigvm_cvm_x64); + built_artifacts_write.vmfirmwareigvm_cvm_x64 = Some(vmfirmwareigvm_cvm_x64_write); let mut nextest_filter_expr = "all()".to_string(); // self-hosted runners don't have HvlDeviceHost installed // TODO: configure runners and remove this exclusion diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs index ac4a272ff62..4f839a332a1 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs @@ -57,6 +57,7 @@ pub struct BuildSelections { pub tmk_vmm_linux: bool, pub vmgstool: bool, pub vmgstool_dev: bool, + pub vmfirmwareigvm_cvm: bool, pub tpm_guest_tests_windows: bool, pub tpm_guest_tests_linux: bool, pub test_igvm_agent_rpc_server: bool, @@ -130,6 +131,7 @@ impl SimpleFlowNode for Node { ctx.import::(); ctx.import::(); ctx.import::(); + ctx.import::(); ctx.import::(); ctx.import::(); ctx.import::(); @@ -277,6 +279,25 @@ impl SimpleFlowNode for Node { }) }); + let register_vmfirmwareigvm_cvm_x64 = if build.vmfirmwareigvm_cvm { + let openhcl_cvm = register_openhcl_cvm + .clone() + .context("the CVM firmware DLL requires an x64 CVM IGVM")?; + Some(ctx.reqv(|v| crate::build_vmfirmwareigvm_dll::Request { + arch: CommonArch::X86_64, + igvm_bin: crate::build_vmfirmwareigvm_dll::IgvmInput::Openhcl(openhcl_cvm), + resource_id: crate::build_vmfirmwareigvm_dll::SNP_RESOURCE_ID, + dll_version: ReadVar::from_static( + crate::build_vmfirmwareigvm_dll::UNUSED_DLL_VERSION, + ), + internal_dll_name: + petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64_FILE_NAME.into(), + vmfirmwareigvm_dll: v, + })) + } else { + None + }; + let register_openvmm = build.openvmm.then(|| { let output = ctx.reqv(|v| crate::build_openvmm::Request { params: crate::build_openvmm::OpenvmmBuildParams { @@ -653,6 +674,7 @@ impl SimpleFlowNode for Node { openhcl_standard: register_openhcl_standard, openhcl_standard_dev: register_openhcl_standard_dev, openhcl_cvm: register_openhcl_cvm, + vmfirmwareigvm_cvm_x64: register_vmfirmwareigvm_cvm_x64, openhcl_linux_direct: register_openhcl_linux_direct, tmks: register_tmks, tmk_vmm: register_tmk_vmm, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs index b70056ee540..d5d83648cb3 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_custom_vmfirmwareigvm_dll.rs @@ -37,7 +37,6 @@ impl SimpleFlowNode for Node { igvm_bin: crate::build_vmfirmwareigvm_dll::IgvmInput::File(ReadVar::from_static( igvm_payload, )), - // custom-vmfirmwareigvm-dll pipeline uses resource ID 1. resource_id: 1, // fixed version to signal that this is a custom dll dll_version: ReadVar::from_static((1, 0, 1337, 0)), diff --git a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs index d8bdd824169..1aa8be35468 100644 --- a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs @@ -10,7 +10,9 @@ use flowey::node::prelude::*; use std::collections::BTreeMap; pub const UNUSED_DLL_VERSION: (u16, u16, u16, u16) = (0, 0, 0, 0); +pub const SNP_RESOURCE_ID: u32 = 13515; +#[expect(clippy::large_enum_variant)] #[derive(Serialize, Deserialize)] pub enum IgvmInput { File(ReadVar), diff --git a/flowey/flowey_lib_hvlite/src/download_vmm_tests_built_artifacts.rs b/flowey/flowey_lib_hvlite/src/download_vmm_tests_built_artifacts.rs index e4a28c79ce6..a1d98b5fbce 100644 --- a/flowey/flowey_lib_hvlite/src/download_vmm_tests_built_artifacts.rs +++ b/flowey/flowey_lib_hvlite/src/download_vmm_tests_built_artifacts.rs @@ -42,6 +42,7 @@ impl SimpleFlowNode for Node { openhcl_standard, openhcl_standard_dev, openhcl_cvm, + vmfirmwareigvm_cvm_x64, openhcl_linux_direct, tmks, tmk_vmm, @@ -192,6 +193,15 @@ impl SimpleFlowNode for Node { ); } + if let Some(vmfirmwareigvm_cvm_x64) = vmfirmwareigvm_cvm_x64 { + download_artifact( + ctx, + "x64-vmfirmwareigvm-cvm".into(), + run_id.clone(), + vmfirmwareigvm_cvm_x64, + ); + } + if let Some(openhcl_linux_direct) = openhcl_linux_direct { download_artifact( ctx, diff --git a/flowey/flowey_lib_hvlite/src/init_vmm_tests_content_dir.rs b/flowey/flowey_lib_hvlite/src/init_vmm_tests_content_dir.rs index 3ba036d7bee..62b39ad8bf5 100644 --- a/flowey/flowey_lib_hvlite/src/init_vmm_tests_content_dir.rs +++ b/flowey/flowey_lib_hvlite/src/init_vmm_tests_content_dir.rs @@ -17,6 +17,7 @@ use crate::build_test_igvm_agent_rpc_server::TestIgvmAgentRpcServerOutput; use crate::build_tmk_vmm::TmkVmmOutput; use crate::build_tmks::TmksOutput; use crate::build_tpm_guest_tests::TpmGuestTestsOutput; +use crate::build_vmfirmwareigvm_dll::VmfirmwareigvmDllOutput; use crate::build_vmgstool::VmgstoolOutput; use crate::common::CommonArch; use crate::download_release_igvm_files_from_gh::OpenhclReleaseVersion; @@ -57,6 +58,7 @@ define_vmm_tests_built_artifacts!( openhcl_standard => OpenhclIgvmOutput, openhcl_standard_dev => OpenhclIgvmOutput, openhcl_cvm => OpenhclIgvmOutput, + vmfirmwareigvm_cvm_x64 => VmfirmwareigvmDllOutput, openhcl_linux_direct => OpenhclIgvmOutput, tmks => TmksOutput, tmk_vmm => TmkVmmOutput, @@ -232,6 +234,7 @@ impl SimpleFlowNode for Node { openhcl_standard, openhcl_standard_dev, openhcl_cvm, + vmfirmwareigvm_cvm_x64, openhcl_linux_direct, tmks, tmk_vmm, @@ -271,6 +274,7 @@ impl SimpleFlowNode for Node { pipette_linux_musl, guest_test_uefi, openhcl_igvm_files, + vmfirmwareigvm_cvm_x64, tmks, tmk_vmm, tmk_vmm_linux_musl, @@ -454,6 +458,15 @@ impl SimpleFlowNode for Node { fs_err::copy(bin, test_content_dir.join("tmk_vmm"))?; } + if let Some(vmfirmwareigvm_cvm_x64) = vmfirmwareigvm_cvm_x64 { + fs_err::copy( + rt.read(vmfirmwareigvm_cvm_x64).dll, + test_content_dir.join( + petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64_FILE_NAME, + ), + )?; + } + if let Some(vmgstool) = vmgstool { match rt.read(vmgstool) { VmgstoolOutput::WindowsBin { exe, .. } => { diff --git a/openhcl/vmfirmwareigvm_dll/build.rs b/openhcl/vmfirmwareigvm_dll/build.rs index ddfc6c2c034..34c6ff1ee57 100644 --- a/openhcl/vmfirmwareigvm_dll/build.rs +++ b/openhcl/vmfirmwareigvm_dll/build.rs @@ -75,7 +75,7 @@ fn main() { // (path) absolute path to an IGVM file to package up let uh_igvm_path = std::env::var("UH_IGVM_PATH").expect("must set UH_IGVM_PATH"); - // (u32) Defaults to 1, the resource ID used before UH_RESOURCE_ID was configurable. + // (u32) VMFW resource ID (defaults to 1). let uh_resource_id = std::env::var("UH_RESOURCE_ID") .map(|id| id.parse::().expect("UH_RESOURCE_ID must be a u32")) .unwrap_or(1); diff --git a/petri/src/vm/hyperv/mod.rs b/petri/src/vm/hyperv/mod.rs index f4d6923f86b..18d38eccac3 100644 --- a/petri/src/vm/hyperv/mod.rs +++ b/petri/src/vm/hyperv/mod.rs @@ -440,7 +440,7 @@ impl PetriVmmBackend for HyperVPetriBackend { if properties.is_openhcl { if let Some(local_path) = &igvm_file { - // Copy the IGVM file locally, since it is not accessible from a WSL filesystem + // Hyper-V cannot access IGVM files in a WSL filesystem. let Some(IgvmFirmwareSource::File(igvm_path)) = config.firmware.openhcl_firmware() else { unreachable!(); diff --git a/petri/src/vm/mod.rs b/petri/src/vm/mod.rs index f618fabf1c2..a5fa6acbbd1 100644 --- a/petri/src/vm/mod.rs +++ b/petri/src/vm/mod.rs @@ -1399,7 +1399,7 @@ impl PetriVmBuilder { self } - /// Boot the paravisor from VMGS + /// Load OpenHCL from VMGS, falling back to in-box firmware (Hyper-V only). pub fn with_openhcl_from_vmgs(mut self) -> Self { match &mut self.config.firmware { Firmware::OpenhclLinuxDirect { igvm_firmware, .. } @@ -3110,7 +3110,6 @@ impl Firmware { } } - #[cfg_attr(not(windows), expect(dead_code))] fn openhcl_firmware(&self) -> Option<&IgvmFirmwareSource> { match self { Firmware::OpenhclLinuxDirect { igvm_firmware, .. } From db173455c1b6823fa92d76a45c0a7c82f79774dd Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Tue, 22 Sep 2026 11:46:33 +0200 Subject: [PATCH 6/7] verify VMGS firmware and fix artifact pipelines --- .github/workflows/openvmm-ci.yaml | 25 +-- .github/workflows/openvmm-pr-release.yaml | 25 +-- .github/workflows/openvmm-pr.yaml | 25 +-- Cargo.lock | 1 + ci-flowey/openvmm-pr.yaml | 187 +----------------- .../src/pipelines/build_reproducible.rs | 1 + .../src/pipelines/checkin_gates.rs | 25 ++- flowey/flowey_lib_hvlite/Cargo.toml | 1 + ...ld_and_publish_openhcl_igvm_from_recipe.rs | 4 + .../local_build_and_run_nextest_vmm_tests.rs | 9 +- .../src/_jobs/local_build_igvm.rs | 1 + .../src/build_openhcl_igvm_from_recipe.rs | 124 ++++++++++++ .../src/build_vmfirmwareigvm_dll.rs | 3 +- openhcl/vmfirmwareigvm_dll/build.rs | 1 + vmm_tests/petri_artifacts_vmm_test/src/lib.rs | 3 + .../vmm_tests/tests/tests/multiarch/vmgs.rs | 17 +- 16 files changed, 222 insertions(+), 230 deletions(-) diff --git a/.github/workflows/openvmm-ci.yaml b/.github/workflows/openvmm-ci.yaml index c46ea16d36c..519c2b3651e 100644 --- a/.github/workflows/openvmm-ci.yaml +++ b/.github/workflows/openvmm-ci.yaml @@ -899,8 +899,6 @@ jobs: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey e 11 flowey_core::pipeline::artifact::publish 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 shell: bash - name: unpack openvmm-test-linux archives run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 @@ -908,30 +906,32 @@ jobs: - name: unpack openvmm-test-initrd archives run: |- flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 shell: bash - name: split debug symbols run: |- flowey e 11 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 shell: bash - name: building openhcl initrd run: |- flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 shell: bash - name: building igvm file run: |- flowey e 11 flowey_lib_hvlite::run_igvmfilegen 0 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38 flowey e 11 flowey_core::pipeline::artifact::publish 3 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 flowey e 11 flowey_core::pipeline::artifact::publish 4 shell: bash - name: extract and resolve kernel package @@ -955,13 +955,16 @@ jobs: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 shell: bash + - name: extend measured OpenHCL command line + run: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 + shell: bash - name: building igvm file run: |- flowey e 11 flowey_lib_hvlite::run_igvmfilegen 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 flowey e 11 flowey_core::pipeline::artifact::publish 5 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 flowey e 11 flowey_core::pipeline::artifact::publish 6 shell: bash - name: 'validate cache entry: gh-release-download' diff --git a/.github/workflows/openvmm-pr-release.yaml b/.github/workflows/openvmm-pr-release.yaml index d5255ba3ca1..8bf2bfc1049 100644 --- a/.github/workflows/openvmm-pr-release.yaml +++ b/.github/workflows/openvmm-pr-release.yaml @@ -824,8 +824,6 @@ jobs: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey e 11 flowey_core::pipeline::artifact::publish 1 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 shell: bash - name: unpack openvmm-test-linux archives run: flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 @@ -833,30 +831,32 @@ jobs: - name: unpack openvmm-test-initrd archives run: |- flowey e 11 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 shell: bash - name: split debug symbols run: |- flowey e 11 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 shell: bash - name: building openhcl initrd run: |- flowey e 11 flowey_lib_hvlite::build_openhcl_initrd 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 shell: bash - name: building igvm file run: |- flowey e 11 flowey_lib_hvlite::run_igvmfilegen 0 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38 flowey e 11 flowey_core::pipeline::artifact::publish 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 flowey e 11 flowey_core::pipeline::artifact::publish 3 shell: bash - name: extract and resolve kernel package @@ -880,13 +880,16 @@ jobs: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 shell: bash + - name: extend measured OpenHCL command line + run: flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 + shell: bash - name: building igvm file run: |- flowey e 11 flowey_lib_hvlite::run_igvmfilegen 2 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 flowey e 11 flowey_core::pipeline::artifact::publish 4 - flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 + flowey e 11 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 flowey e 11 flowey_core::pipeline::artifact::publish 5 shell: bash - name: 'validate cache entry: gh-release-download' diff --git a/.github/workflows/openvmm-pr.yaml b/.github/workflows/openvmm-pr.yaml index bdad65a5272..b07d6e2a48b 100644 --- a/.github/workflows/openvmm-pr.yaml +++ b/.github/workflows/openvmm-pr.yaml @@ -1030,8 +1030,6 @@ jobs: flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 10 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 11 flowey e 12 flowey_core::pipeline::artifact::publish 1 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 shell: bash - name: unpack openvmm-test-linux archives run: flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_linux_kernel 0 @@ -1039,30 +1037,32 @@ jobs: - name: unpack openvmm-test-initrd archives run: |- flowey e 12 flowey_lib_hvlite::resolve_openvmm_test_initrd 0 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 shell: bash - name: split debug symbols run: |- flowey e 12 flowey_lib_hvlite::run_split_debug_info 2 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 26 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 27 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 29 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 28 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 shell: bash - name: building openhcl initrd run: |- flowey e 12 flowey_lib_hvlite::build_openhcl_initrd 2 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 30 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 31 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 32 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 33 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 34 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 shell: bash - name: building igvm file run: |- flowey e 12 flowey_lib_hvlite::run_igvmfilegen 0 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 38 flowey e 12 flowey_core::pipeline::artifact::publish 2 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 35 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 36 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 37 flowey e 12 flowey_core::pipeline::artifact::publish 3 shell: bash - name: extract and resolve kernel package @@ -1086,13 +1086,16 @@ jobs: flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 20 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 21 shell: bash + - name: extend measured OpenHCL command line + run: flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 + shell: bash - name: building igvm file run: |- flowey e 12 flowey_lib_hvlite::run_igvmfilegen 2 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 25 flowey e 12 flowey_core::pipeline::artifact::publish 4 - flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 22 flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 23 + flowey e 12 flowey_lib_hvlite::build_openhcl_igvm_from_recipe 24 flowey e 12 flowey_core::pipeline::artifact::publish 5 shell: bash - name: 'validate cache entry: gh-release-download' diff --git a/Cargo.lock b/Cargo.lock index bde4d0ed22d..d8c9434f374 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2386,6 +2386,7 @@ dependencies = [ "sha2", "target-lexicon", "tempfile", + "test_with_tracing", "toml_edit", "vmm_test_images", "which 8.0.0", diff --git a/ci-flowey/openvmm-pr.yaml b/ci-flowey/openvmm-pr.yaml index 67492b3875b..35f258a87af 100644 --- a/ci-flowey/openvmm-pr.yaml +++ b/ci-flowey/openvmm-pr.yaml @@ -1783,185 +1783,6 @@ jobs: - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-openhcl-igvm-test-linux-direct-extras displayName: πŸŒΌπŸ“¦ Publish x64-openhcl-igvm-test-linux-direct-extras artifact: x64-openhcl-igvm-test-linux-direct-extras -- job: job22 - displayName: build vmfirmwareigvm cvm [x64-windows] - pool: - demands: - - ImageOverride -equals win-amd64-v2 - name: openvmm-ado-amd-westus2-v6 - dependsOn: - - job0 - - job11 - condition: and(succeeded(), not(canceled())) - variables: - - name: FLOWEY_TEMP_DIR - value: $(Build.StagingDirectory)/.flowey-internal - steps: - - bash: | - set -x - i=0; while [ $i -lt 5 ] && ! sudo apt-get update; do let "i=i+1"; sleep 1; done; - sudo apt-get -o DPkg::Lock::Timeout=60 install gcc -y - curl --fail --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=1.95.0 -y - . "$HOME/.cargo/env" - echo '##vso[task.prependpath]$(HOME)/.cargo/bin' - condition: eq(variables['Agent.OS'], 'Linux') - displayName: rustup (Linux) - - bash: | - set -x - curl --fail -sSfLo rustup-init.exe https://win.rustup.rs/x86_64 - ./rustup-init.exe -y --default-toolchain=1.95.0 - echo '##vso[task.prependpath]$(USERPROFILE)\\.cargo\\bin' - condition: eq(variables['Agent.OS'], 'Windows_NT') - displayName: rustup (Windows X64) - - bash: | - set -x - rustup show - displayName: Verify rustup installation - - checkout: self - fetchTags: false - fetchDepth: 1 - path: flowey_bootstrap - - bash: CARGO_INCREMENTAL=0 cargo build -p flowey_hvlite --target x86_64-pc-windows-msvc --profile flowey-ci - workingDirectory: ../flowey_bootstrap - displayName: Build flowey - - bash: | - mkdir ./flowey_bootstrap_temp - mv ./ci-flowey/openvmm-pr.yaml ./flowey_bootstrap_temp/pipeline.yaml - mv ./ci-flowey/openvmm-pr.json ./flowey_bootstrap_temp/pipeline.json - mv target/x86_64-pc-windows-msvc/flowey-ci/flowey_hvlite.exe ./flowey_bootstrap_temp/flowey.exe - workingDirectory: ../flowey_bootstrap - displayName: Stage flowey artifact - - task: CopyFiles@2 - displayName: Copy flowey artifact - inputs: - SourceFolder: ../flowey_bootstrap/flowey_bootstrap_temp - TargetFolder: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey - - bash: rm -rf ./flowey_bootstrap_temp - workingDirectory: ../flowey_bootstrap - displayName: Cleanup staged flowey artifact - - task: DownloadPipelineArtifact@2 - displayName: πŸŒΌπŸ“¦ Download x64-openhcl-igvm-cvm - inputs: - artifact: x64-openhcl-igvm-cvm - path: $(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm-cvm - - bash: | - set -e - AgentTempDirNormal="$(FLOWEY_TEMP_DIR)" - AgentTempDirNormal=$(echo "$AgentTempDirNormal" | sed -e 's|\\|\/|g' -e 's|^\([A-Za-z]\)\:/\(.*\)|/\L\1\E/\2|') - echo "##vso[task.setvariable variable=AgentTempDirNormal;]$AgentTempDirNormal" - - chmod +x $AgentTempDirNormal/bootstrapped-flowey/flowey.exe - FLOWEY_BIN="$AgentTempDirNormal/bootstrapped-flowey/flowey.exe" - echo "##vso[task.setvariable variable=FLOWEY_BIN;]$FLOWEY_BIN" - displayName: Set flowey path - - bash: |- - ESCAPED_AGENT_TEMPDIR=$( - cat <<'EOF' | sed 's/\\/\\\\/g' - $(FLOWEY_TEMP_DIR) - EOF - ) - $(FLOWEY_BIN) pipeline ado --runtime $ESCAPED_AGENT_TEMPDIR\\bootstrapped-flowey\\pipeline.yaml --out ci-flowey/openvmm-pr.yaml ci checkin-gates --config=pr - displayName: πŸŒΌπŸ”Ž Self-check YAML - - bash: | - set -e - echo '"debug"' | $FLOWEY_BIN v 22 'FLOWEY_LOG' update - echo "$(FLOWEY_TEMP_DIR)/work" | $FLOWEY_BIN v 22 '_internal_WORKING_DIR' --is-raw-string update - - cat <<'EOF' | tr '[:upper:]' '[:lower:]' | $FLOWEY_BIN v 22 'verbose' update - ${{ parameters.verbose }} - EOF - mkdir -p "$(AgentTempDirNormal)/publish_artifacts/x64-vmfirmwareigvm-cvm" - echo "$(FLOWEY_TEMP_DIR)/publish_artifacts/x64-vmfirmwareigvm-cvm" | $FLOWEY_BIN v 22 'artifact_publish_from_x64-vmfirmwareigvm-cvm' --is-raw-string update - echo "$(FLOWEY_TEMP_DIR)/used_artifacts/x64-openhcl-igvm-cvm" | $FLOWEY_BIN v 22 'artifact_use_from_x64-openhcl-igvm-cvm' --is-raw-string update - displayName: πŸŒΌπŸ›« Initialize job - - bash: $(FLOWEY_BIN) e 22 flowey_lib_common::install_rust 0 - displayName: install Rust - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::install_rust 1 - $(FLOWEY_BIN) e 22 flowey_lib_common::cfg_cargo_common_flags 0 - displayName: detect active toolchain - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::git_checkout 0 - $FLOWEY_BIN v 22 'flowey_lib_common::git_checkout:0:flowey_lib_common/src/git_checkout.rs' --is-raw-string --condvar flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs write-to-env ado floweyvar1 - $FLOWEY_BIN v 22 'flowey_lib_common::git_checkout:1:flowey_lib_common/src/git_checkout.rs' write-to-env ado FLOWEY_CONDITION - displayName: check if openvmm needs to be cloned - - checkout: self - path: repo0 - fetchTags: false - fetchDepth: 1 - persistCredentials: $(floweyvar1) - submodules: recursive - displayName: checkout repo openvmm - condition: and(eq(variables['FLOWEY_CONDITION'], true), succeeded(), not(canceled())) - - bash: |- - set -e - $FLOWEY_BIN v 22 'flowey_lib_common::git_checkout:4:flowey_lib_common/src/git_checkout.rs' --is-raw-string update --env-source Pipeline.Workspace <<'EOF' - $(Pipeline.Workspace) - EOF - $(FLOWEY_BIN) e 22 flowey_lib_common::git_checkout 3 - displayName: report cloned repo directories - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::system_info 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::git_checkout_openvmm_repo 0 - displayName: print system info - - bash: $(FLOWEY_BIN) e 22 flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings 0 - displayName: set '-Dwarnings' in .cargo/config.toml - - bash: $(FLOWEY_BIN) e 22 flowey_lib_common::download_gh_release 0 - displayName: create gh-release-download cache dir - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::cache 0 - $FLOWEY_BIN v 22 'flowey_lib_common::cache:1:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar2 - $FLOWEY_BIN v 22 'flowey_lib_common::cache:2:flowey_lib_common/src/cache.rs' --is-raw-string write-to-env ado floweyvar3 - displayName: Pre-processing cache vars - - task: Cache@2 - inputs: - key: $(floweyvar3) - path: $(floweyvar2) - cacheHitVar: FLOWEY_CACHE_HITVAR - displayName: 'Restore cache: gh-release-download' - - bash: |- - set -e - $FLOWEY_BIN v 22 'flowey_lib_common::cache:4:flowey_lib_common/src/cache.rs' --is-raw-string update --env-source FLOWEY_CACHE_HITVAR <<'EOF' - $(FLOWEY_CACHE_HITVAR) - EOF - $(FLOWEY_BIN) e 22 flowey_lib_common::cache 2 - displayName: map ADO hitvar to flowey - - bash: $(FLOWEY_BIN) e 22 flowey_lib_common::download_gh_release 1 - displayName: download artifacts from github releases - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::resolve_protoc 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::cfg_openvmm_magicpath 0 - displayName: unpack protoc - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::init_openvmm_magicpath_protoc 0 - $(FLOWEY_BIN) e 22 flowey_core::pipeline::artifact::resolve 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::build_vmfirmwareigvm_dll 0 - displayName: symlink protoc - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::build_vmfirmwareigvm_dll 1 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::init_cross_build 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::run_cargo_build 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::run_cargo_build 1 - displayName: determine vmfirmwareigvm_dll env vars - - bash: |- - set -e - $(FLOWEY_BIN) e 22 flowey_lib_common::run_cargo_build 0 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::run_cargo_build 2 - $(FLOWEY_BIN) e 22 flowey_lib_hvlite::build_vmfirmwareigvm_dll 2 - $(FLOWEY_BIN) e 22 flowey_core::pipeline::artifact::publish 0 - displayName: cargo build vmfirmwareigvm_dll - - bash: $(FLOWEY_BIN) e 22 flowey_lib_common::cache 3 - displayName: 'validate cache entry: gh-release-download' - - publish: $(FLOWEY_TEMP_DIR)/publish_artifacts/x64-vmfirmwareigvm-cvm - displayName: πŸŒΌπŸ“¦ Publish x64-vmfirmwareigvm-cvm - artifact: x64-vmfirmwareigvm-cvm - job: job10 displayName: build openhcl [aarch64-linux] pool: @@ -3223,7 +3044,7 @@ jobs: displayName: 🌼🧼 Redact bootstrap var db - publish: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey displayName: 🌼πŸ₯Ύ Publish bootstrapped flowey - artifact: _internal-flowey-bootstrap-x86_64-windows-uid-4 + artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3 - job: job6 displayName: build artifacts (not for VMM tests) [x64-windows] pool: @@ -4970,7 +4791,7 @@ jobs: - task: DownloadPipelineArtifact@2 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey inputs: - artifact: _internal-flowey-bootstrap-x86_64-windows-uid-4 + artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey - task: DownloadPipelineArtifact@2 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi @@ -5291,7 +5112,7 @@ jobs: - task: DownloadPipelineArtifact@2 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey inputs: - artifact: _internal-flowey-bootstrap-x86_64-windows-uid-4 + artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey - task: DownloadPipelineArtifact@2 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi @@ -5604,7 +5425,7 @@ jobs: - task: DownloadPipelineArtifact@2 displayName: 🌼πŸ₯Ύ Download bootstrapped flowey inputs: - artifact: _internal-flowey-bootstrap-x86_64-windows-uid-4 + artifact: _internal-flowey-bootstrap-x86_64-windows-uid-3 path: $(FLOWEY_TEMP_DIR)/bootstrapped-flowey - task: DownloadPipelineArtifact@2 displayName: πŸŒΌπŸ“¦ Download x64-guest_test_uefi diff --git a/flowey/flowey_hvlite/src/pipelines/build_reproducible.rs b/flowey/flowey_hvlite/src/pipelines/build_reproducible.rs index 15227339f85..cb254f5324e 100644 --- a/flowey/flowey_hvlite/src/pipelines/build_reproducible.rs +++ b/flowey/flowey_hvlite/src/pipelines/build_reproducible.rs @@ -125,6 +125,7 @@ impl IntoPipeline for BuildReproducibleCli { recipe, custom_target: Some(CommonTriple::Custom(openhcl_musl_target(recipe_arch))), extra_features: BTreeSet::new(), + extra_command_line: None, release_cfg: release, confidential_debug: false, }, diff --git a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs index 613dde2b4de..342e6df6583 100644 --- a/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs +++ b/flowey/flowey_hvlite/src/pipelines/checkin_gates.rs @@ -193,8 +193,10 @@ impl IntoPipeline for CheckinGatesCli { .as_triple() }; - let (pub_vmfirmwareigvm_cvm_x64, use_vmfirmwareigvm_cvm_x64) = - pipeline.new_typed_artifact("x64-vmfirmwareigvm-cvm"); + let vmgs_firmware_enabled = !matches!(backend_hint, PipelineBackendHint::Ado); + let (pub_vmfirmwareigvm_cvm_x64, use_vmfirmwareigvm_cvm_x64) = vmgs_firmware_enabled + .then(|| pipeline.new_typed_artifact("x64-vmfirmwareigvm-cvm")) + .unzip(); // initialize the various "VmmTestsArtifactsBuilder" containers, which // are used to "skim off" various artifacts that the VMM test jobs @@ -1079,7 +1081,7 @@ impl IntoPipeline for CheckinGatesCli { (matches!(config, PipelineConfig::Ci) && !mi_secure) .then(|| pipeline.new_typed_artifact(artifact_name_openhcl_baseline(arch))) .unzip(); - if arch == CommonArch::X86_64 && !mi_secure { + if vmgs_firmware_enabled && arch == CommonArch::X86_64 && !mi_secure { use_openhcl_cvm_for_vmfirmwareigvm_dll = use_openhcl_igvms.get(&OpenhclIgvmRecipe::X64Cvm).cloned(); } @@ -1132,10 +1134,17 @@ impl IntoPipeline for CheckinGatesCli { let pub_openhcl_igvm = pub_openhcl_igvms.remove(&recipe).unwrap(); let pub_openhcl_igvm_extras = pub_openhcl_igvms_extras.remove(&recipe).unwrap(); + let extra_command_line = (vmgs_firmware_enabled + && !mi_secure + && recipe == OpenhclIgvmRecipe::X64Cvm) + .then(|| { + petri_artifacts_vmm_test::artifacts::vmfw_dll::CVM_X64_BOOT_MARKER.into() + }); ( OpenhclIgvmBuildParams { profile: openvmm_hcl_profile, recipe, + extra_command_line, custom_target: Some(CommonTriple::Custom( openhcl_musl_target(arch), )), @@ -1425,8 +1434,9 @@ impl IntoPipeline for CheckinGatesCli { })?; Box::new(move |ctx| { let mut artifacts = resolve(ctx); - artifacts.vmfirmwareigvm_cvm_x64 = - Some(ctx.use_typed_artifact(&use_vmfirmwareigvm_cvm_x64)); + artifacts.vmfirmwareigvm_cvm_x64 = use_vmfirmwareigvm_cvm_x64 + .as_ref() + .map(|artifact| ctx.use_typed_artifact(artifact)); artifacts }) }; @@ -1937,7 +1947,7 @@ impl IntoPipeline for CheckinGatesCli { all_jobs.push(distro_build_job); } - { + if let Some(pub_vmfirmwareigvm_cvm_x64) = pub_vmfirmwareigvm_cvm_x64 { let use_openhcl_cvm = use_openhcl_cvm_for_vmfirmwareigvm_dll.unwrap(); let job = pipeline .new_job( @@ -1946,12 +1956,11 @@ impl IntoPipeline for CheckinGatesCli { "build vmfirmwareigvm cvm [x64-windows]", ) .gh_set_pool(gh_pools::default_windows()) - .ado_set_pool(ado_pools::default_windows()) .dep_on( move |ctx| flowey_lib_hvlite::build_vmfirmwareigvm_dll::Request { arch: CommonArch::X86_64, igvm_bin: flowey_lib_hvlite::build_vmfirmwareigvm_dll::IgvmInput::Openhcl( - ctx.use_typed_artifact(&use_openhcl_cvm), + Box::new(ctx.use_typed_artifact(&use_openhcl_cvm)), ), resource_id: flowey_lib_hvlite::build_vmfirmwareigvm_dll::SNP_RESOURCE_ID, dll_version: ReadVar::from_static( diff --git a/flowey/flowey_lib_hvlite/Cargo.toml b/flowey/flowey_lib_hvlite/Cargo.toml index 06187aec892..e7ce64c1199 100644 --- a/flowey/flowey_lib_hvlite/Cargo.toml +++ b/flowey/flowey_lib_hvlite/Cargo.toml @@ -29,6 +29,7 @@ which.workspace = true [dev-dependencies] tempfile.workspace = true +test_with_tracing.workspace = true [target.'cfg(windows)'.dependencies] crossterm = { workspace = true, features = ["windows"] } diff --git a/flowey/flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs b/flowey/flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs index 8ab36ef9b0d..9396269a05b 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs @@ -28,6 +28,8 @@ pub struct OpenhclIgvmBuildParams { pub custom_target: Option, /// Additional features to enable on top of the recipe's defaults. pub extra_features: BTreeSet, + /// Append to the measured OpenHCL command line before generating the IGVM. + pub extra_command_line: Option, /// Whether to use release configuration (release manifests, no gdb, etc.). pub release_cfg: bool, /// Add the confidential debug flag to the measured OpenHCL command line, @@ -84,6 +86,7 @@ impl SimpleFlowNode for Node { recipe, custom_target, extra_features, + extra_command_line, release_cfg, confidential_debug, }, @@ -97,6 +100,7 @@ impl SimpleFlowNode for Node { release_cfg, recipe: OpenhclIgvmRecipeType::WellKnown(recipe.clone()), extra_features: extra_features.clone(), + extra_command_line, disable_secure_avic: false, confidential_debug, openhcl_igvm, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs index 4f839a332a1..28eb22073d6 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_build_and_run_nextest_vmm_tests.rs @@ -230,6 +230,11 @@ impl SimpleFlowNode for Node { recipe: custom_recipe, custom_target: None, extra_features: BTreeSet::new(), + extra_command_line: (build.vmfirmwareigvm_cvm + && recipe == OpenhclIgvmRecipe::X64Cvm) + .then(|| { + petri_artifacts_vmm_test::artifacts::vmfw_dll::CVM_X64_BOOT_MARKER.into() + }), disable_secure_avic, confidential_debug: true, openhcl_igvm, @@ -285,7 +290,9 @@ impl SimpleFlowNode for Node { .context("the CVM firmware DLL requires an x64 CVM IGVM")?; Some(ctx.reqv(|v| crate::build_vmfirmwareigvm_dll::Request { arch: CommonArch::X86_64, - igvm_bin: crate::build_vmfirmwareigvm_dll::IgvmInput::Openhcl(openhcl_cvm), + igvm_bin: crate::build_vmfirmwareigvm_dll::IgvmInput::Openhcl(Box::new( + openhcl_cvm, + )), resource_id: crate::build_vmfirmwareigvm_dll::SNP_RESOURCE_ID, dll_version: ReadVar::from_static( crate::build_vmfirmwareigvm_dll::UNUSED_DLL_VERSION, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs index b20616e56d9..904b6444b72 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs @@ -258,6 +258,7 @@ impl SimpleFlowNode for Node { recipe: OpenhclIgvmRecipeType::LocalOnlyCustom(recipe_details), custom_target: None, extra_features: BTreeSet::new(), + extra_command_line: None, disable_secure_avic, confidential_debug, openhcl_igvm: write_openhcl_igvm, diff --git a/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs b/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs index a70c437c33c..c1ae6602d16 100644 --- a/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs +++ b/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs @@ -577,6 +577,8 @@ flowey_request! { pub custom_target: Option, /// Additional features to enable on top of the recipe's defaults. pub extra_features: BTreeSet, + /// Append to the measured OpenHCL command line before generating the IGVM. + pub extra_command_line: Option, pub disable_secure_avic: bool, /// Add the confidential debug flag to the measured OpenHCL command /// line, enabling confidential diagnostics on CVM builds. @@ -615,6 +617,7 @@ impl SimpleFlowNode for Node { recipe, custom_target, extra_features, + extra_command_line, disable_secure_avic, confidential_debug, openhcl_igvm, @@ -959,6 +962,23 @@ impl SimpleFlowNode for Node { IgvmManifestPath::LocalOnlyCustom(p) => ReadVar::from_static(p), }; + let manifest = if let Some(extra_command_line) = extra_command_line { + ctx.emit_rust_stepv("extend measured OpenHCL command line", |ctx| { + let manifest = manifest.claim(ctx); + move |rt| { + let manifest = rt.read(manifest); + let mut config = serde_json::from_slice(&fs_err::read(&manifest)?) + .context("reading IGVM manifest")?; + append_openhcl_command_line(&mut config, &extra_command_line)?; + let path = std::env::current_dir()?.join("igvm-manifest.json"); + fs_err::write(&path, serde_json::to_vec_pretty(&config)?)?; + Ok(path) + } + }) + } else { + manifest + }; + let igvm = ctx.reqv(|v| crate::run_igvmfilegen::Request { igvmfilegen, manifest, @@ -1008,6 +1028,28 @@ impl SimpleFlowNode for Node { } } +fn append_openhcl_command_line( + config: &mut igvmfilegen_config::Config, + extra_command_line: &str, +) -> anyhow::Result<()> { + anyhow::ensure!( + !extra_command_line.trim().is_empty(), + "extra OpenHCL command line must not be empty" + ); + let mut found_openhcl = false; + for guest in &mut config.guest_configs { + if let igvmfilegen_config::Image::Openhcl { command_line, .. } = &mut guest.image { + if !command_line.is_empty() { + command_line.push(' '); + } + command_line.push_str(extra_command_line); + found_openhcl = true; + } + } + anyhow::ensure!(found_openhcl, "IGVM manifest contains no OpenHCL image"); + Ok(()) +} + #[derive(Debug)] pub struct UefiResource { pub msvm_fd: ReadVar, @@ -1062,3 +1104,85 @@ impl Vtl0KernelResource { resources.insert(ResourceType::LinuxInitrd, initrd); } } + +#[cfg(test)] +mod tests { + use super::append_openhcl_command_line; + use igvmfilegen_config::Config; + use petri_artifacts_vmm_test::artifacts::vmfw_dll::CVM_X64_BOOT_MARKER; + use serde_json::json; + use test_with_tracing::test; + + #[test] + fn append_vmgs_marker_preserves_manifest() { + let mut expected = json!({ + "guest_arch": "x64", + "guest_configs": [ + { + "guest_svn": 1, + "max_vtl": 2, + "isolation_type": {"snp": { + "shared_gpa_boundary_bits": 46, + "policy": 196639, + "enable_debug": true, + "injection_type": "normal", + "secure_avic": "enabled" + }}, + "image": {"openhcl": { + "command_line": "OPENHCL_CONFIDENTIAL_DEBUG=1", + "memory_page_count": 262144, + "memory_page_base": 32768, + "uefi": true + }} + }, + { + "guest_svn": 1, + "max_vtl": 2, + "isolation_type": {"vbs": {"enable_debug": true}}, + "image": {"openhcl": { + "command_line": "", + "static_command_line": true, + "memory_page_count": 163840 + }} + }, + { + "guest_svn": 1, + "max_vtl": 0, + "isolation_type": "none", + "image": "none" + } + ] + }); + let mut config: Config = serde_json::from_value(expected.clone()).unwrap(); + append_openhcl_command_line(&mut config, CVM_X64_BOOT_MARKER).unwrap(); + + expected["guest_configs"][0]["image"]["openhcl"]["command_line"] = + format!("OPENHCL_CONFIDENTIAL_DEBUG=1 {CVM_X64_BOOT_MARKER}").into(); + expected["guest_configs"][1]["image"]["openhcl"]["command_line"] = + CVM_X64_BOOT_MARKER.into(); + assert_eq!(serde_json::to_value(config).unwrap(), expected); + } + + #[test] + fn extra_command_line_requires_openhcl_image() { + let mut config = Config { + guest_arch: igvmfilegen_config::GuestArch::X64, + guest_configs: Vec::new(), + }; + let error = append_openhcl_command_line(&mut config, CVM_X64_BOOT_MARKER).unwrap_err(); + assert_eq!(error.to_string(), "IGVM manifest contains no OpenHCL image"); + } + + #[test] + fn extra_command_line_must_not_be_empty() { + let mut config = Config { + guest_arch: igvmfilegen_config::GuestArch::X64, + guest_configs: Vec::new(), + }; + let error = append_openhcl_command_line(&mut config, " \t").unwrap_err(); + assert_eq!( + error.to_string(), + "extra OpenHCL command line must not be empty" + ); + } +} diff --git a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs index 1aa8be35468..a86defef7c7 100644 --- a/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs +++ b/flowey/flowey_lib_hvlite/src/build_vmfirmwareigvm_dll.rs @@ -12,11 +12,10 @@ use std::collections::BTreeMap; pub const UNUSED_DLL_VERSION: (u16, u16, u16, u16) = (0, 0, 0, 0); pub const SNP_RESOURCE_ID: u32 = 13515; -#[expect(clippy::large_enum_variant)] #[derive(Serialize, Deserialize)] pub enum IgvmInput { File(ReadVar), - Openhcl(ReadVar), + Openhcl(Box>), } #[derive(Serialize, Deserialize)] diff --git a/openhcl/vmfirmwareigvm_dll/build.rs b/openhcl/vmfirmwareigvm_dll/build.rs index 34c6ff1ee57..35cb903fd34 100644 --- a/openhcl/vmfirmwareigvm_dll/build.rs +++ b/openhcl/vmfirmwareigvm_dll/build.rs @@ -132,6 +132,7 @@ fn main() { println!("cargo:rustc-link-arg=/NOENTRY"); // resource DLL println!("cargo:rerun-if-changed=build.rs"); println!("cargo:rerun-if-changed=resources.rc"); + println!("cargo:rerun-if-changed={uh_igvm_path}"); embed_resource::compile("resources.rc", macros.map(|(k, v)| format!("{k}={v}"))) .manifest_required() .unwrap(); diff --git a/vmm_tests/petri_artifacts_vmm_test/src/lib.rs b/vmm_tests/petri_artifacts_vmm_test/src/lib.rs index acde568b878..5199d40bc89 100644 --- a/vmm_tests/petri_artifacts_vmm_test/src/lib.rs +++ b/vmm_tests/petri_artifacts_vmm_test/src/lib.rs @@ -806,6 +806,9 @@ pub mod artifacts { /// Filename used for [`enum@LATEST_CVM_X64`] in the VMM test content directory pub const LATEST_CVM_X64_FILE_NAME: &str = "vmfirmwareigvm-cvm-x64.dll"; + /// Measured kernel command-line marker identifying the VMGS test firmware. + pub const CVM_X64_BOOT_MARKER: &str = "OPENHCL_VMGS_TEST=1"; + declare_artifacts! { /// An x64 CVM OpenHCL resource DLL LATEST_CVM_X64, diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs index 754f9a84b88..282e5142e98 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs @@ -9,6 +9,9 @@ use petri::ResolvedArtifact; use petri::run_host_cmd; use petri_artifacts_common::tags::IsVmgsTool; use petri_artifacts_vmm_test::artifacts::test_vmgs::VMGS_WITH_BOOT_ENTRY; +#[cfg(windows)] +use petri_artifacts_vmm_test::artifacts::vmfw_dll::CVM_X64_BOOT_MARKER; +#[cfg(windows)] use petri_artifacts_vmm_test::artifacts::vmfw_dll::LATEST_CVM_X64; use petri_artifacts_vmm_test::artifacts::vmgstool::VMGSTOOL_DEV_NATIVE; use petri_artifacts_vmm_test::artifacts::vmgstool::VMGSTOOL_NATIVE; @@ -151,9 +154,8 @@ async fn vmgstool_create( Ok(()) } -const VMGS_CAPACITY: u64 = 64 * 1024 * 1024; - /// Verifies `copy-igvmfile` by booting OpenHCL from the resulting VMGS. +#[cfg(windows)] #[vmm_test( hyperv_openhcl_uefi_x64[snp](vhd(windows_datacenter_core_2025_x64_prepped))[VMGSTOOL_NATIVE, LATEST_CVM_X64], )] @@ -164,6 +166,8 @@ async fn vmgstool_copy_igvmfile( ResolvedArtifact, ), ) -> Result<(), anyhow::Error> { + const VMGS_CAPACITY: u64 = 64 * 1024 * 1024; + let temp_dir = tempfile::tempdir()?; let vmgs_path = temp_dir.path().join("test.vmgs"); let vmgstool_path = vmgstool.get(); @@ -193,7 +197,14 @@ async fn vmgstool_copy_igvmfile( .run() .await?; - vm.test_inspect_openhcl().await?; + let vtl2_agent = vm.wait_for_vtl2_agent().await?; + let command_line = vtl2_agent.unix_shell().read_file("/proc/cmdline").await?; + anyhow::ensure!( + command_line + .split_ascii_whitespace() + .any(|arg| arg == CVM_X64_BOOT_MARKER), + "OpenHCL did not boot the VMGS test firmware: missing measured marker {CVM_X64_BOOT_MARKER:?} in {command_line:?}" + ); agent.power_off().await?; vm.wait_for_clean_teardown().await?; From 0dc2ed0bacc082201f88c5043c1e95c499374e69 Mon Sep 17 00:00:00 2001 From: Katja Momcilov Date: Tue, 22 Sep 2026 12:44:34 +0200 Subject: [PATCH 7/7] vmm-tests: size VMGS to fit the firmware payload Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs index 282e5142e98..e46d7319478 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch/vmgs.rs @@ -166,7 +166,15 @@ async fn vmgstool_copy_igvmfile( ResolvedArtifact, ), ) -> Result<(), anyhow::Error> { - const VMGS_CAPACITY: u64 = 64 * 1024 * 1024; + const VMGS_HEADROOM: u64 = 64 * 1024 * 1024; + + // The DLL bounds the IGVM size; reserve space for metadata and other guest state. + let firmware_dll_size = fs_err::metadata(vmfw_dll.get())?.len(); + let vmgs_capacity = firmware_dll_size + .checked_add(VMGS_HEADROOM) + .and_then(|size| size.checked_next_multiple_of(1024 * 1024)) + .ok_or_else(|| anyhow::anyhow!("firmware DLL is too large to size the VMGS"))?; + tracing::info!(firmware_dll_size, vmgs_capacity, "sizing VMGS for firmware"); let temp_dir = tempfile::tempdir()?; let vmgs_path = temp_dir.path().join("test.vmgs"); @@ -177,7 +185,7 @@ async fn vmgstool_copy_igvmfile( .arg("--filepath") .arg(&vmgs_path) .arg("--file-size") - .arg(VMGS_CAPACITY.to_string()); + .arg(vmgs_capacity.to_string()); run_host_cmd(cmd).await?; let mut cmd = Command::new(vmgstool_path);